
DeadBolt by NextEleven
io.github.seanebones-lang由 GitHub 帳號 seanebones-lang 發布v2.0.1更新於 Nov 4, 2026
Local execution gate: fixed deadlines, operator-only controls, read-only setup and readable denials.
概覽
DeadBolt 是本地執行閘門,讓助理的工具呼叫只有在策略、截止時間與操作員核准允許時才真正執行。
- 可以做什麼
- 攔截受保護動作:把受信任的 stdio MCP 伺服器包裝成代理,每次工具呼叫都需重新取得准入後才執行。
- 套用策略與限制:工具與目的地策略、回報支出上限、暫停、剪輯與操作員終止,並具備固定執行截止時間與子層繼承的上層限制。
- 記錄證據:SQLite 證據、JSONL 鏡像以及依代理匯出的事件紀錄。
- 檢查設定:空白設定下只會暴露兩個唯讀設定工具,且沒有任何保護生效。
- 從程式碼整合:可嵌入 Rust、從 Python 等語言呼叫本機 sidecar,或使用 OpenAI Agents SDK 與 FastMCP 轉接器。
- 適用情境
- 當代理執行的動作需要在生效前接受檢查,且你希望有拒絕、截止時間與操作員終止開關,而不是完全信任代理時使用。適合把受信任的 stdio MCP 伺服器或自有執行器接到本機策略閘門的團隊。
- 執行需求
- 以本機程序方式在使用者電腦上執行(僅桌面端,stdio)。不需要模型帳號、API 金鑰、雲端服務或資料庫伺服器。套件組合需要固定截止時間、明確的續期模式與經審閱的離線例外;Python 評估路徑需要 Python 3.9+,原始碼建置需要 Rust 1.85+ 與原生 C 編譯器/連結器。版本 2 的 Unix 與 TCP sidecar 需要經過驗證的操作員設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 DeadBolt by NextEleven,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
DeadBolt
Contributing with an agent? Read AGENTS.md for setup, local checks and project boundaries.
A local execution gate for software agents. Put DeadBolt in the code that runs an action, then let policy and operator controls decide whether that action runs. Embed it in Rust, call its local sidecar from another language, or wrap a trusted stdio MCP server. Free under Apache-2.0.
Install · Try it · Integrate · Migration · Project site
Recent evaluation evidence: ProtocolProbe's read-only setup inspection and NextEleven's separate Swarm native integration lab, with their tested scopes and remaining limits.
[CI] [Release] [License: Apache-2.0]
Version 2.0.1
This source targets engine 2.0.1 and Python client 2.0.1. The patch fixes MCP spend sequencing on denied calls and requires independent admission for every MCP tool invocation; the version 2 integration boundaries remain unchanged. Versioned releases identify available downloads, exact source and checksums; installation tracks package-manager, bundle and editor availability separately. A source merge does not publish a package or update a directory listing.
Upgrading an existing install? Engine, Python client, editor plugins and running sidecars are separate copies. Installing one does not upgrade the others. Use the distribution status and upgrade checklist to identify your route, verify its actual version and select the matching download.
Version 2 requires authenticated operator setup for Unix and TCP sidecars, creates private state, defaults fresh roots to supervisor renewal, and enforces ancestor policy and fixed run deadlines. Existing stored renewal modes remain unchanged. Read major-version migration and private state before replacing an older installation.
The artifact-pinned RC3 retest passed conflicting-destination denial, damaged-store Cursor Reload refusal, and actual model calls after a fixed deadline on macOS arm64. The underlying Auto model was unknown. Separate Linux headless checks cover their recorded scope. These are execution receipts, not certification; stable artifact and installed-consumer checks remain distinct from the RC3 results.
Try it before connecting an agent
No model account, API key, Harness, cloud service or database server is needed. Choose a checksum-verified native archive in the installation guide. From its extracted directory on macOS/Linux:
On Windows, use .\deadbolt.exe --version, .\deadbolt.exe drill and
python examples/evaluate.py --binary .\deadbolt.exe.
Expected: your selected version, deadbolt drill ok, and JSON with "passed": true.
The evaluation starts a private sidecar, writes harmless temporary files, checks
that policy, approval, kill and outage block effects, and cleans up afterward.
Python 3.9+ is the additional runtime needed. Understand the report.
For a reviewed source checkout, Rust 1.85+ and a native C compiler/linker:
The matching Python client 2.0.1 is published. The matching Rust package 2.0.1 is also published. Install the CLI from Cargo, or the Python client in your application environment:
For embedded Rust, use deadbolt = { package = "n11-deadbolt", version = "=2.0.1" }
and commit your application's own lockfile. The Python wheel contains the client,
not the engine. Node remains a bundled source module. Install and verify.
Pick your integration
Choose the exact bundle and matching configuration before installation. Blank configuration exposes two read-only setup tools and provides no active protection. Configured tools come from your trusted downstream server. Version 2 bundle runs require a fixed deadline, deliberate renewal mode and reviewed offline exceptions. The bundle uses broad one-shot tool approvals; it does not provision exact-action grants. Configuration · Editor guide.
Download the current bundle from the explicit 2.0.1 release. The official MCP Registry still advertised 2.0.0 at the November 3 audit; verify its actual version and checksum rather than assuming discovery means the newest release. Discovery is not hosted operator access, marketplace acceptance of another submission, or an endorsement.
Put the gate at the effect
Your trusted executor creates the run and configures policy first. With the matching Python client installed and its sidecar configured:
A fresh admission happens before the callback; a denial leaves the body uncalled.
Complete setup covers provisioning, policy, credentials,
transport and errors. Wrap every protected route. Never cache an allow or split
one-shot admission from execution. ensure confirms record presence, not liveness.
Controls and limits
- Tool and destination policies, reported-spend caps, pause, clips and operator kill.
- Default 60-second idle TTL. A separate supervisor maintains fresh runs; explicit activity mode is available. Neither mode can move a fixed deadline or revive expired/killed state. Liveness · Deadlines.
- Descendants obey ancestor restrictions. A child policy cannot widen its parent.
- Broad one-shot tool approvals and exact-action grants for trusted integrations using the content-bound API.
- Scoped admission credentials separate dispatch from
operator controls.
/spendremains operator-only. - SQLite evidence, JSONL mirrors and per-agent incident exports.
- Store or transport failure denies protected dispatch; malformed or unsuccessful responses never authorize the body.
Ordinary trusted-executor admission treats unset policy lists as open; the MCP proxy requires explicit tool policy. Configure runs and children before dispatch. MCP discovery can advertise tools that the policy will deny. Destination parsing covers recognized fields, not arbitrary arguments or network traffic. Destination policy.
Know the boundary
DeadBolt protects connected execution routes. It does not sandbox arbitrary code, stop a provider, or make external effects transactional with admission. Kill blocks subsequent admissions; stopping in-flight work requires an executor cancellation pattern. The MCP child remains trusted and has OS access; startup and non-tool methods are outside the tool-call gate.
Keep state and operator authority outside untrusted agent processes. A process able to write the database or invoke the operator CLI has operator authority; socket credentials cannot contain it. Use separate OS/service ownership and OS egress controls where your application requires those boundaries. Evidence hashes identify content; operator-writable records are not tamper-proof certification. Trust · HTTP authentication · Pilot checklist.
Developer documentation
Source checks: cargo test --locked, cargo clippy --all-targets --locked -- -D warnings,
and python3 tests/client_contract.py after cargo build --locked --bin deadbolt
(Python and Node required). CI also checks Rust 1.85, installed Python/SDK behavior
and native packages. Passing these checks does not establish acceptance of your application.
Report ordinary bugs or use private security reporting. Copyright NextEleven LLC 2026. License · Notice. Harness is one consumer, not a prerequisite.
For trusted executors that need to stop already running local commands, the owned-process cancellation reference adds a POSIX supervisor pattern with disposable acceptance. It does not change the gate into a sandbox or add enforcement to older packages.
來源:README.md,提交 2247fbe
工具
0版本歷史
5- v2.0.1最新Nov 4, 2026
- v2.0.0Oct 13, 2026
- v2.0.0-rc.2Oct 12, 2026
- v2.0.0-rc.1Oct 12, 2026
- v1.1.0Oct 12, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
