🚀 GuardianMCP 🛡️
GuardianMCPは、プロジェクトを自動的に保護し、既知のセキュリティ脆弱性から守る、警戒心の強いセキュリティツールです。OSV.devデータベースを使用して、プロジェクトの依存関係をスキャンし、脆弱性を検出します。Cursor、VS Code、Claude DesktopなどのMCP互換のIDEで使用できます。
✨ 主な機能
- 自動脆弱性スキャン:npmとComposerの依存関係を自動的にスキャンします。
- リアルタイムアラート:CRITICALとHIGHの深刻度の問題に対して、リアルタイムにアラートを通知します。
- 3つのスキャンモード:完全スキャン、概要スキャン、CRITICAL-HIGHのみのスキャンが可能です。
- 自動トリガーサポート:IDEのルール(インストール時、コミット時、ビルド時)を通じて自動的にスキャンをトリガーできます。
- 多言語キーワード検出:英語、ラトビア語、フランス語、スペイン語、ドイツ語、ロシア語など、複数の言語のキーワードを検出できます。
- Dockerサポート:コンテナ化されたデプロイメントが可能です。
- 詳細なレポート:修復ガイダンスとCVEリンクを含む詳細なレポートを提供します。
- 高速かつ軽量:OSV.dev APIを使用して、高速かつ軽量に動作します。
- セキュリティ設計:脆弱性がゼロで、依存関係が最小限に抑えられています。
📊 セキュリティステータス

