awesome-web-security について
qazbnm456/awesome-web-security の資料を検索し、保存済みのスナップショットではなく最新のインデックスを取得するスキルです。セキュリティ学習や許可された防御作業を対象に、絞り込みと順位付けの方法も示します。
主な機能
- 01最新リソースインデックスの取得
- 02トピック、言語、種類による絞り込み
- 03指定条件に基づく結果の順位付け
- 04許可と安全に関するガードレール
- 05取得失敗時の処理方法
活用シーン
- 01XSS や SSRF の学習資料探し
- 02Web セキュリティツールやチートシートの検索
- 03許可されたテスト向け参考資料の収集
- 04防御的なセキュリティテーマの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ qazbnm456/ awesome-web-security --skill awesome-web-securityインストール後、Claude Code で/awesome-web-securityを入力して読み込まれたか確認します。
詳細
/awesome-web-security
qazbnm456/awesome-web-security を対象とした厳選検索です。
raw.githubusercontent.com から常に最新のインデックスを取得するため、古いスナップショットは使いません。
使用する場合
XSS、SQLi、CSRF、SSRF、XXE、OAuth/JWT、プロトタイプ汚染、デシリアライゼーション、SAML、ファイルアップロード、Web キャッシュポイズニング、WAF / CSP の回避、ブラウザーのエクスプロイト、偵察(サブドメイン列挙、OSINT)、DNS リバインディング、CTF の write-up、バグバウンティの手法、防御用ツール、ペイロードリスト、チートシート、関連ブログなど、Web セキュリティのトピックに関するリソース、参考資料、学習パス、ツールをユーザーが求めている場合。
使用しない場合
- ユーザーが所有しておらず、テスト許可も得ていない対象への攻撃を望んでいる場合。対応を断り、対象範囲を確認してください。対象は、自分のシステム、CTF、許可を得たペネトレーションテスト、学術研究、防御分析のいずれかです。
- マルウェアの作成、所有していないインフラの大規模スキャン、または攻撃目的での検知回避に関するガイダンスを求めている場合。
- セキュリティの観点がない質問(一般的なプログラミングやフレームワークの使い方)の場合。セキュリティ以外のスキルに引き継いでください。
手順
- WebFetch でインデックスを取得します:
https://raw.githubusercontent.com/qazbnm456/awesome-web-security/master/data/index.json - JSON を解析します。スキーマ:
{ "schema_version": "1", "categories": [{"key": "xss", "title": "...", "h_level": 3, "parent": "intro", "anchor": "xss"}], "entries": [{ "id": "xss-google-app-security", "url": "...", "title": "...", "author": {"name": "...", "url": "..."}, "category": "xss", "type": "article|tool|cheatsheet|video|book|community|payload-list", "languages": ["en", "zh", "jp"], "difficulty": "intro|intermediate|advanced", "date_added": "YYYY-MM-DD", "archive_url": "...|null", "last_checked": "YYYY-MM-DD|null", "status": "active|dead|archived-only|quarantined" }] } - 次の条件で絞り込みます:
categoryがユーザーのトピックに一致すること(トピックが複数のカテゴリに該当する場合があります。「XSS」なら、該当するものとしてxss、tools-xss、tricks-xss、practices-xss、evasions-cspを確認します)。languages:既定ではユーザーの言語を使用し、該当しない場合はenにフォールバックします。difficulty:ユーザーが「入門」または「深掘り」を指定していない限り、すべて含めます。type:記事、ツール、チートシート、ペイロードリストなど、ユーザーが求めているものに合わせて絞り込みます。
- 次の基準で順位付けします:
- 「最新」のリクエスト →
date_addedの降順。 - 「深掘り」のリクエスト →
difficulty: advancedを優先し、深さを示す要素(長いタイトル、ペイロードリストのタイプ、著者 URL の有無)で順位付けします。 - 「ツール」のリクエスト →
type: toolのみ。
- 「最新」のリクエスト →
- 5~7 件を返します。それぞれに、タイトル、URL、
status != activeの場合は代替としてarchive_url、その項目で学べることを説明する一行を含めます。
安全上のガードレール
- 許可されていない対象への攻撃支援は断ってください。対象範囲を確認してください。
- すべての結果を、防御または教育の観点から提示してください。
payload-listの項目には、次の文を追加してください:「テスト用ペイロードは、自分が所有するシステム、またはテストの書面による許可を得たシステムに対してのみ使用してください。」- 項目を組み合わせて、実在する特定の対象への攻撃手順にしないでください。
出力形式
各結果について:
タイトル — 著者 • 難易度 • タイプ これで学べることと重要な理由を一行で説明します。 (アーカイブの代替 URL:archive_url) —
status != activeの場合のみ含めます。
最後に:
qazbnm456/awesome-web-security を参照しました。全リストとカテゴリは README をご覧ください。
エラー処理
- JSON の取得に失敗(ネットワークエラー、404、解析エラー)→ 次のように回答します: "The awesome-web-security index is temporarily unreachable. Try again shortly, or visit https://github.com/qazbnm456/awesome-web-security directly." エントリーを捏造してはいけません。
- リクエストされたカテゴリに一致する項目がない → その旨を明確に伝えます。
categories[].parentの階層から、関連するカテゴリを提案してください。
例
ユーザー:「XSS を学んでいます。英語の中級者向けリソースを教えてください。」
→ xss、tools-xss、tricks-xss、evasions-csp に一致する category で絞り込みます。
languages に en が含まれ、difficulty が intermediate または advanced の項目を対象にします。
date_added の降順で並べ、上位 5~7 件を返します。
ユーザー:「最新の SSRF 関連記事を探しています。」
→ ssrf、tricks-ssrf、tools-ssrf に一致する category で絞り込みます。
languages に zh が含まれる項目を対象にし、date_added の降順で並べて、中国語で返します。
ユーザー:「XSS のペイロードリストでおすすめはありますか?」
→ category: xss かつ type: payload-list で絞り込み、深さを示す要素で順位付けします。
許可されていないテストに関する注意を追加します。