mcpField
B
Bug Bounty Programs

Bug Bounty Programs

リモート
pipeworx.ioセキュリティ05 日前に更新
リポジトリ公式サイト

Bug Bounty Programs について

Bug Bounty Programs は、Bugcrowd、YesWeHack、HackerOne の公開プログラム一覧を検索する MCP サーバーです。セキュリティ研究者向けに、対象範囲や公開されている報奨情報、HackerOne の開始日を照会します。脆弱性情報や研究者プロフィールは扱いません。

主な機能

  1. 013 プラットフォーム横断検索
  2. 02報奨額・日付・ワイルドカード範囲で絞り込み
  3. 03プログラムの対象範囲と報奨情報を取得
  4. 04新規開始の HackerOne プログラムを検索

活用シーン

  1. 01プラットフォームや報奨額から公開プログラムを発見
  2. 02参加候補の対象資産を確認
  3. 03公開済みの報奨段階を調査

MCP 対応

公開バグ報奨プログラムの検索と詳細取得を行うツールを MCP 経由で提供します。stdio によるローカル実行、または Pipeworx ゲートウェイ経由の接続に対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/bug-bounty-programs/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/bug-bounty-programs

Bugcrowd、YesWeHack、HackerOne が公開するディレクトリから取得した、公開バグバウンティプログラムのディレクトリデータです。プログラム名、報奨金の範囲、ステータス、スコープ内のアセットを含みます。脆弱性の内容、リサーチャーのプロフィールやハンドル名は含みません。

Pipeworx の一部です。AI エージェントを 1875 以上の稼働中のデータソースに接続する MCP ゲートウェイです。これは独立した非公式のインテグレーションであり、上流プロバイダーとは提携関係になく、推奨も公開もされていません。

ツール

  • bounty_programs_search(platform?, query?, min_bounty?, launched_since?, has_wildcard?, limit?) — 1 つまたは 3 つすべてのプラットフォームを対象に、名前、最低報奨金(USD)、開始日(HackerOne のみ。詳細は以下を参照)、およびスコープに *.example.com のようなワイルドカードアセットが含まれるかどうかで検索します(yeswehack/hackerone ではリアルタイムに確認します。bugcrowd ではスコープにログインが必要であり、機能が壊れているわけではないため、エラーの代わりに説明用の note を含む count: 0 を返します)。
  • bounty_program(platform, handle) — プラットフォームとハンドル名を指定して、プログラムを 1 件取得します。YesWeHack は深刻度 x アセット価値の完全な報奨金表と実際のスコープを返します。HackerOne は実際のスコープを返しますが、公開スキーマのどこにも公開されていないため、数値の報奨金表は返しません。Bugcrowd はどちらも返さず、その理由を示します。
  • bounty_new_programs(days) — 実際の開始日を基準に、過去 N 日間に開始されたプログラムを取得します。HackerOne のみ対応しています。Bugcrowd/YesWeHack がこの機能に正確に対応できない理由については、以下の「含まれないもの」を参照してください。

認証

認証キーは不要です。以下のすべてのエンドポイントは、アカウント、トークン、API キーなしで応答します。

データソース

  • https://bugcrowd.com/engagements.json — ページ分割された(?page=N、1ページあたり24件、paginationMeta.totalCount)公開プログラムの一覧です。プログラム名、URL、報奨金の概要、業界、アクセス状況が含まれます。スコープ/対象データはありません — Bugcrowd のスコープ「公開」アクションは、研究者向けサインイン領域である /h/engagements/{handle}/reveal.json にリダイレクトします。これは実際のログイン制限であり、バグではありません。そのため、bounty_program/has_wildcard は、空の結果を黙って返すのではなく、その旨を示します。
  • https://api.yeswehack.com/programs(一覧、?page=N)と https://api.yeswehack.com/programs/{slug}(詳細) — 3つの中で最も情報が豊富です。詳細では、scopes[](実際のアセット識別子。一部はワイルドカード付き)、out_of_scope、reward_grid_default/low/medium/high/critical/very_low が返されます。これは実際の重大度とアセット価値ティアごとの報奨金表です(プログラムが実際に使用するティアのみ、null 以外の値を持ち、それ以外はゼロではなく null です)。このエンドポイントにはローンチ日フィールドはありません。last_update_at(最終変更日時)のみであり、ローンチを意味すると誤解させないよう、ここでは launched_at として提示することはありません。
  • https://hackerone.com/graphql(POST、未認証) — query { teams }/query { team(handle) }。イントロスペクションは無効になっています。そのため、以下の各フィールド名は、推測した名前を試し、GraphQL が返す「X のつもりですか?」というエラーを読み取って見つけたものであり、公開されたスキーマ文書から得たものではありません。
    • teams(first/last, after/before):handle name offers_bounties submission_state launched_at — launched_at は実在することが確認済みのローンチ日です(hackerone.com/security → 2013-11-06 と照合済み。これはプラットフォーム最初のプログラムです)。last: N は作成日時が新しいチームを N 件返します。これを bounty_new_programs が遡ってたどります。機能する order_by の値は見つかりませんでした(order_by: {field: ..., direction: DESC} は構文上受け付けられますが、field に試した名前はすべて拒否されました)。そのため、並べ替えは明示的な日付順ではなく、連続した内部 ID に依存します。
    • team(handle).structured_scopes_search(first):ユニオン(DocumentUnion)です — ... on StructuredScopeDocument { identifier asset_type eligible_for_bounty eligible_for_submission instruction } を使用します。identifier は実際のスコープアセット(ドメイン/URL)で、ワイルドカードの場合もあります(*.rubyonrails.org、*.cloudflarepartners.com は稼働中のデータで確認済みです)。確認できた範囲では、数値の報奨金額はありません — team.bounty_table は型として存在しますが、考えられるフィールド名(rewards、severities、low_bounty/high_bounty、min/max、field_names など)はすべて「存在しません」と返されました。HackerOne が実際のフィールド名を文書化した場合は、bountyProgram() の hackerone ブランチに追加してください。

