pentest-secrets-exposure について
ソースコード、Git 履歴、Web アセット、アプリケーション応答に含まれる秘密情報や機密ファイルを探すセキュリティテストスキルです。許可を得た評価で、発見から認証情報の検証、影響の記録までを案内します。
主な機能
- 01ソースコード内のハードコードされた認証情報の検出
- 02Git 履歴から削除済みの秘密情報を調査
- 03公開された設定ファイルやバックアップの探索
- 04エラー表示やクライアント側アセットの漏えい確認
- 05認証情報の有効性と権限範囲の検証
活用シーン
- 01リポジトリ内の API キーやデータベース認証情報の確認
- 02過去のコミットで削除された秘密情報の発見
- 03Web サイトで公開された設定ファイルやバックアップの検査
- 04発見した認証情報が現在も有効かの評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jd-opensource/ joysafeter --skill pentest-secrets-exposureインストール後、Claude Code で/pentest-secrets-exposureを入力して読み込まれたか確認します。
同梱ファイルreferences/tools.mdreferences/workflows.md
詳細
ペンテストにおけるシークレットの露出
目的
複数の未確認の WSTG カテゴリを対象とします。CONF-03/04(機密ファイル、バックアップ)、INFO-05(情報漏えい)、ERRH-01/02(エラー処理、スタックトレース)です。Shannon の事前偵察はアーキテクチャに重点を置いており、シークレットの体系的な発見は対象としていません。
前提条件
認可要件
- (ホワイトボックスの場合)ソースコードへのアクセス範囲を含む書面による認可
- (該当する場合)履歴の調査に必要な Git リポジトリへのアクセス
- 露出ファイルの調査対象となる URL の一覧
環境のセットアップ
- Git 履歴のシークレットスキャン用の TruffleHog
- パターンベースのシークレット検出用の GitLeaks
- シークレット用ルールセットを備えた Semgrep
- 露出関連テンプレートを備えた nuclei
基本的なワークフロー
- ソースコード内のシークレット:パターンとエントロピーの検出を使用して、ハードコードされた API キー、DB 認証情報、JWT 署名キー、暗号化キーをスキャンします。
- Git 履歴の調査:追加後に削除されたシークレットをすべてのコミットから検索します。強制プッシュされたブランチを確認します。.gitignore の機密情報に関するパターンを分析します。
- 露出した設定ファイル:.env、.git/config、.DS_Store、wp-config.php、application.yml、認証情報を含む docker-compose.yml を調査します(WSTG-CONF-03/04)。
- エラー処理による情報開示:内部パス、DB スキーマ、フレームワークのバージョンを明らかにするスタックトレース、デバッグページ、詳細なエラーを発生させます(WSTG-ERRH-01/02)。
- バックアップと未参照ファイル:.bak、.old、.swp、~files、エディターの一時ファイル、DB ダンプ、機密データを含むログファイルを調査します。
- クライアント側バンドルの分析:JS バンドルから API キーを抽出し、サーバーコードを露出するソースマップや、モバイルパッケージにハードコードされたトークンを確認します。
- シークレットの検証:発見した各認証情報をテストして、現在もアクセスに使用できるかを確認し、対象範囲を記録して、影響範囲を評価します。
WSTG の対象範囲
| WSTG ID | テスト名 | ステータス |
|---|---|---|
| WSTG-CONF-03 | 機密情報を含むファイル拡張子の処理をテストする | ✅ |
| WSTG-CONF-04 | 古いバックアップファイルと未参照ファイルを確認する | ✅ |
| WSTG-INFO-05 | 情報漏えいがないかウェブページのコンテンツを確認する | ✅ |
| WSTG-ERRH-01 | 不適切なエラー処理をテストする | ✅ |
| WSTG-ERRH-02 | スタックトレースをテストする | ✅ |
ツールのカテゴリ
| カテゴリ | ツール | 目的 |
|---|---|---|
| Git スキャン | TruffleHog, GitLeaks | Git 履歴内のシークレット検出 |
| 静的解析 | Semgrep(シークレット用ルール)、grep パターン | ソースコード内のシークレットスキャン |
| ウェブ調査 | nuclei(露出関連テンプレート)、ffuf | 露出したファイルや設定の発見 |
| JS 分析 | SecretFinder, LinkFinder | クライアント側バンドルからのシークレット抽出 |
| 検証 | curl、カスタムスクリプト | 認証情報を使用したアクセスの有効性テスト |
参考資料
references/tools.md- ツールの関数シグネチャとパラメーターreferences/workflows.md- 攻撃パターンの定義とテストベクター
コメント
Markdown 対応