
実際の秘密を発見し、リアルタイムで検証し、クライアントサイドのインテリジェンスからエクスプロイトパスを構築する高度な偵察エンジン。
Reconixは、許可されたセキュリティテスト、バグ報奨金プログラム、防御研究のためにのみ設計されています。
無許可のスキャンは違法であり、コンピュータ詐欺法の対象となります。
完全な免責事項はDISCLAIMER.mdをご覧ください。
単に正規表現マッチングして結果をダンプするだけの基本的なスキャナーとは異なり、Reconixは以下のことを行います:
シークレットをライブで検証 — GitHub、Stripe、OpenAI、Supabase、SendGrid、Anthropic、HuggingFace、Linearの実際のAPIを呼び出し、キーが有効、無効、期限切れ、長期有効かを確認します。キーが実際に機能するか推測する必要はもうありません。
エクスプロイトチェーンを構築 — 関連する発見結果を自動的に接続し、「JWT + Supabase + APIエンドポイント → 不正データアクセス」や「検証済みシークレット + 管理パネル → 権限昇格」といった実用的な攻撃パスを生成します。
10層の分析で誤検出をフィルタリング — 他のツールが誤ってシークレットとして報告するReact内部、CSSクラス、ドキュメントURL、プレースホルダー、ミニファイされたゴミを無視します。
ソースマップを再構築 — .mapファイルとインラインソースマップから元のソースコードを復元し、再構築されたコードをミニファイされたバンドル内のシークレットについてスキャンします。
自己修復ブラウザ — クラッシュしたPuppeteerインスタンスをスキャン中に自動的に検出し、再起動します。進行状況は失われません。
クライアントインテリジェンスを抽出 — すべてのJavaScriptを集約して、APIエンドポイント(ユーザー/管理者/内部)、環境変数(NEXT_PUBLIC_*、REACT_APP_*)、サードパーティサービス(Supabase、Stripe、Firebase、Clerk)、機能フラグを検出します。
優先度駆動のクロール — URLをインテリジェントにスコアリングし(JSファイル、API、ソースマップが優先)、静的アセットに時間を浪費する前に高価値のターゲットを見つけます。
ライブJWTイントロスペクション — JWTをデコードして発行者、ロール、有効期限を明らかにし、長期有効(1年以上)および有効期限なしのトークンをセキュリティ上の懸念としてフラグ付けします。
Supabase service_role検出 — JWTがservice_role権限を持つ場合、行レベルセキュリティ(RLS)をすべてバイパスするため、重要なデータベース侵害パスを特定します。
Firebase Realtime DBテスト — Firebase認証情報を検出し、/.jsonエンドポイントが認証なしのデータベースダンプを許可しているかテストします。
GraphQLイントロスペクション検出 — /graphqlエンドポイントを自動的にプローブし、スキーマイントロスペクションが有効かどうか(情報漏洩)をチェックします。
CORS設定ミススキャン — APIエンドポイントにワイルドカード(*)または反射的なAccess-Control-Allow-Originヘッダーがないか確認します。
WordPressユーザー列挙 — /wp-json/wp/v2/usersがユーザーIDと名前を公開しているか検出します。
Next.js環境変数漏洩 — /_next/static/chunks/内のクライアントバンドルに埋め込まれたprocess.env参照をスキャンします。
アーカイブ掘り出し — Wayback Machineから過去のURLを取得し、ライブサイトから削除されたシークレットをアーカイブコンテンツからスキャンします。
プロキシフォールオーバー — 3回連続でプロキシに失敗した場合、自動的に直接接続にフォールバックし、スキャンが停止しません。
再開可能なスキャン — 10リソースごとに状態を保存し、中断された場合に.reconix-state.jsonから再開できます。
マルチフォーマットレポート — 美しいHTMLレポート、構造化されたJSONエクスポート、および簡易参照用のプレーンテキストdiscovered_api_keys.txtを生成します。
680以上のテクノロジーフィンガープリント — ヘッダー、HTML、JS、Cookie、TLS証明書、DNSからフレームワーク、ホスティングプロバイダー、CDN、分析、支払い処理、認証システム、UIライブラリを検出します。
200以上の実世界のシークレット検出パターン — 主要プラットフォームにわたるAPIキー、トークン、秘密鍵、OAuthシークレット、データベース認証情報、CI/CDトークン、Webhook URLを高い信頼度でカバーします。
ブラウザネットワークキャプチャ — --jsが有効な場合、すべての送信ネットワークリクエストをキャプチャし、追加のサービスやAPIをフィンガープリントします。
レート制限認識 — 429レスポンスとRetry-Afterヘッダーを検出し、クラッシュすることなく調整します。
# グローバルインストール
npm install -g @aquibk/reconix
# または直接実行
npx reconix target.com
# すべてが正常に動作することを確認
reconix --self-test
--js モードでは自動インストール)# 基本スキャン(低フットプリント)
reconix example.com
# フルパワー(最大発見数)
reconix example.com --js --aggressive --deep --only-critical
# バグ報奨金モード(バランス型)
reconix target.com --js --deep --historical --delay=500 --output=report.json
# ステルスモード(検出回避)
reconix target.com --delay=2000 --jitter=1000 --threads=5 --proxy=socks5://127.0.0.1:9050
reconix <url> [options]
reconix scan <url> [options]
| フラグ | 説明 | デフォルト |
|---|---|---|
--output=<file> | 完全なJSONレポートを保存 | なし |
--html=<file> | HTMLレポートを生成 | なし |
reconix example.com --output=scan.json --html=report.html
| フラグ | 説明 | デフォルト |
|---|---|---|
--no-subdomains | サブドメイン検出を無効にする | - |
--historical |
reconix example.com --historical --deep
# 高速だがリスクあり
reconix example.com --threads=50 --delay=100 --jitter=50
# 礼儀正しいクロール
reconix example.com --threads=10 --delay=2000 --jitter=1000
--no-js → ヘッドレスブラウザ(Puppeteer)を無効にする--aggressive → 深い全権限スキャン--proxy=<host:port> → プロキシサポート--auth=<user:pass> → 認証(BasicまたはBearer)--cookie=<string> → カスタムCookie--user-agent=<string> → カスタムユーザーエージェント# 認証済みスキャン
reconix api.example.com --auth="Bearer:sk_live_xxx" --js
# プロキシ使用
reconix example.com --proxy="http://user:pass@proxy:8080" --delay=1000
reconix example.com --only-critical --no-low
reconix target.com --deep --historical --threads=25 --delay=500 --output=bounty.json --html=report.html
reconix target.com --aggressive --deep --historical --threads=50 --delay=150 --jitter=50 --only-critical --output=full.json --html=full.html
reconix target.com --threads=5 --delay=2000 --jitter=1500 --no-subdomains --proxy=socks5://127.0.0.1:9050
reconix target.com --threads=30 --delay=200 --no-js --no-subdomains --only-critical
reconix --self-test
# フェーズ1: クイック偵察
reconix target.com --only-critical
# フェーズ2: 深層分析
reconix target.com --deep --delay=1000
# フェーズ3: アグレッシブスキャン
reconix target.com --aggressive --deep --only-critical
| 問題 | 解決策 |
|---|---|
| ブラウザタイムアウト | Puppeteerを再インストール |
| 開いているファイルが多すぎる | スレッド数を減らす |
| ファイル | 説明 |
|---|---|
discovered_api_keys.txt | 見つかったすべてのシークレット |
*.json | 完全なスキャンレポート |
*.html | ビジュアルレポート |
Issueとプルリクエストを歓迎します。
reconix --self-test
LICENSE.txtを参照
⚠️ 責任を持って使用してください。許可されたターゲットのみ。⚠️
| アーカイブされたURLを取得 |
| false |
--deep | クロール深度を増やす | false |
| フラグ | 説明 | デフォルト |
|---|
--threads=<n> | 同時リクエスト数(1–100) | 20 |
--delay=<ms> | リクエスト間の基本遅延 | 500 |
--jitter=<ms> | ランダムな遅延のばらつき | 300 |
--max-bytes=<bytes> | ファイルごとの最大ダウンロードサイズ | 4000000 |
--resume | 前回のスキャンを再開 | false |
| フラグ | 説明 | デフォルト |
|---|
--only-critical | 重大な発見のみ表示 | false |
--no-low | 低信頼度の発見を非表示 | false |
--include-medium | 中程度の発見を含める | true |
--no-medium | 中程度の発見を除外 | - |
| ターゲットタイプ | スレッド数 | 遅延 | ジッター | JS |
|---|
| 本番環境 | 5–10 | 2000–3000 | 1000 | ❌ |
| ステージング | 15–20 | 800–1200 | 500 | ✅ |
| バグ報奨金 | 20–30 | 400–600 | 200 | ✅ |
| CTF / ラボ | 50–100 | 0–100 | 0 | ✅ |
| プロキシ失敗 | プロキシURLを確認 |
| レート制限(429) | 遅延とジッターを増やす |
| 発見結果なし | --js --deep --historical を使用 |
.reconix-state.json |
| 再開状態 |