Skip to main content
Glama
piiiico

proof-of-commitment

Proof of Commitment

スターは嘘をつく。行動シグナルは嘘をつかない。

npmパッケージ、PyPIパッケージ、GitHubリポジトリを行動コミットメント(スター、README、ダウンロード数よりも偽造が困難なシグナル)に基づいてスコアリングするMCPサーバーおよびWebツールです。

サプライチェーンの問題

一般的なNode.jsプロジェクトに含まれる3つのパッケージが、現在非常に危険な状態にあります:

  • chalk — 週3億9900万ダウンロード、メンテナー1名

  • zod — 週1億3900万ダウンロード、メンテナー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ツールに追加してください。その後、以下のように質問します:

「私のpackage.jsonをサプライチェーンリスクについて監査して」 「axios、zod、chalk、lodashをスコアリングして。どれが最もリスクが高い?」 「vercel/aiは活発にメンテナンスされている?」

GitHub Action

CIパイプラインにサプライチェーン監査を追加します。package.jsonrequirements.txtからパッケージを自動検出し、結果をPRコメントとして投稿し、GitHub Step Summaryに書き込み、オプションでCRITICALなパッケージがある場合に失敗させることができます。

# .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

CRITICALなパッケージが見つかった場合にワークフローを失敗させる

max-packages

20

自動検出時に監査する最大パッケージ数

comment-on-pr

true

監査結果をPRコメントとして投稿する(pull-requests: write権限が必要)

出力: has-criticalcritical-countaudit-summary(Markdownテーブル、Step Summaryにも書き込まれます)。

PRコメント / Step Summary出力の例:

| 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) · 🔴 CRITICAL (メンテナー1名 + 週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でスコアリングされます:

  • 存続期間 — パッケージはどれくらい存在しているか?放置されたパッケージは攻撃のために再アクティブ化されることがあります。

  • メンテナーの深さ — メンテナー1名 + 週数百万ダウンロード = LiteLLMが悪用された攻撃対象領域。

  • リリースの整合性 — 定期的なリリースは活発な監視のシグナルです。長い空白期間は脆弱性の蓄積を意味します。

  • ダウンロード傾向 — 成長中のパッケージはより多くの精査(および攻撃)を引き寄せます。安定しているものはプロファイルが低くなります。

リスクフラグ:

  • CRITICAL — メンテナー1名 + 週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万台以上のマシンが露出。どちらのパッケージも、攻撃のにこれらの指標によってCRITICALとスコアリングされていました。

宣言的なシグナル(スター、READMEの品質、CIバッジ)ではこのリスクを捉えられません。行動コミットメントなら捉えられます。

公式MCPレジストリに掲載

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

スタック

レイヤー

テクノロジー

バックエンド

Cloudflare Workers + D1

MCP

Model Context Protocol SDK

データ

npm registry, PyPI, GitHub API, Brønnøysund (NO)

ランディング

Astro + Cloudflare Pages

より広範なビジョン

サプライチェーン監査は最初のツールに過ぎません。その根底にあるプリミティブはコミットメントグラフです。これは、あらゆるドメインにおいてコンテンツベースの信頼に取って代わる行動シグナルです。

コンテンツが簡単に偽造できる(レビュー、スター、README)場合、コミットメントがシグナルとなります。12年間で847回のリリースを行ってきたメンテナーは、2023年に一度だけ公開したメンテナーとは異なる種類のコミットメントを持っています。

同じ論理がWebサイト、企業、AIエージェントにも適用されます。2つのカードネットワークが独立してこのギャップを指摘しています。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