mcpField
P
PCI DSS MCP

PCI DSS MCP

ローカル
github.com開発ツール51 週間前に更新

PCI DSS MCP について

PCI DSS MCPは、Goの決済コードベースを静的解析するstdio対応のMCPサーバーです。検出結果をPCI DSS v4.0.1の要件に対応付け、コンプライアンスレポートとSBOMも生成します。

主な機能

  1. 01決済コードのリスクを調べる12種類のスキャナー
  2. 02検出結果へのPCI要件ID付与
  3. 03AIによる検出結果のトリアージ
  4. 04要件ごとの合否レポート
  5. 05CycloneDX 1.6 SBOMの生成

活用シーン

  1. 01リリース前のGo決済コードの確認
  2. 02PCI要件ごとの検出結果の整理
  3. 03コンプライアンス状況レポートの作成
  4. 04依存関係SBOMの生成

MCP 対応

stdio経由で、スキャン、トリアージ、レポート作成、要件検索などの静的解析・コンプライアンスツールをMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"pci-dss": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1

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

パッケージ
ocighcr.io/shyshlakov/pci-dss-mcp:v0.7.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

pci-dss-mcp

Go 決済サービスのコードベース向け静的解析 MCP サーバーです。Go 決済サービスのコードベースで検出された PCI DSS v4.0.1 違反はすべて、コードのリリース前に特定の要件番号へマッピングされます。

CI Go Reference License: MIT OpenSSF Scorecard MCP Registry pci-dss-mcp MCP server


できること

pci-dss-mcp は、Go 決済サービスのコードベースに対して、12 個のスキャナー、オーケストレーター、AI トリアージエンジンを実行する stdio MCP サーバーです。各検出結果には、特定の PCI DSS v4.0.1 条項にマッピングされた requirement_id が付与されます。正規のルールと要件の対応表についてはdocs/requirement-mapping.mdを、実際のゴールデン出力についてはtestdata/vulnerable-payment-service/EXPECTED-FINDINGS.mdをご覧ください。

pci-dss-mcp が現在検出できること
  • HTTP フレームワークからログ/エラー/パニックの出力先へ渡る入力フロー。 Tier 1 のフレームワーク(gin、chi、gorilla/mux、net/http(Go 1.22 以降)、echo v4、fiber v2)と Tier 1 のロガー(log/slog、logrus、zap、zerolog、logr、klog、hclog)は v0.7 に含まれています。Tier 2(kratos、apex/log、charmbracelet/log)は v0.8 で追加されます。Tier 3(fasthttp、beego、iris、httprouter、プロジェクト内部)は、Phase 25 の YAML がリリースされればユーザーが設定できます。詳しくはdocs/http_input_taint.mdをご覧ください。
pci-dss-mcp が対象としないこと
  • 幅広い SAST の代替ではありません。 OWASP Top-10 や言語に依存しない脆弱性には、Semgrep、CodeQL、または gosec を使用してください。
  • LLM ベースのコードレビューの代替ではありません。 pci-dss-mcp は決済固有の問題を PCI DSS の要件 ID にマッピングし、LLM エージェントは推論によって幅広いバグを検出します。この 2 つの層は互いに補完します。
  • Go 以外には対応していません。 高い精度を実現しているのは、Go 固有の AST パターンとテイントフローの追跡です。
  • QSA の代替ではありません。 静的解析でカバーできるのは、PCI DSS v4.0.1 の要件の約 6% です。残りについては、Qualified Security Assessor の承認が必要です。

インストール

Go install(推奨)

Go 1.25 以降が必要です。Go 1.25 はサポート終了済みのため、Go 1.26.9 以降を使用してください。

go install github.com/shyshlakov/pci-dss-mcp@latest

バイナリは $(go env GOPATH)/bin/pci-dss-mcp に配置されます。PATH の解決方法、macOS の codesign に関する来歴情報の修正、cosign による検証、MCP クライアントの JSON 設定については、docs/install-from-source.mdをご覧ください。

Docker(代替)
docker pull ghcr.io/shyshlakov/pci-dss-mcp:v0.6.2

