Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
scopeblind-gateway — 用于AI代理的Ed25519签名收据和Cedar策略。金融授权门(Legate)、证明包、3个IETF互联网草案。npx protect-mcp | Kitploit
工具/GitHubGitHub/scopeblind/scopeblind-gateway
身份验证与授权加密/解密工具密码学云安全DevSecOps身份与访问管理 (IAM)供应链安全AI 安全
GitHubscopeblind/scopeblind-gateway

scopeblind-gateway

用于AI代理的Ed25519签名收据和Cedar策略。金融授权门(Legate)、证明包、3个IETF互联网草案。npx protect-mcp

查看仓库
943714天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

protect-mcp

面向 AI 代理工具调用的故障关闭式 Cedar 策略门禁,外加签名回执。

npm version downloads license node

protect-mcp 是一道位于 AI 代理工具调用之前的门禁。它会依据 Cedar 策略(与 AWS 用于 IAM 的同一种语言)评估每一次调用,在违反规则的调用运行之前将其拦截,并为每一次决策签署一份可离线验证的 Ed25519 回执。它在本地运行,不会将你的决策遥测数据发送到任何地方,并采用 MIT 许可证。

它的不同之处

  • 默认故障关闭。 一旦出现任何策略错误、引擎缺失或评估失败,决策即为 DENY。门禁绝不会静默放行。存在一种用于影子发布的观察模式,但即便在该模式下,本应被拦截的调用也会被标记为 would_deny: true,因此失败绝不会悄无声息。
  • 它能证明自身的克制。 serve --enforce 和 doctor 会运行启动自检,除非能证明某个已知被禁止的操作确实被拒绝,否则拒绝启用门禁。无法证明其会拒绝的门禁不会启动。
  • 每一次决策都是一份任何人都能验证的回执。 决策经过 Ed25519 签名,并可使用 @veritasacta/verify 离线验证。无需信任任何厂商:数学不在乎由谁来运行它。

快速开始:从安装到第一份有用的证明```bash

1. Generate an Ed25519 keypair, config template, and sample policy.

npx protect-mcp init

2. Wrap any MCP server in shadow mode. Nothing is blocked yet; calls are logged.

npx protect-mcp wrap -- node your-mcp-server.js

3. Inspect the local-only dashboard: tool inventory, risk, approvals, receipts.

npx protect-mcp dashboard --open

4. Draft a reviewable policy from observed calls.

npx protect-mcp recommend --write

5. When reviewed, restart the wrapper in enforce mode with that policy.

npx protect-mcp --policy protect-mcp.recommended.json --enforce -- node your-mcp-server.js

对于 Claude Desktop,先运行一次 dry-run 配置补丁,然后再应用它:```bash
npx protect-mcp wrap --claude-desktop
npx protect-mcp wrap --claude-desktop --write
npx protect-mcp dashboard --open

仪表盘绑定到 127.0.0.1,仅读取本地日志/回执文件,不会上传任何内容。仅当你明确需要托管的 ScopeBlind 仪表盘时,才使用 npx protect-mcp connect。

将网关作为 MCP 服务器

如果你更愿意将网关作为工具调用,而不是接入 Claude Code 钩子,可以将其作为 MCP 服务器运行:```bash npx protect-mcp mcp

它通过 stdio 使用 MCP,并暴露四个只读工具,构成整个闭环:

- **`evaluate_action`**:根据内联 Cedar 策略对提议的工具调用进行判定,失败即关闭(任何策略错误均为 DENY)。返回 `{ allowed, decision, reason, policy_digest }`。
- **`sign_decision`**:将判定转换为 Ed25519 签名回执(拒绝会签署 `gateway_restraint`,允许会签署 `decision_receipt`)。返回回执及其公钥;如果你未提供密钥,则生成一个临时密钥。
- **`verify_receipt`**:使用公钥离线验证已签名回执。返回 `{ valid, error, type, kid, issuer }`。
- **`self_test`**:无需输入即可自证。一个已知被禁止的操作会被拒绝,然后一个已签名回执完成往返验证,而一个被篡改的副本会验证失败。

将任意 MCP 主机指向它,例如 Claude Desktop:```json
{
  "mcpServers": {
    "protect-mcp": { "command": "npx", "args": ["-y", "protect-mcp", "mcp"] }
  }
}

