Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
troll-a — Gitleaksルールを使用してWARCウェブアーカイブからシークレット(パスワード、APIキー、トークン)を抽出します。HTTP、S3、ローカルファイル、圧縮アーカイブを同時処理でサポートします。 | Kitploit
ツール/GitHubGitHub/crissyfield/troll-a
脆弱性分析情報収集ユーティリティとフレームワークシークレット検出
GitHubcrissyfield/troll-a

troll-a

Gitleaksルールを使用してWARCウェブアーカイブからシークレット(パスワード、APIキー、トークン)を抽出します。HTTP、S3、ローカルファイル、圧縮アーカイブを同時処理でサポートします。

リポジトリを見る
140111年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Troll-A

License: Apache Go Report Card Go Reference

Troll-A は、WARC(Web ARChive)ファイルからパスワード、API キー、トークンなどのシークレットを抽出するためのコマンドラインツールです。Troll-A は、Web アーカイブからシークレットを見つけるための 使いやすく、包括的、かつ 高速 なソリューションです。

機能

  • プロトコル: HTTP/HTTPS 経由のネットワークサーバー、Amazon S3 オブジェクトストレージサービス、ローカルファイルシステム、または STDIN から直接 Web アーカイブを取得できます。
  • 圧縮: GZip、BZip2、XZ、または ZStd で圧縮された Web アーカイブをサポートしています。ZStd では、圧縮データストリームの前にカスタム辞書が付加された形式(*.megawarc.warc.zst ファイルで使用)もサポートしています。
  • 包括的: Gitleaks プロジェクトの実績あるルールセットを使用して、最大 166 種類のシークレット、トークン、キー、その他機密情報を検出します。
  • パフォーマンス: 並行処理で動作し、オプションで最適化された正規表現(go-re2 経由)を使用することで、AWS c7g.12xlarge 上で一般的な Common Crawl の Web アーカイブ(約 34,000 ページ)を 30 秒未満で処理できます。--filter オプションで処理する WARC レコードを絞り込むことで、さらに高速化できます。
  • 配布形式: Troll-A は、プリビルドされたバイナリ、Docker イメージ、またはソースコード形式で配布されています。

インストール

Docker

Troll-A は Github コンテナレジストリ で入手可能で、次のように使用できます。

root@kitploit:~
docker run --rm ghcr.io/crissyfield/troll-a [flags] [url]

プリビルドバイナリ

Troll-A は、macOS および Linux 向けのバイナリ形式でも リリースページ から入手できます。

[!NOTE] Docker イメージとは異なり、プリビルドバイナリは Go の Stdlib 正規表現を使用してコンパイルされているため、著しく低速です。ネイティブバイナリが好まれ、パフォーマンスが重要な場合は、ソースからビルドすることをお勧めします。

ソースからビルド

より高いパフォーマンスを得るには、go-re2 が提供する最適化された正規表現エンジンを利用できるため、Troll-A をソースからビルドすることをお勧めします。これを機能させるには、あらかじめ RE2 依存関係をインストールする必要があります。

macOS

root@kitploit:~
# 依存関係をインストール
brew install re2

# RE2 を有効にしてインストール
go install -tags re2_cgo github.com/crissyfield/[email protected]

Debian / Ubuntu

root@kitploit:~
# 依存関係をインストール
sudo apt install -y build-essential libre2-dev

# RE2 を有効にしてインストール
go install -tags re2_cgo github.com/crissyfield/[email protected]

使い方

root@kitploit:~
Usage:
  troll-a [flags] [url]

このツールは、WARC(Web ARChive)ファイルからパスワード、API キー、トークンなどの(潜在的な)シークレットを抽出します。抽出された情報は、構造化テキストまたは JSON として出力されるため、データのさらなる処理が容易になります。

"url" には、通常の HTTP または HTTPS 参照("https://domain/path")、Amazon S3 参照("s3://bucket/path")、ファイルパス("file:///path" または単に "path")、または STDIN から読み取るためのダッシュ("-")を指定できます。"url" を省略した場合は、STDIN からデータが読み取られます。入力データが GZip、BZip2、XZ、または ZStd で圧縮されている場合は、自動的に解凍されます。カスタム辞書が先頭に付加された ZStd("*.megawarc.warc.zstd" で使用)も透過的に処理されます。