CI パイプライン、ローカルで Go 開発を行わない QSA 監査担当者、またはホストに Go ツールチェーンがない環境で便利です。

MCP Registry

registry.modelcontextprotocol.ioに io.github.shyshlakov/pci-dss-mcp として登録されています。タグが付くたびに自動公開されます。

使用方法

MCP クライアントの設定に追加します(Claude Desktop の claude_desktop_config.json、Cursor の .cursor/mcp.json、または Claude Code の claude mcp add)。

{
  "mcpServers": {
    "pci-dss-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
        "--mount", "type=bind,src=/Users/you/go/src,dst=/Users/you/go/src,readonly",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.6.2"]
    }
  }
}

src= と dst= には同じ絶対パスを指定します。これにより、コンテナ内でもホストと同じパスでコードを参照でき、プロンプトでは変換せずに通常のホストパスを渡せます。go install 版とクライアントごとの使用例については、docs/usage.md を参照してください。

MCP クライアントに貼り付けるプロンプトを2つ紹介します。

  1. Run pci-dss-mcp triage on /Users/you/payments-service. Use min_severity=MEDIUM and group findings by PCI DSS requirement.
  2. Generate a PCI DSS compliance report for /Users/you/payments-service in JSON format. Show requirement-level pass/fail status and severity counts.

ツール

ツール目的ドキュメント
triage_findingsすべてのスキャナーを実行し、AI による分類とファイル・行番号のコンテキストを1回の呼び出しで提供しますdocs/triage_findings.md
generate_compliance_report要件ごとのパス/フェイルをそのまま報告します(すべてのスキャナーを統括)docs/generate_compliance_report.md
scan_pan_dataPAN/SAD の保存とログ記録をチェックします(3.3.1, 3.4.1, 3.5.1)docs/scan_pan_data.md
check_encryption弱いハッシュ化、ハードコードされた鍵、平文 HTTP をチェックします(4.2.1, 6.2.4)docs/check_encryption.md
check_tls_config安全でない TLS 設定をチェックします(4.2.1)docs/check_tls_config.md
check_secrets_in_configs設定ファイル内の認証情報をチェックします(8.6.2)docs/check_secrets_in_configs.md
check_error_handling機密情報を漏えいするエラーレスポンスをチェックします(6.2.4)docs/check_error_handling.md
check_auth_strengthハードコードされたパスワード、弱いポリシー、MFA の欠如、Webhook 署名をチェックします(8.3.1, 8.3.6, 8.4.2, 8.6.2)docs/check_auth_strength.md
audit_log_coverage決済フローの監査ログの欠如をチェックします(10.2.1)docs/audit_log_coverage.md
check_data_retentionTTL の欠如、機密データの保存、ゼロ化の欠如をチェックします(3.2.1, 3.3.1)docs/check_data_retention.md
check_payment_page_scripts決済ページにおける CSP/SRI/nonce の欠如をチェックします(6.4.3, 11.6.1)docs/check_payment_page_scripts.md
check_dependenciesOSV を使用して脆弱性のある Go 依存関係をチェックします(6.3.3)。govulncheck と同様のプライバシー保護により、OSV.dev にモジュール名を送信しません。docs/check_dependencies.md を参照してください。update_vulnerability_db も対象です。docs/check_dependencies.md
generate_sbomgo.mod/go.sum から CycloneDX 1.6 SBOM を生成します(6.3.2)docs/generate_sbom.md
explain_requirementID を指定して PCI DSS v4.0.1 の要件を検索しますdocs/explain_requirement.md

すべてのツールで型付きの OutputSchema を宣言しています。カタログの目次と移行履歴については、docs/tools.md を参照してください。

ドキュメント

ステータス

開発中で、v1.0より前の段階です。ROADMAP.mdとCHANGELOG.mdをご覧ください。

ライセンス

MIT。LICENSEをご覧ください。


pci-dss-mcpは静的解析ツールです。Qualified Security Assessorの代わりにはなりません。出力はコンプライアンスそのものではなく、コンプライアンスプロセスへの入力として使用してください。

コメント

MCP は初めてですか?

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

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