ここにないもの:Immunefi

Immunefi は、このパックには意図的に含まれていません。/explore とすべての /bug-bounty/{slug}/ ページは公開されており、ログインは不要ですが、実際のスコープ一覧と重要度別の報酬表は、安定して文書化された JSON エンドポイントとしてアクセスできない内部 API からクライアント側で読み込まれます。2026-10-08 に確認し、対象外と判断しました。

  • サーバーでレンダリングされた HTML:ページ全体(/bug-bounty/ens/ は 200、約 210KB)には報酬表のフィールドが一切なく、0x... 形式のコントラクトアドレスが 1 つだけ含まれています。スコープ一覧はハイドレーション後にクライアント側でレンダリングされます。
  • Next.js RSC のフライトペイロード(RSC: 1 ヘッダー。Next の旧 _next/data/*.json に相当する App Router 版):同じ結果で、約 30KB のレスポンスに報酬やスコープに関するキーはありません。
  • robots.txt / sitemap-dynamic.xml:公開されており認証も不要です。また、プログラムのスラッグ(/bug-bounty/{slug}/ が約 166 件)の発見には役立ちますが、サイトマップに含まれるのは lastmod(最終コンテンツ変更日)だけで、公開日は含まれません。
  • プログラムごとに真に公開されている静的な情報は、Immunefi がページの SEO メタディスクリプションタグに埋め込んでいる「最大 $X の報酬」という行です。これは実際の情報ですが、最上位の金額 1 つだけでは、他の 3 つのプラットフォームの構造化されたスコープおよび報酬表と並べて、プログラムレコードとして提供するには情報が少なすぎます。

Immunefi がこの情報の安定した JSON エンドポイントを公開するか、こちらで見つけた場合は、yeswehack と同じ形式に従って、4 つ目の platform 値として追加します。

ここにないもの:Intigriti

確認していません。このパックの要件として指定されたとおり、Intigriti の公開ディレクトリの閲覧にはリサーチャーアカウント/トークンが必要です。ログインの背後からスクレイピングするのではなく、対象外としました。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "bug-bounty-programs": {
      "url": "https://gateway.pipeworx.io/bug-bounty-programs/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/bug-bounty-programs/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツールである ask_pipeworx、 discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式を返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、パック固有のツールとともに共有ツールが約 30 個一覧表示されます。接続の initialize レスポンスには、その正確な範囲が記載されており、特定の日における正式な回答となります。

これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うと、このパックでは扱えない質問にも、カタログ全体にルーティングする ask_pipeworx を通じて回答できます。そのため、MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントを接続する方法はありません。追加スキーマのコンテキストコストがルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。

または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も同じゲートウェイと同じ 1875 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使えばすべてのツールにアクセスできます。

MCP クライアントを使わない場合:HTTP 経由で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/bounty_programs_search \
  -H 'Content-Type: application/json' \
  -d '{"platform":"yeswehack","min_bounty":1000,"limit":10}'

最初の呼び出しにアカウントは不要です。ツールの詳細を確認するには、GET https://gateway.pipeworx.io/v1/tools/bounty_programs_search を使います。ツールを見つけるには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を呼び出します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイを経由する往復通信も不要です。

{
  "mcpServers": {
    "bug-bounty-programs": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-bug-bounty-programs"]
    }
  }
}

または、直接実行して起動を確認します。

npx -y @pipeworx/mcp-bug-bounty-programs

stdin/stdout 経由で MCP を使用し、このパックのツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールはありません。ソースもツールも同じですが、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使う

ツールを直接呼び出す代わりに、平易な英語で質問できます。この方法は、上記のパックエンドポイントでもフルゲートウェイでも使えます。

ask_pipeworx({ question: "your question about Bug Bounty Programs data" })

ゲートウェイが適切なツールを選び、引数を自動的に入力します。

More

License

MIT

コメント

MCP は初めてですか?

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

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