
Webファジング用のワードリスト:厳選されたmicro、カテゴリ別のshort/long、そして結合された最終リスト。
onelistforallmicro.txt:厳選リスト(手動管理)。dict/<category>_short.txt:カテゴリ別の厳選ワードリスト(小規模・高品質なソース)。dict/<category>_long.txt:カテゴリ別の包括的ワードリスト(すべてのソース)。onelistforall.txt:micro + すべての*_short.txt、重複排除済み。onelistforall_big.txt:すべてを結合、重複排除済み。update):約36個のワードリストリポジトリをsources/にクローン。classify):sources/内のすべての.txtファイルを走査し、パス構造、ファイル名キーワード、内容サンプリングを用いて各ファイルをカテゴリに分類。classification_index.jsonを生成。build --all-categories):各カテゴリについて、分類されたソースファイルをフィルタリングと重複排除を施してdict/{cat}_short.txtとdict/{cat}_long.txtにマージ。assemble):microとすべてのshortをonelistforall.txtに結合し、すべてをonelistforall_big.txtに結合。package):チェックサム付きの7zアーカイブを作成。git(update用)7z(packageのみ)olfa)# 依存関係の確認
go run ./cmd/olfa check
# ソースとカテゴリの一覧表示
go run ./cmd/olfa list
go run ./cmd/olfa list --categories
# ソースリポジトリの同期
go run ./cmd/olfa update
go run ./cmd/olfa update --source SecLists
# ソースファイルの分類
go run ./cmd/olfa classify
go run ./cmd/olfa classify --format json
# 全カテゴリのワードリストを構築
go run ./cmd/olfa build --all-categories
go run ./cmd/olfa build --category wordpress --variant short
# 最終結合リストのアセンブル
go run ./cmd/olfa assemble
# 検証とパッケージ
go run ./cmd/olfa validate-categories
go run ./cmd/olfa stats
go run ./cmd/olfa package
# フルパイプライン(全ステップを1コマンドで)
go run ./cmd/olfa pipeline
go run ./cmd/olfa pipeline --dry-run
go run ./cmd/olfa pipeline --skip-publish # git commit+push をスキップ
go run ./cmd/olfa pipeline --skip-update # git fetch をスキップ
go run ./cmd/olfa pipeline --commit-msg "my custom message"
# オプションA:単一コマンド
go run ./cmd/olfa pipeline
# オプションB:ステップごと
go run ./cmd/olfa check
go run ./cmd/olfa update
go run ./cmd/olfa classify
go run ./cmd/olfa build --all-categories
go run ./cmd/olfa assemble
go run ./cmd/olfa validate-categories
go run ./cmd/olfa package
git add dict/ && git commit -m "chore: update dict/ wordlists" && git push
このリポジトリにはdict/内に約418個のカテゴリワードリスト(約930 MB)が含まれています。ただし、6ファイルはGitHubの100 MBファイルサイズ制限を超えており、リポジトリには含まれていません:
これらをローカルで生成するには、以下を実行:
go run ./cmd/olfa pipeline
フルパイプラインを実行する(ソースの同期+全カテゴリの構築)には、約15 GBのディスク容量が必要です。
すべては2つのファイルで制御されます:
configs/pipeline.yml — ソース、フィルター、分類ルール、重複排除設定、リリース設定。configs/taxonomy.json — カテゴリ分類(236のカテゴリとエイリアス)。configs/pipeline.ymlを編集し、sources配列にエントリを追加:
{
"name": "my-wordlists",
"repo": "username/repo-name",
"branch": "main",
"paths": ["all"],
"tags": ["directories", "api"],
"priority": "medium"
}
ソースを追加したら、パイプラインを実行して取得・分類します:
go run ./cmd/olfa pipeline
または、新しいソースのみを同期:
go run ./cmd/olfa update --source my-wordlists
pipeline.ymlのグローバルフィルターで、保持または削除する行を制御します:
regex_denylist — いずれかのパターンに一致する行は削除されます(例:URL、UUID、画像拡張子)max_line_len — この長さを超える行は削除(デフォルト:100文字)trim — 先頭/末尾の空白を除去drop_empty — 空行を削除カテゴリごとのフィルターはcategory_filtersで設定できます(例:サブドメインは有効なホスト名文字のみ許可)。
各カテゴリは2つのワードリストを生成します:
*_short.txt — high優先度のソースからのみ、または5000行未満のファイル、またはcommon、short、top、defaultなどのキーワードを含むファイル名からのみ。*_long.txt — すべてのソースを結合。しきい値とキーワードはclassification.short_line_threshold、classification.short_keywords、classification.long_keywordsで設定可能です。
カテゴリはconfigs/taxonomy.jsonで定義されています。各カテゴリには正規名とエイリアスがあります。ソースファイルは以下の方法でカテゴリにマッチングされます:
Discovery/DNS/* → subdomains)利用可能なすべてのカテゴリを表示するには:
go run ./cmd/olfa list --categories
go run ./cmd/olfa list --categories --format json
publish):dict/の変更を自動コミットし、リモートにプッシュ。| ファイル | サイズ |
|---|
dict/subdomains_long.txt | 493 MB |
dict/passwords_long.txt | 351 MB |
dict/passwords_short.txt | 296 MB |
dict/fuzz_general_long.txt | 178 MB |
dict/directories_long.txt | 153 MB |
dict/dns_long.txt | 112 MB |
| フィールド | 説明 |
|---|
name | ソースの一意の識別子 |
repo | GitHub owner/repo(https://github.com/... 経由でクローン) |
branch | 追跡するブランチ |
paths | リポジトリ内でスキャンするディレクトリ(["all"] = すべて) |
tags | 自動分類でカテゴリを決定できない場合のフォールバックカテゴリ |
priority | high、medium、または low — 優先度の高いソースは*_short.txtに、すべてのソースは*_long.txtに入ります |