Skip to main content
Glama
piiiico

proof-of-commitment

Proof of Commitment

星星会撒谎。行为信号不会。

一个 MCP 服务器和 Web 工具,用于根据行为承诺对 npm 包、PyPI 包和 GitHub 仓库进行评分——这些信号比星星、README 或下载量更难伪造。

供应链问题

典型的 Node.js 项目中有三个包目前处于“关键”状态:

  • chalk — 每周 3.99 亿次下载,1 位维护者

  • zod — 每周 1.39 亿次下载,1 位维护者

  • axios — 每周 9600 万次下载,1 位维护者(2026 年 4 月 1 日遭受攻击)

星星和 README 的质量无法反映这一点。但行为信号可以。

立即尝试

终端(无需安装):

npx proof-of-commitment axios zod chalk
# or scan your own project:
npx proof-of-commitment --file package.json
# PyPI too:
npx proof-of-commitment --pypi litellm langchain requests

Web 演示(无需安装): getcommit.dev/audit — 粘贴您的包,几秒钟内即可查看风险评分。

MCP 服务器(无需安装):

{
  "mcpServers": {
    "proof-of-commitment": {
      "type": "streamable-http",
      "url": "https://poc-backend.amdal-dev.workers.dev/mcp"
    }
  }
}

将其添加到 Claude Desktop、Cursor、Windsurf 或任何兼容 MCP 的 AI 工具中。然后提问:

"Audit my package.json for supply chain risk" "Score axios, zod, chalk, lodash — which is highest risk?" "Is vercel/ai actively maintained?"

GitHub Action

将供应链审计添加到任何 CI 流水线中 — 自动检测 package.jsonrequirements.txt 中的包,将结果作为 PR 评论发布,写入 GitHub 步骤摘要,并可选择在发现“关键”包时使构建失败。

# .github/workflows/supply-chain-audit.yml
name: Supply Chain Audit
on: [push, pull_request]

jobs:
  audit:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write   # needed for PR comments
    steps:
      - uses: actions/checkout@v4
      - uses: piiiico/proof-of-commitment@main
        with:
          fail-on-critical: false   # set true to block merges
          comment-on-pr: true       # posts audit table directly on the PR

comment-on-pr: true(默认)时,该操作会自动将审计表作为评论发布在拉取请求上 — 并在重新运行时更新同一条评论,因此您不会收到垃圾评论。审查者无需离开 PR 即可查看风险表。

输入:

输入

默认值

描述

packages

(自动)

以逗号分隔的包名称(如果未设置,则从 package.json/requirements.txt 自动检测)

fail-on-critical

true

如果发现“关键”包,则使工作流失败

max-packages

20

自动检测时审计的最大包数量

comment-on-pr

true

将审计结果作为 PR 评论发布(需要 pull-requests: write 权限)

输出: has-criticalcritical-countaudit-summary(Markdown 表格,也会写入步骤摘要)。

示例 PR 评论 / 步骤摘要输出:

| Package | Risk        | Score | Maintainers | Downloads/wk | Age   |
|---------|-------------|-------|-------------|--------------|-------|
| chalk   | 🔴 CRITICAL | 75    | 1           | 380M         | 12.7y |
| zod     | 🔴 CRITICAL | 83    | 1           | 133M         | 6.1y  |
| axios   | 🔴 CRITICAL | 89    | 1           | 93M          | 11.6y |

README 徽章

为您维护或依赖的任何包添加承诺评分徽章:

