HackTricks MCP Server について
HackTricks MCP Serverは、セキュリティ実務者やコーディングエージェントがHackTricksのペンテスト資料を検索・参照するためのサーバーです。検索結果の集約、ページ見出しの表示、指定セクションやコードのみの抽出により、必要な内容を絞って取得できます。
主な機能
- 01語句や正規表現で検索
- 02ファイルとセクション別に結果を集約
- 03ページの見出し一覧を表示
- 04指定セクションを抽出
- 05コードブロックとコマンドを取得
- 06ドキュメントのカテゴリを閲覧
活用シーン
- 01攻撃手法に関する情報の検索
- 02セキュリティ評価で使うコマンドの取得
- 03ページ全体を読む前に関連箇所を特定
- 04HackTricksのトピックカテゴリを探索
MCP 対応
HackTricksの検索、カテゴリやページ見出しの閲覧、ページ全体・指定セクション・コードブロックの取得に使う7つのツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返すファイルの最大数(デフォルト:20)。小さいほど高速です。すばやく検索する場合は 5 に設定します。 |
| query | string | はい | 検索語。具体的に指定してください(例:'SUID privilege escalation'。'privilege' のみではなく)。正規表現に対応しています。 |
| category | string | いいえ | 強く推奨します。一般的なカテゴリー:'pentesting-web'(XSS、SQLi、SSRF)、'linux-hardening'(権限昇格、capabilities)、'network-services-pentesting'(SMB、FTP、SSH)、'windows-hardening'、'mobile-pentesting'、'cloud-security'。すべてのカテゴリーを確認するには list_hacktricks_categories を使用してください。 |
詳細
HackTricks MCP サーバー
MCP(Model Context Protocol)サーバーです。Claude から HackTricks のペネトレーションテスト用ドキュメントを直接検索し、内容を照会できます。
特長
- すばやく検索 - エイリアス(sqli、xss、ssrf など)にも対応し、エクスプロイト情報を一度の呼び出しで取得します
- ファイルごとにグループ化された検索結果 - ファイルごとに結果をまとめ、マッチ数、タイトル、関連セクションを表示します
- ページの概要 - 関連セクションを特定するための目次をすばやく表示します
- セクションの抽出 - ページ全体ではなく、特定のセクションを読み取ります(トークン効率に優れています)
- チートシートモード - ページからコードブロックやコマンドだけを抽出します
- カテゴリの参照 - 利用可能なトピックとファイルパスを確認できます
- 高速な grep 検索 - ripgrep を使用してすばやく結果を取得します
- セキュリティ強化 - コマンドインジェクションとパストラバーサルを防止します
クイックスタート
インストール
npm install -g hacktricks-mcp-server
postinstall スクリプトが HackTricks リポジトリを自動的にクローンします(初回インストール時は約 2 分かかります)。
Claude Desktop の設定
Claude の設定に追加します(~/.claude/settings.json)。
{
"mcpServers": {
"hacktricks": {
"command": "npx",
"args": ["hacktricks-mcp-server"]
}
}
}
Claude Desktop を再起動して、次のように試してください:「HackTricks で SQL インジェクションを検索して」
代替方法:ソースからインストール
git clone https://github.com/Xplo8E/hacktricks-mcp-server.git
cd hacktricks-mcp-server
git submodule update --init --recursive
npm install
npm run build
ソースからインストールする場合の設定:
{
"mcpServers": {
"hacktricks": {
"command": "node",
"args": ["/absolute/path/to/hacktricks-mcp-server/dist/index.js"]
}
}
}
使用例
Claude Desktop で設定すると、次のように質問できます。
- 「HackTricks で SQL インジェクションの手法を検索して」
- 「SUID の権限昇格コマンドを教えて」
- 「XSS ペイロードを見せて」
- 「HackTricks のペネトレーションテストカテゴリをすべて一覧表示して」
- 「XXE の脆弱性を悪用するにはどうすればよいですか?」
このサーバーは、HackTricks を効率的に検索するための 7 つの専用ツールを提供します。
利用可能なツール
hacktricks_quick_lookup
⚡ エクスプロイト情報を一度の呼び出しで検索します。検索して最適なページを見つけ、エクスプロイト関連のセクションとコードブロックをまとめて返します。
パラメーター:
topic(文字列、必須):検索する攻撃や手法(例:'SUID'、'sqli'、'xss'、'docker escape')category(文字列、任意):結果をすばやく絞り込むためのカテゴリフィルター
対応エイリアス: sqli、xss、rce、lfi、rfi、ssrf、csrf、xxe、ssti、idor、jwt、suid、privesc
例:
hacktricks_quick_lookup("SSRF", category="pentesting-web")
利点: 「X を悪用するにはどうすればよいですか?」という質問に対し、3 回以上必要だったツール呼び出しを 1 回に減らせます。
search_hacktricks
HackTricks のドキュメントを検索します。検索結果はファイルごとにグループ化され、マッチ数、ページタイトル、関連セクションの見出しが表示されます。
パラメーター:
query(文字列、必須):検索語または正規表現パターンcategory(文字列、任意):特定のカテゴリに絞り込みます(例:'pentesting-web')limit(数値、任意):グループ化された結果の最大数(デフォルト:20)
出力例:
Found matches in 5 files for: "SUID"
────────────────────────────────────────────────────────────
📄 **Linux Privilege Escalation**
Path: src/linux-hardening/privilege-escalation/README.md
Matches: 12
Sections: SUID Binaries | Finding SUID | GTFOBins
Preview:
L45: Find files with SUID bit set...
L78: Common SUID exploitation techniques...
────────────────────────────────────────────────────────────
get_hacktricks_outline
ページの目次(すべてのセクション見出し)を取得します。ページ全体を読む前に使用すると、構成を把握できます。
パラメーター:
path(文字列):Markdown ファイルへの相対パス
出力例:
# Linux Privilege Escalation
## Enumeration
### System Information
### Network
## SUID Binaries
### Finding SUID Files
### Exploiting SUID
## Capabilities
利点: 500 行以上を読む代わりに、約 20 行でページの構成を確認できます。
get_hacktricks_section
見出し名を指定して、ページから特定のセクションを抽出します。ページ全体を読むよりも効率的です。
パラメーター:
path(文字列):Markdown ファイルへの相対パスsection(文字列):抽出するセクションの見出し(一部一致、大文字と小文字を区別しません)
例:
get_hacktricks_section("src/linux-hardening/privilege-escalation/README.md", "SUID")
利点: ページ全体(約 3000 トークン)ではなく、「SUID Binaries」セクションだけ(約 200 トークン)を読めます。
get_hacktricks_cheatsheet
ページからコードブロックだけを抽出します。コマンド、ペイロード、例だけが必要な場合に便利です。
パラメーター:
path(文字列):Markdown ファイルへの相対パス
出力例:
find / -perm -4000 2>/dev/null
./vulnerable_suid -p
利点: 「コマンドを教えて」といった場合に、説明文を省略できます。
get_hacktricks_page
HackTricks のページの全内容を取得します。
パラメーター:
path(文字列):Markdown ファイルへの相対パス
警告: ページが非常に長い場合があります(3000 トークン以上)。代わりに get_hacktricks_outline と get_hacktricks_section の併用をご検討ください。
list_hacktricks_categories
カテゴリとその内容を一覧表示します。
パラメーター:
category(文字列、任意):展開するカテゴリ
カテゴリを指定しない場合: 最上位のカテゴリを一覧表示します カテゴリを指定した場合: ファイルパスを含むディレクトリツリー全体を表示します
効率的な使用パターン
トークンを最適に使用するには、Claude は次の手順に従います。
- カテゴリフィルターで検索する → コンテキスト付きのグループ化された結果を取得します
- 関連ページのアウトラインを取得する → 読む前に構成を確認します
- 特定のセクションを抽出する → 必要な部分だけを読みます
- チートシートを取得する → コマンドをすばやく確認します
変更前(非効率):
search_hacktricks("SUID") → 50 raw lines
get_page(file1) → 3000 tokens
get_page(file2) → 2500 tokens
Total: ~5500 tokens, 3 calls
変更後(効率的):
search_hacktricks("SUID", category="linux-hardening") → Grouped results
get_outline(best_match) → 20 lines
get_section(best_match, "SUID") → 200 tokens
Total: ~400 tokens, 3 calls
要件
- Node.js(v18 以降)
- ripgrep(
rg)- 通常、macOS/Linux にはプリインストールされています - Bun(パッケージ管理用)
開発
ウォッチモード:
bun run dev
ローカルでテストする:
bun run start
コントリビューション
コントリビューションを歓迎します。このサーバーの改善にご協力いただける場合は、次の手順に従ってください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/improvement) - 変更を加え、ローカルでテストします
- プルリクエストを送信します
新機能にはテストを含め、既存のコードスタイルを維持してください。
ライセンス
MIT
クレジット
- Carlos Polop による HackTricks
- Model Context Protocol SDK を使用して構築
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。