- Pydantic vừa mở chương trình bounty Hack Monty, trả $5,000 cho ai đọc được /app/secret.txt hoặc biến môi trường SECRET trên host chạy sandbox Python Monty.
- Đây là một bài kiểm thử công khai cho kiến trúc whitelist viết bằng Rust, khởi động trong 4 micro giây và được thiết kế riêng để chạy code do AI agent sinh ra.
TL;DR
Pydantic vừa công bố Hack Monty: thưởng $5,000 USD cho ai escape được sandbox Python Monty tại hackmonty.com và đọc ra /app/secret.txt hoặc biến môi trường SECRET trên host. Bounty một phần cho lỗ hổng ở dependency (Pydantic, Starlette, Uvicorn, PyO3) hoặc Logfire. First-come-first-served, mỗi vuln chỉ trả một lần.

Có gì mới
Samuel Colvin (founder Pydantic) tự tay đăng tweet "I may live to regret this" để mở bounty công khai cho Monty — interpreter Python tối giản viết bằng Rust mà Pydantic open-source hồi tháng 2/2026. Khác với chương trình bug bounty truyền thống chạy qua HackerOne, lần này Pydantic dựng hẳn một honeypot trực tiếp tại hackmonty.com: bạn POST code Python lên /run/, server chạy trong Monty, và mục tiêu là rút được secret ra ngoài.
Vì sao quan trọng
Sandbox cho code do LLM sinh ra đang là vấn đề nóng. Mọi framework agent từ OpenAI Code Interpreter, E2B, Modal đến Daytona đều phải trả lời câu hỏi: chạy code không trust ở đâu cho an toàn mà vẫn rẻ và nhanh? Cách phổ biến hiện nay là containerize (Docker, microVM Firecracker) — nhưng startup mất hàng trăm mili giây tới vài giây, làm hỏng UX của agent loop chạy hàng chục lần liên tiếp.
Monty đi ngược: thay vì chứa CPython trong container và blacklist syscall, nó tự viết một bytecode VM bằng Rust, mặc định không có gì — không filesystem, không env, không network — và developer tự inject từng function muốn cho phép. Bounty $5,000 chính là cách Pydantic kiểm chứng kiến trúc đó dưới mắt cộng đồng.
Số liệu kỹ thuật
| Chỉ số | Monty | Docker | Pyodide | E2B / Modal |
|---|---|---|---|---|
| Startup latency | 0.004 ms | 195 ms | 2,800 ms | ~1,000 ms+ |
| Memory overhead | ~5 MB | 50–200 MB | ~50 MB | VM-level |
| Snapshot size | vài KB | image MB-GB | WASM bundle MB | MB |
| Cách cô lập | Whitelist capability | Container blacklist | WASM | microVM |
Monty là 69.6% Rust, 27.5% Python, dùng parser của Ruff và bundle type-checker ty. Cài bằng uv add pydantic-monty hoặc pip install pydantic-monty, package ~4.5 MB, license MIT.

So sánh cách tiếp cận
Đa số sandbox hiện tại chọn cách "có tất cả rồi cấm dần". Monty chọn "không có gì rồi cấp dần":
- Docker / Firecracker: chứa cả OS, dựa vào kernel namespace + seccomp. An toàn nếu kernel không có lỗ hổng, nhưng startup chậm và bề mặt tấn công lớn.
- Pyodide: compile CPython sang WASM, an toàn nhờ trình duyệt, nhưng khởi động ~2.8 giây và thiếu nhiều stdlib.
- Monty: không phải CPython, không phải WASM. VM bytecode riêng, mọi I/O đều phải đi qua function host inject. Không thể "import os" rồi đọc file vì module
osmặc định không tồn tại.
Simon Willison đã thử nghiệm compile cả Monty sang WebAssembly và nhúng nó vào Pyodide — sandbox-trong-sandbox — minh hoạ rằng các cách tiếp cận có thể chồng lên nhau thay vì loại trừ.
Use case
- AI agent code execution: agent tạo Python để xử lý song song, vòng lặp, điều kiện — rẻ hơn nhiều so với chuỗi tool call tuần tự.
- Edge / embedded: snapshot vài KB, memory ~5 MB, chạy được trên thiết bị nhỏ.
- Function-as-a-service nội bộ: chạy logic người dùng trong SaaS mà không cần container per-request.
- Notebook / data tool nơi cần thực thi snippet không tin cậy với độ trễ thấp.
Giới hạn & điều kiện bounty
- $5,000 full bounty: đọc được
/app/secret.txthoặc envSECRETqua lỗ hổng trong Monty + có PoC. - Bounty một phần (tuỳ Pydantic): bug ở Starlette/Uvicorn/PyO3, bug Logfire instrumentation, hoặc lộ thông tin host mà chưa rút được secret.
- Không có bounty: DoS, crash, panic, stack overflow, seg fault, leak CPU/RAM, bug compatibility với CPython.
- Cấm tuyệt đối: gửi PR cố tình tạo lỗ hổng vào Monty hoặc dependency — bị block và report là malicious actor; cấm social engineering, DoS, tấn công hạ tầng Render.
- Trả tiền: qua GitHub Sponsors — Mercury bank, người thắng phải có tài khoản ngân hàng ở quốc gia được hỗ trợ.
- Feature gap của Monty: chưa có
class,match, context manager (đang plan); không hỗ trợ third-party package.
What's next
Roadmap Monty: bổ sung class, match, context manager và mở rộng stdlib (re, datetime, json sắp ra). Bounty Hack Monty không có deadline cố định — Pydantic ghi rõ "có thể dừng bất cứ lúc nào". Submit qua form roast-us.pydantic.dev/hackmonty hoặc kênh #monty trong Slack của Pydantic.
Nếu bạn quan tâm an toàn cho code do AI sinh ra, đây là cơ hội hiếm để vừa khám phá một kiến trúc sandbox mới vừa kiếm $5,000. Đọc chi tiết tại pydantic.dev/articles/hack-monty và bắt đầu hack tại hackmonty.com.
Nguồn: pydantic.dev, hackmonty.com, simonwillison.net, github.com/pydantic/monty, @samuelcolvin.

