
Deus Witness
io.github.sipkigroup由 GitHub 账号 sipkigroup 发布v0.2.58更新于 Nov 7, 2026
MCP proxy: holds risky tool calls for passkey approval; signed receipts you can check offline.
概览
一个 stdio MCP 代理,把有风险的智能体工具调用挂起等待通行密钥批准,并签发可离线校验的签名回执。
- 可以做什么
- 把任意 MCP 服务器置于代理之后,让工具调用在执行前先按你签署的授权规则校验
- 得到允许、拒绝或延后三种决定,延后的调用等待你的通行密钥批准
- 获得针对决定的签名、仅追加回执,并用独立校验器离线验证
- 用一条命令启动试用,自动创建试用账户并引导完成通行密钥操作
- 通过 TypeScript、Python 客户端或 HTTP API 契约接入其他语言
- 适用场景
- 当你希望对 AI 智能体即将用工具做什么进行独立核查,并留下“谁批准了哪次操作”的可审计记录时值得加入。适合愿意测试甚至攻击这一早期控制机制的人,不适合需要经过认证的安全边界的人。
- 运行要求
- 以 stdio 本地进程运行,通过 uvx 或 pip 安装(Python 3.10+ 需在虚拟环境中);Claude Code 插件需要 Claude Code 2.1.295+ 和 uv,支持 macOS、Linux、WSL。需要托管服务账户中的 DEUS_WITNESS_KEY 智能体密钥,并能访问该服务;DEUS_WITNESS_URL 可指向其他见证服务。
安装
在 SourceWeft 中
- 打开 控制台中的 Deus Witness,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Deus Witness
A witness service for AI-agent tool calls. Your agent asks before it acts; a witness outside the agent
checks the call against a mandate you signed, and answers allow, deny or defer (wait for you). A decision made against your mandate is a signed,
append-only receipt you can verify offline (a few automatic refusals, e.g. a call before any mandate or over a rate limit, are kept only in the server database) - so "what did the agent do, and who allowed it" has an answer you do not have to take on trust.
Install and try (one command): uvx --from deus-witness deus-witness try - or in Claude Code /plugin marketplace add sipkigroup/witness, then /plugin install deus-witness@sipkigroup.
As an MCP proxy (stdio; after -- put the MCP server you want witnessed; the bundled demo server records calls to a file and does nothing real): uvx deus-witness -- deus-witness-demo-tools, with DEUS_WITNESS_KEY (dwk_..., from your account at the hosted service) set.
- Hosted service: https://witness.sipkigroup.com - live demo: https://witness.sipkigroup.com/demo
- This repository: the open parts - the receipt specification, two separate verifiers, the TypeScript client, the Python client and the HTTP API contract (OpenAPI, data only).
Status: early (0.x). The specification is an individual draft in
spec/(not an IETF standard, not submitted to the IETF). The evidence so far is our own simulations and separate implementations written from the spec by one author; there are no external audits or deployments yet. Treat it as something to test and attack, not as a certified security boundary. Reports of bypasses are the most valuable thing you can send us.
Try it in Claude Code
Needs Claude Code 2.1.295+ and uv (curl -LsSf https://astral.sh/uv/install.sh | sh); macOS, Linux, WSL.
try makes a trial account and opens a page in your browser. The first tool call that needs you waits; the page asks for two passkey touches (one makes your passkey, one signs the recommended rules), then that call is decided - allowed, refused, or shown to you for one more touch. Until your first touch a call waits up to 90 s, then it is refused (TRIAL_NOT_CLAIMED): ask again after the touches. A trial account has no phone notifications: the call waits for you on that page. A trial account you do not keep is erased after 7 days.
/plugin install opens the plugin panel: pick a scope and install; if it says so, run /reload-plugins.
Without the plugin: uvx --from deus-witness deus-witness try (pip install deus-witness only with Python 3.10+ in a venv).
What is here
In this repo, all Apache-2.0 and run locally: the complete MCP server (deus-witness-mcp, a stdio proxy you put in front of any MCP server), the Claude Code hook and plugin, the offline verifiers and the specs.
Not in this repo: the hosted Witness API that the MCP server calls, like any API-backed MCP server calls its API (passkey approvals, the signed journal). It is run by the author and is not covered by this license; packs it issues are checked offline with the verifiers here, so you don't have to trust it.
You can implement your own witness from spec/ and contract/.
Use it
Claude Code: the three commands above (the one-step form /plugin install deus-witness --marketplace sipkigroup/witness also exists in Claude Code 2.1.275 or later); see plugins/deus-witness/README.md.
The hosted service is at https://witness.sipkigroup.com. From TypeScript: npm install @deus-witness/sdk (see sdk-ts/README.md). From Python, or to put any MCP server behind the witness: pip install deus-witness (Python 3.10+ in a venv) or, with no install, uvx deus-witness -- <your MCP server command> (MCP Registry: io.github.sipkigroup/witness; see python/README.md; setup: https://witness.sipkigroup.com/dl/docs/quickstart.html).
Any other language: speak HTTP, see contract/openapi.yaml and integrations/.
Honest limits
- A witness cannot know what an action really does beyond what the tool map and the operator's description say; it checks the call against your mandate. Routes that do not go through the witness are not covered.
- The TypeScript client does not verify receipt signatures yet (the verifiers here do). Do not treat an
allowseen through it as cryptographically checked. - If the witness is unreachable, calls should be blocked (fail closed). That is a safety choice that costs availability.
Verify the receipts yourself
If two implementations disagree on a vector, one of them (or the spec) is wrong - please open an issue with the vector.
Security, contributing, license
- Vulnerabilities:
SECURITY.md([email protected]). Contributions:CONTRIBUTING.md. - Apache License 2.0 (
LICENSE,NOTICE). Copyright 2026 Sipki LLC.
来源:README.md,提交 d08af94
工具
0版本历史
15- v0.2.58最新Nov 7, 2026
- v0.2.56Nov 3, 2026
- v0.2.54Nov 3, 2026
- v0.2.51Nov 1, 2026
- v0.2.50Oct 30, 2026
- v0.2.49Oct 30, 2026
- v0.2.47Oct 29, 2026
- v0.2.38Oct 26, 2026
- v0.2.36Oct 26, 2026
- v0.2.32Oct 25, 2026
- v0.2.30Oct 25, 2026
- v0.2.24Oct 23, 2026
- v0.2.23Oct 22, 2026
- v0.2.22Oct 22, 2026
- v0.2.20Oct 22, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分