![commit score](https://poc-backend.amdal-dev.workers.dev/api/badge/npm/YOUR-PACKAGE)

示例:

徽章 URL

axios

![commit](https://poc-backend.amdal-dev.workers.dev/api/badge/npm/axios)

zod

![commit](https://poc-backend.amdal-dev.workers.dev/api/badge/npm/zod)

litellm

![commit](https://poc-backend.amdal-dev.workers.dev/api/badge/pypi/litellm)

颜色:🟢 健康 (75+) · 🟡 良好 (60–74) · 🟡 中等 (40–59) · 🟠 高风险 (<40) · 🔴 关键(单人维护 + 每周 >1000 万次下载)

徽章在 Cloudflare 边缘缓存 5 分钟。无需 API 密钥。

REST API

无需 API 密钥。无需安装。

curl https://poc-backend.amdal-dev.workers.dev/api/audit \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"packages": ["axios", "zod", "chalk", "lodash", "express"]}'
{
  "count": 5,
  "results": [
    {
      "name": "chalk",
      "ecosystem": "npm",
      "score": 75,
      "maintainers": 1,
      "weeklyDownloads": 398397580,
      "ageYears": 12.7,
      "trend": "stable",
      "riskFlags": ["CRITICAL"]
    },
    ...
  ]
}

7 个 MCP 工具

工具

描述

audit_dependencies

最多 20 个 npm/PyPI 包的批量风险审计

lookup_npm_package

单个 npm 包的行为概况

lookup_pypi_package

单个 PyPI 包的行为概况

lookup_github_repo

GitHub 仓库承诺评分(寿命、提交频率、贡献者深度)

lookup_business

挪威商业登记处 — 运营年限、员工、财务状况

lookup_business_by_org

同上,按组织编号查询

query_commitment

浏览器扩展行为数据(唯一验证访问者、重复率)

评分衡量标准

每个包的评分范围为 0–100,涵盖:

  • 寿命 — 包存在了多久?被遗弃的包常被重新激活用于攻击。

  • 维护者深度 — 单人维护 + 每周数百万次下载 = LiteLLM 被利用的攻击面。

  • 发布一致性 — 定期发布标志着积极的监督。长时间的间隔 = 漏洞积累。

  • 下载趋势 — 增长中的包会吸引更多关注(和攻击)。稳定 = 风险较低。

风险标志:

  • CRITICAL — 单人维护 + 每周 >1000 万次下载(精确的 LiteLLM/axios 攻击特征)

  • HIGH — 包龄 <1 年 + 快速采用

  • WARN — 12 个月以上未发布

真实数据点

chalk     — score 75, 1 maintainer, 399M/week  ⚑ CRITICAL
zod       — score 83, 1 maintainer, 139M/week  ⚑ CRITICAL
axios     — score 89, 1 maintainer,  96M/week  ⚑ CRITICAL (attacked Apr 1 2026)
lodash    — score 88, 3 maintainers, 68M/week
express   — score 91, 5 maintainers, 35M/week
litellm   — score 74, 1 maintainer           ⚑ CRITICAL (supply chain attack Mar 2026)

为什么选择行为信号

LiteLLM 攻击(2026 年 3 月)和 axios 攻击(2026 年 4 月)遵循相同的模式:凭据被盗 → 推送恶意包 → 9700 万台以上机器暴露。在攻击发生之前,这两个包根据这些指标都被评为“关键”。

声明式信号(星星、README 质量、CI 徽章)无法捕捉这种风险。行为承诺可以。

已在官方 MCP 注册表中列出

registry.modelcontextprotocol.io → io.github.piiiico/proof-of-commitment

技术栈

层级

技术

后端

Cloudflare Workers + D1

MCP

Model Context Protocol SDK

数据

npm 注册表、PyPI、GitHub API、Brønnøysund (NO)

落地页

Astro + Cloudflare Pages

更广阔的愿景

供应链审计是第一个工具。其底层的原始概念是承诺图谱 — 能够取代跨领域基于内容的信任的行为信号。

当内容可以随意伪造(评论、星星、README)时,承诺就成了信号。一位在 12 年内发布了 847 个版本的维护者,其承诺程度与 2023 年发布过一次的维护者截然不同。

同样的逻辑适用于网站、企业和 AI 代理。两家卡组织独立指出了这一差距:Mastercard Verifiable Intent §9.2 明确将行为信任列为“未覆盖”。Visa TAP 识别代理,但没有回答是否应该信任它们。

Proof of Commitment 正是他们所指出的信任层。

getcommit.dev

本地运行

bun install
bun run dev:backend     # local server with SQLite
bun run test:e2e        # E2E test with mock World ID

部署:

bun run deploy          # deploys to Cloudflare Workers
-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/piiiico/proof-of-commitment'

If you have feedback or need assistance with the MCP directory API, please join our Discord server