回执与网关在运行时签名的回执字节兼容,因此在此处生成的回执可通过 @veritasacta/verify 以及浏览器验证器进行同样的验证。

本地操作仪表盘

protect-mcp dashboard 是操作员视图,用于从可见性过渡到强制执行:

  • 工具清单: 每个观察到的工具、调用次数、高/中/低风险,以及活动策略是否具有精确规则、通配符回退规则或无规则。
  • 策略覆盖: 一键本地策略编辑,用于 Require approval、Block 或 Observe。审查更改后重启包装器。
  • 精确操作审批队列: 在人工批准、拒绝、编辑或接管之前,捕获精确的工具、操作、目标、脱敏载荷预览、载荷哈希、策略依据和原因。
  • 回执链: 请求 ID 与签名回执哈希相关联,以便审计审查人员可以看到哪些决策具有加密证明。
  • 审计导出: 当存在签名回执时,下载可离线验证的审计包。如果仅存在未签名的本地日志,仪表盘会说明必须先启用签名。

对于实时桌面回退审批,请使用包装器打印的本地网关审批端点和 nonce 启动仪表盘:```bash npx protect-mcp dashboard --open
--approval-endpoint http://127.0.0.1:9876
--approval-nonce "$PROTECT_MCP_APPROVAL_NONCE"

`Approve` 在存在这些标志时会转发到本地实时网关。
`Deny`、`Edit` 和 `Take over` 会在本地记录为审批解决记录;在需要时将它们用作操作员指令并重新运行该工具。

### 付费边界 MVP:摘要锚定,而非数据上传

本地自签名回执保持免费且可离线验证。付费边界是独立证据,证明 ScopeBlind 在某个时间、以某个组织身份看到了回执摘要,而无需接收原始提示、工具负载、输出、私钥或原始回执。```bash
# Create or refresh a local org identity and public-key directory.
npx protect-mcp registry init --org "Meridian Global Macro" --billing-account acct_meridian

# Local preview: writes a digest registry and shareable static verifier page.
npx protect-mcp registry anchor

# Hosted mode: uploads receipt digests only for independent anchoring.
SCOPEBLIND_TOKEN=... npx protect-mcp registry anchor \
  --hosted \
  --endpoint https://api.scopeblind.com \
  --verifier-base https://scopeblind.com

本地预览被刻意标记为 local-preview-not-independent。 托管模式仅锚定收据哈希、请求 ID、组织公钥和 计费元数据。它不会上传原始收据或敏感上下文。

杀手级演示:从影子到策略再到证明

protect-mcp killer-demo 生成一套完整的三分钟销售/演示包:```bash npx protect-mcp killer-demo --dir ./scopeblind-demo

它创建模拟文件系统、GitHub、电子邮件和 PMS 活动;在影子模式下显示有风险的调用;应用策略包;对敏感的 PMS 预订要求审批;通过网关执行;写入签名回执;证明原始回执可验证;证明被篡改的回执验证失败;并创建一个选择性披露包,在隐藏敏感上下文的同时展示最小证明。

首先打开生成的 `DEMO-RUNBOOK.md`。然后运行打印出的仪表盘命令,引导客户走完确切的流程。

### Selective Disclosure v0

承诺模式回执可以携带一个 `committed_fields_root`,而不是以明文暴露每个字段。之后,持有者可以仅披露选定的字段:```bash
npx protect-mcp verify-disclosure \
  --receipt ./receipts/selective-disclosure.receipt.json \
  --disclosure ./receipts/selective-disclosure.tool-only.json

验证器会检查父收据哈希、Ed25519 签名、承诺根, 以及每个披露字段的 Merkle 证明。随后它会说明哪些字段已被 披露,哪些已承诺字段仍保持隐藏。这是加盐承诺 披露,而非完全零知识,但它使隐私声明变得具体: 审计者可以验证选定的事实,而无需接收完整的工具载荷或 敏感的桌面上下文。

对记录证明某项声明(位置盲证明)

