mcpField
A
Attestd - Deterministic CVE & Supply Chain Data

Attestd - Deterministic CVE & Supply Chain Data

ローカル
github.com/attestd-ioセキュリティ03 週間前に更新

Attestd - Deterministic CVE & Supply Chain Data について

@attestd/mcpは、インフラやPyPI・npmパッケージのバージョンに悪用可能なCVEやサプライチェーン侵害の兆候があるか調べるMCPサーバーです。AIエージェントやセキュリティワークフロー向けに、バッチ検査やCVE詳細を含む構造化リスクデータを返します。

主な機能

  1. 01製品バージョンのCVEリスク確認
  2. 02最大100パッケージの一括監査
  3. 03CVE詳細と悪用シグナルの取得
  4. 04対象製品とパッケージの一覧
  5. 05APIキーの利用枠確認

活用シーン

  1. 01ロックファイルやマニフェスト内の依存関係監査
  2. 02インフラのバージョンにある既知の脆弱性評価
  3. 03CVEのCVSS、EPSS、悪用状況の確認

MCP 対応

脆弱性、サプライチェーン、対象製品、CVE詳細、利用状況のツールをMCP互換クライアントに公開します。多くのライブ検査にはAPIキーが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"attestd-io-attestd": {
"command": "npx",
"args": [
"-y",
"@attestd/mcp"
],
"env": {
"ATTESTD_API_KEY": "<ATTESTD_API_KEY>",
"ATTESTD_BASE_URL": "<ATTESTD_BASE_URL>"
}
}
}
}
起動コマンドnpx -y @attestd/mcp
設定が必要な環境変数
ATTESTD_API_KEYシークレットAttestd API key (atst_...). Required for check_package_vulnerability, check_batch_vulnerabilities, get_cve_details, and live list_covered_products. Get one at https://api.attestd.io/portal
ATTESTD_BASE_URLOptional API base URL override. Defaults to https://api.attestd.io

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@attestd/mcp0.3.1

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
productstringはいパッケージまたは製品のスラッグ。例:"nginx"、"runc"、"@bitwarden/cli"、"litellm"
versionstringはい正確なバージョン文字列。例:"1.20.0"

詳細

@attestd/mcp

npm version smithery badge

Attestd は、依存関係のバージョンに悪用可能な CVE、または確認済みのサプライチェーン侵害があるかをチェックします。1 回の API 呼び出しで、構造化されたリスク応答を返します。

Attestd の公式 Model Context Protocol (MCP) サーバーです。CVE リスクとサプライチェーンのチェックを、Claude Code、Claude Desktop、および MCP 対応クライアント向けのツールとして提供します。

無料の API キーを取得 · ドキュメント全文

  • stdio トランスポート:グローバルインストールなしで npx -y @attestd/mcp を実行できます。
  • check_package_vulnerability:@attestd/sdk を使用して GET /v1/check を呼び出します。
  • check_batch_vulnerabilities:1 回の呼び出しで最大 100 個のパッケージをチェックします。ロックファイルやマニフェストの監査に使用します。
  • list_covered_products:Attestd がカバーする製品を返します。API キーがある場合は、GET /v1/products からライブデータを返します。キーがない場合は、バンドルされた静的なインフラストラクチャリストを返します。
  • get_cve_details:単一の CVE ID について、CVSS、EPSS、KEV ステータス、および影響を受ける製品を返します。
  • get_usage:認証済みキーの残りのクォータを返します(GET /v1/usage)。

前提条件

  • Node.js 18+
  • ポータルから取得した Attestd API キー。check_package_vulnerability、check_batch_vulnerabilities、get_cve_details、get_usage、およびライブデータを取得する list_covered_products に必要です。

Claude Code / MCP の設定

~/.claude/mcp.json またはプロジェクトの .mcp.json に追加します。

{
  "mcpServers": {
    "attestd": {
      "command": "npx",
      "args": ["-y", "@attestd/mcp"],
      "env": {
        "ATTESTD_API_KEY": "your-api-key-here"
      }
    }
  }
}

任意:API ベース URL を上書きできます(例:開発環境)。

"env": {
  "ATTESTD_API_KEY": "your-api-key-here",
  "ATTESTD_BASE_URL": "https://dev.api.attestd.io"
}