このツールは、シークレットを検出するために Gitleaks プロジェクト(https://gitleaks.io)のルールを使用しています。

Flags:
  -c, --custom stringArray     適用する追加のカスタムルール。指定された正規表現(RE2 構文を使用)に一致するシークレットも報告されます。複数回指定できます。
  -e, --enclosed               コンテキスト内に囲まれているシークレットのみを報告します
  -f, --filter string          各 WARC レコードのターゲット URL のフィルター。指定された正規表現(RE2 構文を使用)に一致する WARC レコードのみがシークレットのチェック対象となります。空のフィルターはすべてに一致します。
  -h, --help                   troll-a のヘルプを表示
  -j, --jobs uint              この数の同時ジョブでシークレットを検出します(デフォルト 8)
  -s, --json                   検出されたシークレットを JSON として出力
  -p, --preset rules-preset    使用するルールプリセット。以下から選択できます:
                               all:         既知のルールがすべて適用されます。大規模なデータセットではノイズが大幅に増える可能性があります。
                               most:        ほとんどのルールが適用され、誤検出の最大の原因をスキップします。
                               secret:      シークレットの実際の漏洩につながる可能性が最も高いルールのみが適用されます。
                               none:        ルールはまったく適用されません。--custom/-c スイッチを使用したカスタムルールと組み合わせて使用できます。
                               他の値は許可されません。(デフォルト secret)
  -q, --quiet                  成功メッセージを抑制します
  -r, --retry retry-strategy   使用するリトライ戦略。以下から選択できます:
                               never:       最初の取得失敗で失敗し、リトライしません。
                               constant:    最大 5 回リトライし、各試行後に 5 秒の遅延を入れます。
                               exponential: 最大 15 分間リトライし、各試行後に指数関数的に増加する遅延を入れます。
                               always:      リトライを永久に試み、各試行後にまったく遅延を入れません。
                               他の値は許可されません。(デフォルト never)
  -t, --timeout duration       フェッチのタイムアウト(ファイルには適用されません)(デフォルト 30m0s)
  -v, --version                troll-a のバージョンを表示

例

Common Crawl

Common Crawl は、誰でも利用できる無料のオープン Web クロールデータリポジトリを維持しています。Common Crawl コーパスには、2008 年以降定期的に収集されたペタバイト規模のデータが含まれています。

たとえば、2023 年 11 月/12 月のクロール(CC-MAIN-2023-50 と呼ばれる)の 33.5 億ページすべてからシークレットを抽出するには、次のようにします。

root@kitploit:~
# 90,000 すべての WARC パスのリストをダウンロード
curl -sSL -O https://data.commoncrawl.org/crawl-data/CC-MAIN-2023-50/warc.paths.gz

# 64 のスキャンジョブを使用してすべてのパスを反復処理し、一致結果を JSON で出力
gzcat warc.paths.gz | \
xargs -I{} -- troll-a -e -s -j64 https://data.commoncrawl.org/{} > secrets.json

[!WARNING] これには長い時間がかかります!ハードウェアとインターネット接続によっては、1 週間から数か月かかる場合があります。最初の数行の warc.paths.gz でのみこの例を実行することをお勧めします。

Internet Archive

Archive Team は、2009 年に設立されたデジタル保存と Web アーカイブに特化したグループです。Web アーカイブは WARC ファイル(より具体的には MegaWARC 形式)として保存され、Internet Archive を通じて利用可能になっています。

たとえば、Archive Team が 2023 年 4 月に pastebin.com からクロールした 113,372 ページからシークレットを抽出するには(対応する 公開 は Internet Archive にあります)、次のようにします。

root@kitploit:~
# MegaWARC URL を直接 troll-a に渡す
troll-a -e https://archive.org/download/archiveteam_pastebin_20230421003309_a3b951b4/pastebin_20230421003309_a3b951b4.1603050931.megawarc.warc.zst

...すると次の結果が得られます...

root@kitploit:~
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/bKMJXkQE" line=36 column=15
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/bKMJXkQE" line=36 column=15
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/nferefe2" line=37 column=6
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/print/cQEA2GCS" line=39 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_js/cQEA2GCS" line=11 column=2688
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_iframe/cQEA2GCS?theme=dark" line=49 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/cQEA2GCS" line=222 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/raw/cQEA2GCS" line=22 column=22
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_iframe/cQEA2GCS" line=48 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_js/cQEA2GCS?theme=dark" line=11 column=2796
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/clone/cQEA2GCS" line=152 column=27
Success: Processed https://archive.org/download/archiveteam_pastebin_20230421003309_a3b951b4/pastebin_20230421003309_a3b951b4.1603050931.megawarc.warc.zst (113372 records)

クレジット

実際のシークレットを検出するために使用されるルールセットは、Gitleaks プロジェクトの一部です。これらすべての情報をまとめるために払われた多大な努力に深く感謝します。

名前の由来は?

Troll A プラットフォーム は、ノルウェー西海岸沖のトロールガス田にある天然ガスプラットフォームです。2014 年時点で、地球の表面に対して別の位置に移動された史上最も高い構造物であり、歴史の中で最大かつ最も複雑なエンジニアリングプロジェクトの 1 つです。1996 年には、このプラットフォームはギネス世界記録に「最大の海洋ガスプラットフォーム」として認定されました。

[!NOTE] 天然資源の搾取には強く反対しますが、そのエンジニアリングの偉業には敬意を表します。

ツールをダウンロード