mcpField
E
env-secret-exposure-analyzer-mcp

env-secret-exposure-analyzer-mcp

ローカル
github.com/vola-treblaセキュリティ023 週間前に更新

env-secret-exposure-analyzer-mcp について

プロジェクト内のファイルやコードに含まれる秘密情報を検出する、開発者向けの MCP サーバーです。ハードコードされた認証情報、.gitignore の対象漏れ、実行時のログへの出力を調べ、値全体ではなくマスク済みのプレビューを返します。

主な機能

  1. 0120 種類以上の秘密パターンを検査
  2. 02機密ファイルの .gitignore 対象を確認
  3. 03ログに出力される認証情報を検出
  4. 04重大度とマスク済みプレビューを報告

活用シーン

  1. 01AI エージェントにプロジェクトを読ませる前の監査
  2. 02プロジェクトファイルのコミット前の秘密情報確認
  3. 03認証情報を出力するデバッグログの特定

MCP 対応

MCP クライアントに、秘密情報のスキャン、.gitignore の対象確認、ログ漏えい検査の 3 つのツールを提供します。結果にはファイルパス、行番号、重大度、マスク済みプレビューが含まれます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"vola-trebla-env-secret-exposure-analyzer": {
"command": "npx",
"args": [
"-y",
"env-secret-exposure-analyzer-mcp"
]
}
}
}
起動コマンドnpx -y env-secret-exposure-analyzer-mcp

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

パッケージ
npmenv-secret-exposure-analyzer-mcp0.2.0

ツール

5

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

パラメーター型必須説明
extensionsarrayいいえスキャンするファイル拡張子。例:[".ts",".js",".env"]。デフォルトでは一般的なソースファイルをスキャンします。
projectPathstringはいスキャン対象のプロジェクトルートの絶対パス。例:/project

詳細

🔐 env-secret-exposure-analyzer-mcp

npm CI License: MIT

AI エージェントがデバッグセッションを行えば、あなたのシークレットが漏洩する可能性があります。

プロジェクト内のシークレット漏洩リスク(ハードコードされた API キー、保護されていない .env ファイル、実行時に認証情報を出力する console.log 呼び出し)をスキャンする MCP サーバーです。エージェントが誤ってそれらを読み上げてしまう前に検出します。


🤔 問題点

AI エージェントに設定の問題をデバッグするよう依頼します。エージェントは src/config.ts を読み込みます。その中には次のような記述があります。

console.log('Config loaded:', JSON.stringify(config));
console.log(process.env.DATABASE_PASSWORD);

これで、エージェントのコンテキストにはデータベースのパスワードが含まれてしまいました。エージェントがそれをログに記録したり、要約に含めたり、別のツールに渡したりする可能性があります。さらに .env が .gitignore に含まれていないため、次の git push で残りの情報も漏洩します。

こうした事態が起きるのに、エージェントに悪意がある必要はありません。役に立とうとするだけで十分です。

env-secret-exposure-analyzer-mcp は、こうした事態を未然に防ぎます。🔐


🛠️ ツール

scan_for_secrets

ソースファイル、設定ファイル、.env ファイルをスキャンし、20 種類以上のシークレットパターンを検出します。ファイルパス、行番号、重大度、マスク済みのプレビューを返します。値全体が表示されることはありません。

検出対象:

  • AWS アクセスキーとシークレットキー
  • GitHub トークン(ghp_、gho_、ghs_)
  • Stripe シークレットキー/公開可能キーと Webhook シークレット(whsec_)
  • Anthropic、OpenAI の API キー
  • SendGrid(SG.xxx)、Twilio の認証トークンとアカウント SID
  • Google API キーと OAuth クライアントシークレット(GOCSPX-)
  • Slack トークン(xox*)
  • 秘密鍵(-----BEGIN ... PRIVATE KEY-----)
  • 認証情報が埋め込まれたデータベース URL(postgres://user:pass@host)
  • JWT シークレット、セッションシークレット、暗号化キー
  • Sentry DSN、Datadog API キー
  • ハードコードされた一般的なパスワード、シークレット、トークン
Secret Scan Results
  Project:       /project
  Files scanned: 24
  Findings:      5

  [CRITICAL] .env:3 — AWS Access Key
    Preview: AKIA****MPLE
  [CRITICAL] .env:7 — Database URL with password
    Preview: post****sswd
  [CRITICAL] src/auth.ts:12 — Hardcoded JWT secret
    Preview: my-s****ecret
  [HIGH] .env:14 — Hardcoded session secret
    Preview: sess****key!
  [MEDIUM] .env:28 — Sentry DSN
    Preview: http****7890
check_gitignore_coverage

機密ファイル(.env、.env.local、secrets.json、秘密鍵、証明書)が .gitignore の対象になっているか確認します。誤ってコミットされる可能性があるファイルを警告します。

Gitignore Coverage Check
  Project: /project

  ✗ .env → Add to .gitignore: .env
  ✗ .env.local → Add to .gitignore: .env.local
  ✓ secrets.json
scan_for_log_leaks

ソースファイルをスキャンし、実行時に process.env の変数や、シークレットを連想させる名前のオブジェクトを出力する console.log/logger の呼び出しを検出します。よくある「デバッグ用の行にすぎない」というミスを見つけます。

Log Leak Scan
  Project:       /project
  Files scanned: 18
  Findings:      3

  [CRITICAL] src/config.ts:8
    console.log("Config loaded:", JSON.stringify(config));
  [HIGH] src/server.ts:42
    console.log(process.env.AWS_SECRET_ACCESS_KEY);
  [HIGH] src/db.ts:15
    logger.info({ password: dbConfig.password });

🧪 実際の使用例

データベース URL、AWS、Stripe、Twilio、SendGrid、Google OAuth、Sentry、JWT シークレット、暗号化キーなど、20 個のシークレットを含む現実的な .env を用意します。この MCP を使う前は、AI エージェントがファイルを読んでも何が機密情報なのかわからず、それらの値を生成コードや応答に使ってしまう可能性があります。

scan_for_secrets を 1 回実行すると、16 件の検出結果が得られます。すべて重大度別に分類され、プレビューはすべてマスクされています。エージェントは、何かに触れる前に危険な情報を正確に把握できます。


⚡ セットアップ

{
  "mcpServers": {
    "secret-scanner": {
      "command": "npx",
      "args": ["-y", "env-secret-exposure-analyzer-mcp"]
    }
  }
}

🚀 使用方法

「このプロジェクトをスキャンして、漏洩する可能性のあるシークレットや API キーがないか確認してください。.env ファイルが .gitignore に含まれているか確認し、認証情報を漏洩させる可能性のある console.log 呼び出しも探してください。」

エージェントは 3 つのツールを順に実行し、全体像を報告します。ハードコードされているもの、保護されていないもの、ログに出力されているものを確認できます。

以下と併用すると効果的です。


📦 リンク

ライセンス

MIT

コメント

MCP は初めてですか?

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

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