
Hookwarden — Webhook Integrity
io.github.Hookwarden由 GitHub 账号 Hookwarden 发布v0.9.5更新于 Oct 24, 2026
Webhook signature-verification audit. Stripe, GitHub, Shopify, Twilio +23. Local. Deterministic.
概览
本地 MCP 服务器,用于审计 Webhook 处理代码是否校验签名,并离线校验 hookwarden 证据包的哈希链。
- 可以做什么
- 扫描粘贴的 Webhook 处理代码或一组虚拟文件,按规则返回结构化发现,并给出已验证、未验证或需人工复核的结论。
- 针对 Stripe、GitHub、Shopify、Twilio 等共 27 家服务商的规则包检查处理代码,支持 JS、TS 和 Python。
- 离线校验 hookwarden 证据包的逐行哈希链、清单哈希和内嵌 ECDSA-P256 签名,返回是否有效、首个断链行号和已验签数量。
- 每次扫描附带引擎与规则包版本及内容哈希,并在运行时哈希与构建时哈希不一致时报告漂移。
- 适用场景
- 适合在编写或审查 Webhook 接口时,让助手确认签名是否在产生副作用之前真正被校验。也适合需要在无网络、无凭据的情况下核查 hookwarden 证据包完整性的审计场景。
- 运行要求
- 以本地 stdio 进程运行,通常通过 npx 启动 npm 包 @hookwarden/mcp,因此需要 Node.js 和 npm。未声明任何认证、API 密钥或环境变量,README 称该进程不发起网络请求。可选的 init 命令会为 Claude Desktop、Cursor 和 Continue 写入配置文件。
安装
在 SourceWeft 中
- 打开 控制台中的 Hookwarden — Webhook Integrity,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
The first MCP server doing webhook signature verification.
Local. Deterministic. Zero network. JS / TS / Python / PHP / Go — 27 providers — 3-state verdicts.
[npm version] [License: Apache 2.0] [Node 22+] [MCP spec 2025-06-18]
What it does
@hookwarden/mcp exposes hookwarden's deterministic webhook-verification engine as MCP tools. AI coding agents — Claude Desktop, Cursor, Continue, and apps built on the Anthropic Agent SDK — get two tools:
scan_handler— scan pasted webhook handler code and get back a structured finding (verified/not-verified/manual-review) for Stripe, GitHub, Shopify, Twilio, and 23 other providers.verify_audit_chain— verify a hookwarden evidence pack's hash chain + KMS-signed Merkle roots offline (no network, no auth), returning{ valid, broken_at_row, signatures_verified }.
Runs entirely client-side. Zero network egress from the MCP process. Zero auth. The same engine the hookwarden CLI ships — same rule pack, same content hashes, end-to-end provenance.
Install in one command
That command detects your installed MCP clients (Claude Desktop / Cursor / Continue), prints a per-OS summary table, and writes the canonical config to each one. .bak files land alongside every config it touches. Restart the relevant client and scan_handler + verify_audit_chain appear in the tool list.
Pass --all for non-interactive use, --dry-run to preview, --force to overwrite an existing mcpServers.hookwarden entry, or --clients claude-desktop,cursor to limit the set.
Manual configuration
If you'd rather not run the init helper, write the config by hand.
Claude Desktop
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Cursor
~/.cursor/mcp.json — same shape as Claude Desktop:
Continue.dev
Continue uses a per-server file. Write ~/.continue/mcpServers/hookwarden.yaml:
Anthropic Agent SDK
The Agent SDK is programmatic — there's no config file to edit. Drop this into your code:
The init helper does not write here — the SDK integration is code, not config.
The scan_handler tool
Inputs
Output
Returns Tool.result with structuredContent first-class (MCP spec 2025-06-18) plus a companion stringified-JSON text block for backwards compatibility:
Verdict vocabulary
Same 3-state vocabulary as the CLI. No remapping in the MCP layer.
Error payloads (isError: true)
Parse failures don't crash the transport — they emit as rule_id: "engine/parse-error" findings with severity high and increment verdict_summary.parse_error.
The verify_audit_chain tool
Verify a hookwarden evidence pack's integrity offline — no network, no AWS, no credentials. "Verify the chain without trusting hookwarden." The tool walks the per-row hash chain, roundtrips the manifest hash, and — for v1.1 packs that embed the signing CMK's SPKI public key — verifies the ECDSA-P256 (MessageType:DIGEST) Merkle-root + manifest signatures with node:crypto.
Inputs
Output
Trust model
The v1.1 pack carries its own SPKI public key. The signature proves the pack was not altered after signing by the holder of that key — it is trust-on-first-use. To pin trust to a specific signer out-of-band, an auditor can cross-check signature.signing_cmk_arn against AWS KMS GetPublicKey and confirm the embedded SPKI key matches. Malformed pack JSON returns isError: true (error: "invalid_pack_json") — the tool never throws past its boundary.
This tool imports only @hookwarden/canonical-json (the shared RFC 8785 byte-equality anchor) + node:crypto. It does not load the engine or rule pack and does not run the drift gate.
Integrity claims
- Zero outbound TCP — the published tarball passes
pnpm inspect-bundle, a structural CI gate that rejects any source-file import of HTTP clients (node:http,axios,undici, etc.) and any direct dependency outside the documented allowlist. - Drift detection — every
scan_handlercall cross-checks the runtime-resolved engine + rule-pack hashes against the build-timedist/build-manifest.json. Mismatch returnsisError: truewith structuredengine_drift/rules_driftpayload. No env-var opt-out. See drift-detection — including the v0.8.0 engine-content-hash limitation. - No telemetry — the tarball declares no analytics or tracking SDKs (
@datadog/*,@segment/*,@sentry/*, etc.) independenciesor transitively in source-file imports. - Open source — Apache-2.0 at
Hookwarden/hookwarden/packages/mcp/. Engine + rule pack land in the same monorepo and ship under the same license.
Links
- Documentation — getting started, tool surface reference, drift detection
- npm package
- GitHub repository
- Apache-2.0 License
Copyright 2026 Hookwarden contributors. Apache License 2.0.
来源:packages/mcp/README.md,提交 213ff9a
工具
0版本历史
2- v0.9.5最新Oct 9, 2026
- v0.8.7Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分