Devotd Github
新着セキュリティ

adudley78/mcp-audit v0.28.0 — reach に fail-closed 終了コードを追加

adudley78/mcp-audit v0.28.0 は `reach` コマンドに `--fail-closed` オプションを追加し、検証されていない検査結果が CI ゲートで合格として扱われないように変更した。

リポジトリ情報adudley78/mcp-audit ↗

adudley78/mcp-audit v0.28.0 は `reach` コマンドに `--fail-closed` オプションを追加し、検証されていない検査結果が CI ゲートで合格として扱われないように変更した。

GitHub の説明: Security scanner for MCP (Model Context Protocol) server configurations. Detects prompt injection, credential exposure, supply chain risks, and more.

スター
★ 4
フォーク
1
言語
Python
ライセンス
Apache-2.0
最新リリース
v0.21.0
原文を見る ↗GitHub で見る ↗

adudley78/mcp-audit は v0.28.0 を公開した。MCP(Model Context Protocol)サーバー設定を走査して、プロンプトインジェクション、認証情報の漏えい、サプライチェーンリスクを検出するセキュリティスキャナである。2026-11-06 のコミット(0e984ef)に含まれる今回の実質的な変更は、`reach` コマンドへの `--fail-closed` オプションの追加である。

`reach` は各エージェントの準備状態をカードにまとめて見せる検査である。デフォルトでは、すべてのエージェントが準備済みか確認できない場合に終了コード 0 を出力し、エージェントを一つも見つけない場合でも 0 である。人がカードを読むには都合が良いが、自動化されたゲートでは確認できなかった結果が合格として扱われる可能性がある。`--fail-closed` を付けると、エージェントが見つからない場合、いずれかのエージェントの判定が `couldn't check` である場合、またはスキャン中に収集エラーが記録された場合に終了コードが 1 になり、その理由は stderr に出力される。`--fleet` と併用する場合は、スキップされたファイルや想定より多くのファイルが読み込まれたデバイス、エージェントが存在しないデバイス、レポートにエラーが残っているデバイスでも失敗する。fleet リーダーは各レポートの `errors` 項目も数えるようになった。対話型のデフォルトはそのまま維持される。終了コードの完全な表は docs/reach.md に記載されている。

この修正は、2026-11-06 に Alekore Systems の Rene Atencio がリポジトリをレビューする中で発見した fail-open(失敗しても合格とする)終了の問題を直した結果であり、CHANGELOG に監査のクレジットが記載された。ただし対話型のデフォルト動作がそのままなので既存利用者の流れは変わらず、CI ゲートを厳格にするには `--fail-closed` を明示的に指定する必要がある。今回のコミットは 72 個のファイルで 38 行を追加し 34 行を削除しているが、その大部分は v0.27.0 から v0.28.0 に変わったバージョン表記と CHANGELOG の項目であり、検出精度やパフォーマンスを変更する内容は記録されていない。MCP 設定検査を CI に組み込んでいるチームにはそのまま活用できる修正だが、ゲートの厳格さを変える機能にとどまり、検出能力自体を高める変更とみなすのは早い。