Ghosthunt について
Ghosthuntは、開発用ファイルや設定にあるAPIキー、トークン、認証情報を探すローカル実行のMCPサーバーです。検出場所や深刻度、対処方法を示し、データを端末外へ送信しません。
主な機能
- 01環境ファイルと設定をスキャン
- 02シェル履歴内の秘密情報を確認
- 0335種類以上のパターンを検出
- 04深刻度と対処方法を表示
- 05スキャンの健全性スコアを算出
活用シーン
- 01開発端末の漏えい認証情報を監査
- 02深刻度別に検出結果を確認
- 03ローカル環境の安全性を手早く確認
MCP 対応
MCPクライアント向けに、詳細スキャン用の`scan_secrets`と簡易チェック用の`scan_summary`を提供します。スキャンはローカルで行われ、ネットワーク通信はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| include_low_severity | boolean | いいえ | 低重大度の検出項目(テスト用 key など)を含めます。デフォルト:true。 |
詳細
GhostHunt
マシン上に漏えいしたシークレットをすべて見つけます。
GhostHunt は、開発用マシンをスキャンして、確認し忘れた場所に潜む API キー、トークン、認証情報を見つける MCP サーバーです。プロジェクト内に散在する .env ファイル、シェルの履歴、AWS/SSH/Docker の設定などが対象です。
すべてローカルで実行されます。データがマシンから外部に送信されることはありません。
スキャン対象
- 環境ファイル — ホームディレクトリ以下にある
.env、.env.local、.env.productionなどをすべて再帰的に検索します - AWS 認証情報 —
~/.aws/credentialsとセッショントークン - SSH キー —
~/.ssh/にある保護されていない秘密鍵 - Docker 設定 —
~/.docker/config.jsonにあるレジストリ認証トークン - npm/PyPI トークン —
~/.npmrc、~/.pypircにある認証トークン - GitHub CLI —
~/.config/gh/hosts.ymlにある OAuth トークン - シェルの履歴 —
bash、zsh、fishのコマンドに貼り付けられた API キー - Kubernetes —
~/.kube/configの認証情報 - Netrc —
~/.netrcのパスワード - 35 種類以上のシークレットパターン — AWS、Stripe、GitHub、OpenAI、Anthropic、Google、Slack、Twilio、SendGrid、データベース接続文字列、秘密鍵など
インストール
Claude Desktop
Claude Desktop の設定ファイル(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"ghosthunt": {
"command": "npx",
"args": ["-y", "ghosthunt"]
}
}
}
Claude Desktop を再起動します。その後、Claude に 「マシン上に漏えいしたシークレットがないかスキャンして」 と尋ねます。
直接使用する場合
npx ghosthunt
ツール
scan_secrets
詳細なフルスキャンを実行します。見つかった項目をすべて、ファイルパス、行番号、重大度、対処手順とともに返します。
プロンプトの例:「GhostHunt のフルスキャンを実行して、すべて表示して」
scan_summary
簡易的なヘルスチェックを実行します。ヘルススコア(0~100)と重大度別の件数を返します。問題があるかどうかを確認するために、まず実行してください。
プロンプトの例:「GhostHunt で簡単なヘルスチェックをして」
出力例
# GhostHunt Scan Report
**Health Score: 37/100** (Critical)
- Secrets found: **12**
- Critical: 3 | High: 5 | Medium: 2 | Low: 2
- Locations scanned: 47
- Scan time: 142ms
## Environment Files (.env)
- **[CRITICAL]** Stripe Live Secret Key
- File: `/Users/you/project-a/.env:4`
- Context: `STRIPE_SECRET_KEY`
- Value: `sk_l****_8xQ`
- **[CRITICAL]** OpenAI API Key
- File: `/Users/you/side-project/.env.local:12`
- Context: `OPENAI_API_KEY`
- Value: `sk-p****kFJ9`
## Shell History
- **[HIGH]** Bearer Token in Header
- File: `/Users/you/.zsh_history:8847`
- Context: `curl -H "Authorization: Bearer sk_live_...`
- Value: `sk_l****_m3K`
## Recommendations
1. **Rotate critical secrets immediately.** Any API key marked CRITICAL
should be revoked and regenerated from the provider's dashboard.
2. **Clear your shell history** of sensitive commands.
3. **Audit your .env files.** Ensure they are in .gitignore.
ヘルススコア
スコアは 100 から始まり、GhostHunt が見つけた内容に応じて減点されます。
| 検出項目 | 減点 |
|---|---|
| 致命的なシークレット | -15 |
| 重大度:高 | -8 |
| 重大度:中 | -3 |
| 重大度:低 | -1 |
スコアが 50 未満の場合、すぐに対処が必要なシークレットがあります。
プライバシー
GhostHunt はすべてローカルマシン上で実行されます。以下の動作は行いません。
- データをサーバーに送信する
- 外部に接続したり、使用状況を追跡したりする
- スキャン結果をどこかに保存する
- インターネットにアクセスする
シークレットはマシン上に留まります。スキャン結果は Claude との会話に留まります。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。