最新のセキュリティ監査:すべての依存関係がスキャンされ、脆弱性は検出されませんでした。
Node.js:最新のLTS(22.x)で、セキュリティアップデートが適用されています。
定期的なアップデート:毎週の依存関係チェックと毎月のセキュリティレビューが行われます。
詳細なセキュリティポリシーと監査情報については、SECURITY.mdを参照してください。
🚀 クイックスタート
好みの方法を選択してください。
オプション1: npm(ほとんどのユーザーにおすすめ)
npm install -g guardian-mcp
オプション2: ソースからインストール
git clone https://github.com/Kalvisan/guardian-mcp.git
cd guardian-mcp
npm install
npm run build
オプション3: Docker
docker pull kalmars/guardian-mcp:latest
docker-compose up -d
💻 IDEの設定手順
使用するIDEをクリックして、設定手順を表示します。
Cursor Editor(おすすめ)
Cursorの設定
CursorはネイティブでMCPをサポートしています。以下の手順に従って設定してください。
1. GuardianMCPをインストール
npm install -g guardian-mcp
2. Cursorを設定
Cursorの設定を開きます。
- macOS/Linux:
~/.cursor/config.json または Cursor Settings > Features > MCP Servers
- Windows:
%APPDATA%\Cursor\config.json
GuardianMCPの設定を追加します。
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
またはローカルインストールの場合
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/absolute/path/to/guardian-mcp/dist/index.js"]
}
}
}
3. 自動スキャンを有効にする(オプション)
プロジェクトに .cursor/rules.md を作成します。
# セキュリティルール
このプロジェクトで作業するとき:
- プロジェクト開始時にCRITICAL/HIGHの脆弱性をチェックする
- npm installまたはcomposer updateの後に自動的にスキャンする
- gitコミット前にCRITICALの問題があるかどうかを確認する
scan_mode="critical-high-only"でcheck_vulnerabilitiesツールを使用する。
4. Cursorを再起動
Cursorを完全に再起動して、GuardianMCPを読み込みます。
5. テストする
CursorのAIチャットを開き、以下を入力します。
Check my project for security vulnerabilities
GuardianMCPが自動的に依存関係をスキャンします!
Visual Studio Code
VS Codeの設定
VS Codeは拡張機能または設定を通じてMCPサーバーを使用できます。
方法1: Continue.dev拡張機能を使用する
- Continue.dev拡張機能をインストールします。
- Continueの設定(
.continue/config.json)を開きます。
- MCPサーバーの設定を追加します。
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
方法2: 直接設定する
- GuardianMCPをインストールします:
npm install -g guardian-mcp
- VS Codeの設定(
.vscode/settings.json)に追加します。
{
"mcp.servers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
3. 自動スキャンを有効にする
.vscode/rules.md を作成します。
以下の場合に自動的に脆弱性をチェックする:
- プロジェクトを開くとき
- npm install/composer updateを実行した後
- コミットを作成する前
4. VS Codeを再起動
ウィンドウを再読み込みします:Cmd/Ctrl + Shift + P → "Reload Window"
Claude Desktop
Claude Desktopの設定
Claude DesktopはビルトインでMCPをサポートしています。
1. GuardianMCPをインストール
npm install -g guardian-mcp
2. Claude Desktopを設定
設定ファイルを開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
GuardianMCPを追加します。
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
またはローカルインストールの場合
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/Users/you/path/to/guardian-mcp/dist/index.js"]
}
}
}
3. 自動スキャンを設定
~/.claude/rules.md(グローバル)またはプロジェクトの .claude/rules.md に追加します。
# GuardianMCPルール
以下の場合に自動的に脆弱性をスキャンする:
1. ユーザーが「security」、「vulnerability」、「CVE」、「audit」を言及したとき
2. パッケージをインストールした後
3. gitコミット前
自動スキャンにはscan_mode="critical-high-only"を使用する。
4. Claude Desktopを再起動
Claude Desktopを完全に終了して、再度開きます。
Windsurf Editor
Windsurfの設定
WindsurfはCursorと同様にMCPサーバーをサポートしています。
1. GuardianMCPをインストール
npm install -g guardian-mcp
2. Windsurfを設定
Windsurfの設定を開きます。
- 場所:
~/.windsurf/config.json
MCPサーバーを追加します。
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
3. プロジェクトルールを作成
プロジェクトに .windsurf/rules.md を追加します。
以下の場合に依存関係の脆弱性を自動的にスキャンする:
- プロジェクトの初期化時
- npm/composerコマンドの実行後
- コミット前のチェック時
4. Windsurfを再起動
エディターを再読み込みして、GuardianMCPを有効にします。
Zed Editor
Zedの設定
ZedはMCPサポートを追加中です。現在の状況を確認してください。
1. GuardianMCPをインストール
npm install -g guardian-mcp
2. Zedを設定
Zedの設定を開きます。
- macOS:
~/.config/zed/settings.json
- Linux:
~/.config/zed/settings.json
設定を追加します。
{
"assistant": {
"mcp_servers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
}
3. Zedを再起動
エディターを再読み込みします。
注意:ZedのMCPサポートは実験的なものです。最新の状況については、Zedドキュメントを参照してください。
Docker設定(任意のIDE)
Dockerの設定
GuardianMCPをDockerコンテナで実行し、任意のIDEから接続できます。
方法1: Docker Composeを使用する(おすすめ)
- リポジトリをクローンする
git clone https://github.com/Kalvisan/guardian-mcp.git
cd guardian-mcp
- ビルドして実行する
docker-compose up -d
- IDEを設定する
IDEのMCP設定で、以下を使用します。
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}
方法2: Docker Runを使用する
- イメージをビルドする
docker build -t kalmars/guardian-mcp:latest .
- コンテナを実行する
docker run -d --name guardian-mcp \
-v /path/to/your/projects:/projects:ro \
kalmars/guardian-mcp:latest
- IDEを設定する
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}
CursorでDockerを使用する場合
~/.cursor/config.json を編集します。
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}
ボリュームマウント
コンテナ外のプロジェクトをスキャンするには、以下のようにします。
docker run -d --name guardian-mcp \
-v /Users/you/projects:/projects:ro \
-v /Users/you/work:/work:ro \
guardian-mcp:latest
その後、以下のようにスキャンします。
Scan /projects/my-app for vulnerabilities
Dockerヘルスチェック
docker ps --filter name=guardian-mcp
コンテナを停止する
docker-compose down
docker stop guardian-mcp && docker rm guardian-mcp
その他のIDE / カスタム設定
汎用的なMCP設定
Model Context Protocolをサポートする任意のIDEに対して、以下の手順で設定できます。
1. GuardianMCPをインストール
npm install -g guardian-mcp
2. IDEのMCP設定を見つける
一般的な場所は以下の通りです。
~/.config/[IDE_NAME]/config.json
~/.config/[IDE_NAME]/settings.json
~/.[IDE_NAME]/mcp.json
3. GuardianMCPを追加
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
または、完全なパスを指定する場合は以下のようにします。
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/full/path/to/guardian-mcp/dist/index.js"]
}
}
}
4. 設定を確認する
IDEのAIアシスタントに以下を尋ねることでテストできます。
Use the check_vulnerabilities tool to scan my project
💻 使用例
基本的な使用法
GuardianMCPをIDEにインストールしたら、以下のことができます。
手動スキャン
AIアシスタントに以下を尋ねるだけです。
Check my project for security vulnerabilities
Scan package.json for critical issues only
Give me a full security audit
自動スキャン
IDEのルールファイル(.cursor/rules.md、.claude/rules.md など)でルールを設定します。
# セキュリティ自動化
以下のキーワードを言及したとき:security、vulnerability、CVE、audit、またはexploit
→ scan_mode="critical-high-only"でcheck_vulnerabilitiesを実行する
以下のコマンドを実行した後:npm install、npm update、composer install、composer update
→ 自動的に新しい脆弱性をスキャンする
gitコミットを作成する前:
→ CRITICALの脆弱性をチェックし、見つかった場合は警告する
高度な使用法
GuardianMCPは check_vulnerabilities ツールを提供しており、以下のパラメータを持っています。
| パラメータ |
タイプ |
オプション |
デフォルト |
説明 |
project_path |
文字列 |
任意のパス |
現在のディレクトリ |
プロジェクトディレクトリのパス |
file_type |
文字列 |
package.json、composer.json、both |
both |
スキャンするファイル |
scan_mode |
文字列 |
full、summary、critical-high-only |
full |
出力の詳細レベル |
例
完全スキャン
Check vulnerabilities with scan_mode="full"
クイックサマリー
How many vulnerabilities are in my project? (uses scan_mode="summary")
自動スキャンモード(おすすめ)
Scan for critical vulnerabilities only (scan_mode="critical-high-only")
🔍 スキャンモードの説明
full モード
最適なシナリオ:手動のセキュリティ監査、包括的なレビュー
すべての脆弱性を完全な詳細で表示します。
- CRITICAL、HIGH、MODERATE、およびLOWの深刻度
- 詳細な説明と修復手順
- 参照リンクとCVE ID
- 各パッケージの更新コマンド
出力例
## 🔴 express@4.17.1
**脆弱性ID**:GHSA-rv95-896h-c2vc
**深刻度**:CRITICAL
### ⚠️ CRITICAL RISK!
**説明**:Express.jsは不正なURLエンコーディングを持つリクエストを受け付けます。
**即時対応が必要**:
1. パッケージを更新する:npm update express
2. 脆弱な機能が使用されていないことを確認する
...
summary モード
最適なシナリオ:クイックなヘルスチェック、CI/CDダッシュボード
脆弱性の数のみを表示します。
出力例
## 📊 サマリー
- 🔴 Critical: 2
- 🟠 High: 5
- 🟡 Moderate: 12
- 🟢 Low: 3
**合計: 22 個の脆弱性**
scan_mode="full"で実行すると詳細を表示します。
critical-high-only モード
最適なシナリオ:自動スキャン、自動監視(ルールにおすすめ)
CRITICAL/HIGHの脆弱性の詳細情報を表示し、その他の脆弱性の数を表示します。
- ノイズを減らす
- 対応が必要な問題を強調する
- 自動スキャンに最適
- 中程度/低程度の脆弱性の詳細を非表示にする
出力例
## 🔴 lodash@4.17.20
**深刻度**:HIGH
**問題**:プロトタイプ汚染の脆弱性
**推奨事項**:npm update lodash
---
## 📊 サマリー
- 🔴 Critical: 1
- 🟠 High: 2
_また、8つの中程度/低程度の問題が見つかりました(非表示)。_
_すべてを表示するには、scan_mode="full"で実行してください。_
📋 深刻度レベル
| レベル |
アイコン |
対応 |
例 |
| CRITICAL |
🔴 |
直ちに更新する |
RCE、認証バイパス、特権昇格 |
| HIGH |
🟠 |
できるだけ早く更新する |
SQLインジェクション、XSS、CSRF |
| MODERATE |
🟡 |
更新を計画する |
DoS、情報漏洩 |
| LOW |
🟢 |
更新を検討する |
非推奨のパッケージ、軽微な問題 |
📄 サンプルルールファイル
使用可能なテンプレートについては、を参照してください。
claude-rules.md - すべてのシナリオをカバーする包括的なテンプレート
project-rules.md - プロジェクト固有の設定例
global-rules.md - すべてのプロジェクトに適用されるユーザー全体の設定
これらを以下の場所にコピーしてください。
- Cursor:
.cursor/rules.md
- Claude Desktop:
.claude/rules.md
- VS Code:
.vscode/rules.md(Continue.devを使用する場合)
📦 サポートされるエコシステム
| エコシステム |
ファイル |
状態 |
| npm (Node.js) |
package.json |
✅ サポートされています |
| Composer (PHP) |
composer.json |
✅ サポートされています |
| PyPI (Python) |
requirements.txt |
🔄 計画中 |
| Go Modules |
go.mod |
🔄 計画中 |
| Maven (Java) |
pom.xml |
🔄 計画中 |
| NuGet (.NET) |
*.csproj |
🔄 計画中 |
| RubyGems |
Gemfile |
🔄 計画中 |
| Cargo (Rust) |
Cargo.toml |
🔄 計画中 |
🛠️ トラブルシューティング
GuardianMCPがIDEに表示されない
-
インストールを確認する
npx guardian-mcp --version
which guardian-mcp
-
設定ファイルのパスが絶対パスであることを確認する
- ❌
"args": ["dist/index.js"]
- ✅
"args": ["/Users/you/guardian-mcp/dist/index.js"]
-
IDEを完全に再起動する(ウィンドウを再読み込みするだけではなく)
-
IDEのログを確認する
- Cursor: 開発者ツールを開く(Help > Toggle Developer Tools)
- VS Code: 出力パネル > 拡張機能ホスト
- Claude Desktop: View > Developer > Toggle Developer Tools
-
手動でテストする
node /path/to/guardian-mcp/dist/index.js
自動スキャンが機能しない
-
ルールファイルが存在することを確認する
cat .cursor/rules.md
cat .claude/rules.md
-
ルールにツール名が記載されていることを確認する
check_vulnerabilities を参照する必要があります
- 自動スキャンには
scan_mode="critical-high-only" を使用する
-
キーワードでテストする
- 「security」または「vulnerability」と言ってみます
- 自動スキャンがトリガーされるはず
-
IDEがルールをサポートしていることを確認する
- Cursor: ✅ ビルトインサポート
- Claude Desktop: ✅ ビルトインサポート
- VS Code: 拡張機能に依存します
Dockerコンテナが起動しない
-
ログを確認する
docker logs guardian-mcp
-
ビルドが成功したことを確認する
docker build -t kalmars/guardian-mcp:latest .
-
手動でテストする
docker run -it kalmars/guardian-mcp:latest
-
ヘルスチェックを行う
docker ps --filter name=guardian-mcp
OSV.dev APIエラー
-
インターネット接続を確認する
-
APIがアクセス可能であることを確認する
curl https://api.osv.dev/v1/query
-
レート制限:OSV.devにはレート制限があります
- 数分待ってから再試行します
- スキャン頻度を減らします
-
ファイアウォール:外部へのHTTPS通信が許可されていることを確認します
🤝 コントリビューション
コントリビューションは大歓迎です!改善の余地がある領域は以下の通りです。
- 追加のエコシステムサポート(Python、Go、Rustなど)
- より良いバージョン範囲の解析
- API呼び出しを減らすためのキャッシュ
- IDE固有の最適化
- テストカバレッジ
- ドキュメントの改善
📄 ライセンス
MIT - LICENSE ファイルを参照してください。
📚 リソース
⚠️ セキュリティに関する注意事項
GuardianMCPは既知の脆弱性を特定するのに役立ちますが、以下の代替手段にはなりません。
- 包括的なセキュリティ監査
- ペネトレーションテスト
- 安全なコーディング慣例
- 定期的な依存関係の更新
- セキュリティトレーニング
本番環境にデプロイする前に、常に依存関係の更新をレビューしてテストしてください。
GuardianMCPチームによって 🛡️ で作られました
バグを報告する ·
機能をリクエストする ·
GitHubでスターをつける