このリポジトリは、Web セキュリティ分野の学習リソースを整理した Awesome List です。データは data/entries 以下の YAML ファイルとして管理され、生成スクリプトが README や data/index.json を自動生成します。加えて Claude Code Skill としても配布され、AI エージェントが実行時に最新の一覧を参照できる点が特徴です。
仕組みの中心は data/categories.yml と data/entries/*.yml です。カテゴリ定義とエントリ本体を分離管理し、scripts/generate.py が data/templates の preamble・postamble と組み合わせて README.md・README-zh.md・README-jp.md・data/index.json を再生成します。verify_schema.py と verify_anchors.py がエントリのスキーマとアンカー整合性を事前検証します。CI 側では health-link-check.yml が lychee で日次リンク検査を行い、content-drift.yml は200応答でも内容が変わったページ(例: halbecaf.comがギャンブルサイト化した事例)を月次で検出します。post-merge-archive.yml は新規エントリを Wayback Machine に提出し、archive_url をコミットで書き戻します。PR は diff-sentry.yml が悪意あるパターンをネットワーク接続なしで走査し、pr-review系ワークフローは PR の内容を信頼済みスクリプト側で読むことで pwn-request パターンを避けています。skills/awesome-web-security/SKILL.md はトリガーキーワードを定義し、AI エージェントは master の data/index.json を直接参照するため古いスナップショットに依存しません。
- STEP 01
npx skills add qazbnm456/awesome-web-security -a claude-code -g -yを実行すると、skills/awesome-web-security/SKILL.mdのトリガー一覧に沿ってXSSやSQLiなど話題を尋ねた際にSkillが起動します。
- STEP 02
python3 scripts/generate.pyをローカルで実行すると、data/entries以下のYAMLとdata/categories.ymlを読み込み、README.md・README-zh.md・README-jp.md・data/index.jsonが再生成される様子を確認できます。
- STEP 03
python3 scripts/verify_schema.pyを回すと、新規エントリのYAML項目(url・title・author・categoryなど)がスキーマに沿っているかチェックされ、不備があればエラーで止まります。
- STEP 04
python3 scripts/verify_anchors.pyを実行すると、README内の目次アンカーと実際の見出しIDが一致しているかを検証できます。
- STEP 05
PRを作成すると.github/workflows/diff-sentry.ymlが即時に走り、難読化ペイロードやパイプ実行、プロンプトインジェクションらしき差分を検出してジョブサマリーに表示します。
- STEP 06
マージ後は.github/workflows/post-merge-archive.ymlがdata/entries内の新規URLをWayback Machineへ提出し、archive_urlをYAMLへ書き戻すコミットが自動生成されます。
実行して手に入るのは、実行可能なペネトレーションツールそのものではなく、カテゴリ別に整理されたリソースYAML群と、そこから生成される3言語のREADME、AIエージェント向けのdata/index.json、そしてリンク健全性・内容ドリフト・Wayback保存を回すCIパイプラインです。SKILL.mdを介せば、Claude CodeやCodex上でXSS・SSRF・JWTなどの質問に応じて最新一覧が呼び出されます。
content-drift.ymlのコメントが示す通り、リンクは200応答を返しても内容が別物に変わっている場合があり、halbecaf.comの例では正規のV8脆弱性解説がインドネシア語のギャンブルサイトに置き換わっていました。
このリポジトリ自体はリンク集と生成パイプラインであり、SQL InjectionやXSSを実際に検証するツールコードは含まれていません。学習の出発点として使うものです。
AIエージェント向けSkillはmasterのdata/index.jsonを都度取得する設計のため、ネットワーク接続とGitHubへのアクセスが前提になります。
pr-review系ワークフローはフォークからのPRに書き込み権限トークンを渡さない二段構成ですが、その安全性はpublish_review.pyのアーティファクト検証ロジックに依存しています。
Web セキュリティを分野別に学びたい初心者・中級者、またAIエージェントに常に新鮮な参考リソースを渡したい開発者に向いています。CI構成(diff-sentry・content-drift・post-merge-archiveなど)を見る限り、単なる静的リストではなくリンク腐敗や乗っ取りサイト化への対策まで運用として組み込まれており、README・ワークフロー・スクリプトの記述内容が相互に整合しているため、実際に導入しなくてもこの評価はおおむね信頼できます。ただし記載した限界(内容ドリフトの残存リスクやツール非内包である点)は踏まえて利用してください。