code-guard-mcp について
code-guard-mcpは、コーディングエージェント向けにコード片や差分の一般的なセキュリティ問題を検査するMCPサーバーです。決定論的な行単位のルールで素早く一次確認できますが、完全な静的解析ではありません。
主な機能
- 01インジェクション、SSRF、秘密情報、暗号処理の検査
- 02統一差分の追加行をスキャン
- 03判定、検出内容、修正案を返却
- 04利用可能なルールの一覧表示
活用シーン
- 01生成コードを実行またはコミットする前の確認
- 02コミットワークフローで追加行をレビュー
MCP 対応
MCPクライアントに `scan_code`、`scan_diff`、`list_rules` を提供します。コーディングエージェントはコードや差分を送信し、セキュリティ上の検出内容を受け取れます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | スキャンするソースコード。 |
| language | string | いいえ | python、javascript、typescript。省略した場合は自動検出されます。 |
詳細
code-guard-mcp
コードをスキャンしてセキュリティバグを検出する MCP サーバーです。コーディングエージェントは、生成したコードや差分をコミットまたは実行する前に、このサーバーを呼び出します。ルールベースで、LLM は使用せず、無料です。
現在、新しいコードの半分以上は AI の支援を受けて作成されており、そのかなりの割合に、インジェクション、ハードコードされたシークレット、無効化された TLS チェック、安全でないデシリアライズといったよくある問題が含まれています。このサーバーは、一般的なケースを 1 回の呼び出しで検出します。迅速な一次チェックとして利用し、本格的なセキュリティレビューの代わりにはしないでください。
インストール
MCP クライアントの設定(Claude Desktop、Cursor、Claude Code など)に追加します。
{ "mcpServers": { "code-guard": { "command": "npx", "args": ["-y", "@mlawsonking/code-guard-mcp"] } } }
ツール
scan_code:コードのスニペットをスキャンします。判定(pass、review、block)と、ルール、カテゴリ、重大度、行番号、推奨される修正方法を含む検出結果のリストを返します。コマンドインジェクション、コードインジェクション、SQL インジェクション、SSRF、ハードコードされたシークレットと API キー、脆弱な暗号方式、安全でないデシリアライズ(pickle、yaml)、無効化された TLS 検証、XSS またはテンプレートインジェクション、ソースコードに残された個人データ(メールアドレス、米国の SSN、カード番号)を検出します。scan_diff:同じスキャンを unified diff の追加行だけに対して実行し、新しいファイルの行番号を正しく返します。コミットのループ内での利用に便利です。追加行のみを読み取るため、追加行と変更されていない行にまたがるパターンは検出されません。list_rules:ルールの完全なカタログを表示します。何をチェックし、何をチェックしないかを確認できます。項目は 32 件です。31 件のコードルールに加えて、22 種類の認証情報パターンと 3 種類の個人データパターンを含む、グループ化されたhardcoded-*項目が 1 件あります。
言語
JS/TS と Python に対応しています。対応言語は以上です。11 件のルールは JS/TS 用、14 件は Python 用、6 件は言語に依存しません。認識できない language の値は無視され、代わりにソースから言語を推測します。推測結果は js、py、unknown の 3 種類です。結果はファイルに含まれる内容によって異なります。import java.util.List; は Python と判定され、const 行を含む Go ファイルは JavaScript と判定され、func と import "fmt" だけを含む Go ファイルは unknown になります。unknown の場合は 31 件すべてのルールをすべての行に対して実行するため、より多く検出する一方で、バグではないものもより多く報告します。
対応していないこと
31 件のコードルールは正規表現で、1 行ずつ照合します。パーサーもデータフロー解析も汚染追跡もないため、SAST ツールが意味するところの静的解析ではありません。テキストを読み取ります。db.query("SELECT ... " + id) は 1 行であれば検出されますが、2 行に分割した時点で検出されなくなります。行にある DES という単語は、コメントや変数名に含まれていても、脆弱な暗号方式として検出されます。例外は hardcoded-* パターンです。これはソース全体を対象に実行されるため、複数行にわたる秘密鍵ブロックも検出されます。pass は、どのルールにも一致しなかったことを意味するだけで、コードが安全であることを意味するものではありません。
ルールの更新
このサーバーはおよそ 1 日に 1 回、ルールフィードに新しいルールセットがあるかを問い合わせ、あれば適用します。リクエストには 2 つの情報が含まれます。リクエスト元のサーフェス(ここでは facade)と、すでにインストールされているルールのバージョンです。マシン ID、ユーザー ID、ファイル名、スキャンした内容などは送信されません。
バンドルには Ed25519 署名が付与され、このパッケージにコンパイルされた公開鍵を使って検証されるため、どのミラーから配信されたかは関係ありません。署名、スキーマ、または ReDoS チェックに失敗したバンドルは破棄され、既存のルールがそのまま使用されます。--offline を指定するか、AGENT_GUARDS_NO_FEED=1 を設定するか、~/.agent-guards/config.json に {"feed": false} を記述すると、更新は無効になります。バンドル形式と自分で検証する方法:https://github.com/mlawsonking/MCP/blob/main/rules/README.md
同じ入力には常に同じ出力が返されます。API https://code-guard-api.vercel.app を呼び出します(独自のコピーを指定するには CODE_GUARD_API を設定します)。このリポジトリにある 6 つの agent guards の 1 つです:package-guard、agent-firewall、payment-guard、email-guard、code-guard、web-tools。MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。