你可以在不披露记录的情况下对其证明一项 CLAIM。铸造一份针对 整个记录的签名、位置盲证明,仅披露每个决策的 类别(收据摘要、裁决、能力标签),绝不披露你的工具 输入、输出或数据:```bash

"No action reached the network across the record":

npx protect-mcp claim --no net.egress

other predicates:

--only fs.read,fs.write all actions were confined to these capabilities

--no-verdict blocked no action was blocked

--count blocked how many were blocked

任何人都可以离线验证它,只看到类别,永远看不到内容:```bash
npx protect-mcp verify-claim claim-<id>.json

验证方会在披露集合上重新计算 Merkle 根,并独立重新计算谓词,因此发行方无法在给定披露的情况下对声明撒谎。添加 --anchor 可将声明的摘要记录到公开、仅追加的 ScopeBlind 透明度日志中,这样不信任你的交易对手就能确认披露集合是完整的,且没有被悄悄重新裁剪(仅发送哈希值;记录保留在本地):```bash npx protect-mcp claim --no net.egress --anchor

这是一种可问责、位置盲的证明,而非完全零知识:它揭示的是形状,而非内容。

## 60 秒内试用(无需 agent)

[![观看两分钟演示影片](https://scopeblind.com/media/scopeblind-demo-poster.jpg)](https://scopeblind.com/film)

在 [scopeblind.com/film](https://scopeblind.com/film) 观看两分钟影片,然后针对你自己的副本重放:```bash
npx protect-mcp sample     # seed a labeled sample record (8 decisions: 1 blocked, 2 payments)
npx protect-mcp record     # open it: signatures verified in your browser

npx protect-mcp claim --payment-under 100 --anchor --output payments-under-100.json
npx protect-mcp verify-claim payments-under-100.json
npx protect-mcp anchor-record

将生成的 demo-tampered.jsonl 拖入记录页面,即可看到签名后的编辑被捕获。sample 拒绝触碰已存在的记录,因此请在空文件夹中运行它。当你准备好进行实际操作时,接入下面的门控,相同的命令将针对你自己 agent 的记录运行。

Claude Code hook 快速开始```bash

Generate hook config and a sample Cedar policy.

npx protect-mcp init-hooks

Serve the Claude Code hook gate in enforce mode. It runs a restraint self-test

first and refuses to start if it cannot prove it denies a forbidden vector.

npx protect-mcp serve --enforce --cedar ./cedar

一次性评估,即 PreToolUse 钩子调用它的方式。退出码 2 表示拒绝
(工具被阻止);退出码 0 表示允许:```bash
npx protect-mcp evaluate --cedar ./cedar --tool Bash --input '{"command":"rm"}'
echo $?   # 2  -> denied, fail-closed

npx protect-mcp evaluate --cedar ./cedar --tool Read --input '{"path":"README.md"}'
echo $?   # 0  -> allowed

缺少或无法加载的策略会拒绝(退出码 2),除非你显式传入 --fail-on-missing-policy false。

Claude Code hooks

protect-mcp init-hooks 会为你写入一个 .claude/settings.json。若要手动 接入该门禁,你需要用到的两个动词是 evaluate(PreToolUse,以退出码 2 阻断) 和 sign(PostToolUse,记录回执)。Claude Code 会以 JSON 形式通过 stdin 将 调用交给 hook,并且不会设置 TOOL_NAME 或 TOOL_INPUT 变量,因此请传入 --format claude,不要传入关于该调用的其他任何内容:门禁会从载荷中读取 tool_name 和 tool_input,在拒绝时它会将原因作为 hookSpecificOutput.permissionDecisionReason 返回给模型,同时以退出码 2 退出。 请固定版本,以便 Claude Code 会话始终运行你测试过的门禁:```json { "hooks": { "PreToolUse": [ { "matcher": "", "hooks": [ { "type": "command", "command": "npx [email protected] evaluate --cedar ./cedar --format claude" } ] } ], "PostToolUse": [ { "matcher": "", "hooks": [ { "type": "command", "command": "npx [email protected] sign --format claude --receipts ./receipts --key ./keys/gateway.json" } ] } ] } }

### 将已签署的标准置于生效状态,并让记录落在其页面上
下载工具