ツール

check_package_vulnerability
引数型説明
productstring製品のスラッグ(nginx、postgresql、litellm、…)
versionstring正確なバージョン(1.20.0)

次の JSON を返します。

フィールド意味
outsideCoverage製品がカバー対象外の場合は true。安全という意味ではなく、リスクは不明です。
riskStateカバー対象外の場合は critical | high | elevated | low | none | null
riskFactorsriskState の判定に使われるリスク要因の語彙
maxEpss該当する CVE 全体で最も高い EPSS 確率
activelyExploitedCISA KEV のシグナル
remoteExploitable該当する CVE にリモートから悪用可能なものがある場合は true
authenticationRequired該当する CVE のすべてで認証が必要な場合に限り true
patchAvailable / fixedVersionパッチに関する情報
confidence統合結果の信頼度(0.0~1.0)
cveIdsリスク評価の根拠となる CVE ID
typosquatパッケージ名の整合性:detected、resembles、confidence、ecosystem(SDK 0.5 ランタイム。追加フィールドは省略されます)
messageoutsideCoverage が true の場合の説明
supplyChainCompromised / supplyChainDescriptionPyPI/npm のサプライチェーンシグナル

API キーが無効または未指定の場合、あるいはレート制限に達した場合は、JSON の error 文字列を含む isError: true を返します。

check_batch_vulnerabilities
引数型説明
itemsarray{ product, version } オブジェクトの配列。1 回の呼び出しにつき最大 100 個です。各項目で API 呼び出しを 1 回消費します。

クォータは事前に確認されます。バッチ処理によって月間クォータを超過する場合、課金対象の呼び出しが行われる前に 429 が返されます。

count と results を含む JSON を返します。サポート対象の項目には、typosquat を除き、check_package_vulnerability と同じフィールドが含まれます。カバー対象外の項目は、product、version、outsideCoverage: true、および riskState: null のみを返します。

list_covered_products

引数はありません。API キーがある場合、GET /v1/products から取得した最新の JSON を返します。

フィールド意味
sourceAPI から取得した場合は "live"
totalCVE 製品とサプライチェーンパッケージの合計数
cveProducts表示名が付いた CVE インフラストラクチャのスラッグ
supplyChainPackages監視対象の PyPI/npm パッケージ

API キーがない場合、バンドルされている静的リストを返します。

フィールド意味
source"static"
countバンドルされているインフラストラクチャ製品の数
products{ slug, display } エントリーの配列
get_cve_details
引数型説明
cve_idstringCVE 識別子。例:CVE-2021-44228

次の項目を含む JSON を返します。

フィールド意味
foundCVE が Attestd のデータベースにある場合は true、404 の場合は false(エラーではありません)
cveIdCVE 識別子
descriptionNVD の説明文
cvssScore / cvssVectorCVSS 基本スコアとベクトル
activelyExploitedCISA KEV シグナル
remoteExploitableリモートから悪用可能かどうか
authenticationRequired悪用に認証が必要かどうか
affectedProductsこの CVE の影響を受ける Attestd 製品のスラッグ
epssScore / epssPercentileEPSS の確率とパーセンタイル
sourcePublishedAt / lastCheckedAtISO タイムスタンプ

CVE が見つからない場合、isError を付けずに { "found": false, "cveId": "..." } を返します。API キーが無効または未指定の場合、あるいはレート制限に達した場合は、JSON の error 文字列とともに isError: true を返します。

get_usage

引数はありません。API キーが必要です。GET /v1/usage から取得した JSON を返します。

フィールド意味
tierアカウントのプランのティア
keyCallsThisMonth今回の請求期間にこのキーで請求された呼び出し数
accountCallsThisMonthアカウント上のすべてのキーで請求された呼び出し数
includedCalls月間の呼び出し上限
billingPeriodStart / billingPeriodEndISO タイムスタンプ
overageCalls / estimatedOverageUsd上限を超過した呼び出し数と超過料金の推定額

API キーが無効または未指定の場合、あるいはレート制限に達した場合は、JSON の error 文字列とともに isError: true を返します。

ローカルで検証する

npm run build
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

ライセンス

MIT。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。