「Top 10 Web Hacking Techniques」の完全アーカイブ — 2006年以降の毎年のノミネート技術すべて (受賞作だけでなく)を収録し、さらに元の発表記事のPDFスナップショットも保存することで、 ホストが消えても記録が残るようにしています。
すべての技術を検索し、年で絞り込み、保存されたあらゆるドキュメントをブラウザから離れずに開けます。
年別に見る · どこに何があるか · ファイル構成 · 3つの時代 · PDFアーカイブ · Face the Judge · 支援 · コントリビューション
2006年以降、毎年ウェブセキュリティコミュニティは最も革新的なウェブハッキング研究をノミネートし、 投票を行い、Top 10 を選出してきました。このリストは Jeremiah Grossman によって始められ、現在は PortSwigger の James Kettle によって継続されています。
しかし、毎年の発表記事は消えてしまいがちです — WhiteHat Security のブログ(2011年から2015年のリストの拠り所)はすでに失われています。このリポジトリは、そのすべてを一箇所に耐久性のある、grep可能な形で保存します:
[!IMPORTANT] 年のリストは完全です:公式にノミネートされたものはすべて含まれています。 とはいえ、ノミネートラウンドでは注目すべき研究が見落とされることもありました。ある年のリストに 載るべきだった研究をご存知の場合は、issue または PR を作成してください — その年のウェブハッキング技術の ノミネートとして適格なものであれば検討され、ふさわしい場合は該当する年に追加されます。後年の監査による 追加は元のノミネートとは明確に区別され、審査スキルの現在の評価基準に基づく完全な非公開評価を必要とし、 Added / Not added が
ai-evaluation/に記録されます。
[!TIP] 古いリンクの多くは切れています。切れたURLは Wayback Machine に貼り付けてください — ほとんどはそこに保存されており、 PDFアーカイブ には発表ページ自体が保存されています。
webhacklist/
├── 2006.md … 2025.md ← the lists — every nominated technique, one file per year
├── <year>-ai.md ← AI-collected candidates for a year with no vote yet — machine-assembled, unreviewed, kept deliberately separate from the curated lists above
├── ai-evaluation/<year>/ ← candidate links, Added / Not added, and decision history
├── original-listings/ ← PDF snapshots of the original announcement posts
│ ├── <year>-nominees.pdf ← the full nominee list for that year
│ ├── <year>-top10.pdf ← the post naming the winning ten
│ └── README.md ← per-year index, notes, and archive rationale
├── website/ ← production progressive archive website
│ ├── archive-years.json ← publishing registry
│ └── data/ ← generated small catalogue + one JSON shard per collection
├── tools/ ← the capture pipeline that builds the PDF archive
│ ├── capture_pdf.py ← headless-Chrome capture driver + verifier
│ ├── sources.json ← manifest: what to capture, from where, with assertions
│ └── capture-report.json ← provenance log of the last run
└── assets/ ← logo and artwork
各 <year>.md は ## Top 10 セクションで始まり、その年の投票で実際に選ばれた10個のテクニックが、順位順に、それぞれの順位タグ付きで掲載されています:
## Top 10
- [Blind SSTI](https://github.com/vladko312/Research_Successful_Errors) **#1**
- [ORM Leaking More Than You Joined For](https://www.elttam.com/blog/leaking-more-than-you-joined-for/) **#2**
毎年、ファイルはその1つのレイアウトを使用します。テクニックごとに1つの - 箇条書き、末尾のバックスラッシュなし、リスト内に空行なしです。
その年にノミネートされたその他すべては ## Other nominations の下に、順位付けされず、元の順序で続きます。こうすることで、際立った10件を読むことができ、同時にロングテール — 真に新規な研究がしばしば隠れている場所 — を失うことがありません。
[!NOTE] 順位は発表記事から来ていますが、エントリのテキストはノミネートリストのままです。結果記事における受賞者のタイトルは、ノミネート時よりも短かったり、表現が異なったりすることがあるため、両者が常に同一に読めるとは限りません。
4年間、主催者は利益相反を避けるために一部の研究をコンペティションから除外しました。それを消えさせるのではなく、それらのエントリは ## Other nominations の先頭に置かれ、それぞれが除外された段階 — 段階は異なっていたため、表現も異なります — でタグ付けされ、何が起こったかを説明する注記の下に置かれています:
| 年 | 除外 | 理由 |
|---|---|---|
| 2016/17 | Cracking the Lens; XSS without HTML | PortSwigger の研究は事前に除外されました。忌避制度がそのルールに取って代わる頃には再導入するには遅すぎたため、ノミネートリストにさえ到達しませんでした |
| 2019 | HTTP Desync Attacks | コミュニティ投票で完全に勝利しましたが、James Kettle は自身の研究を1位にランク付けすることを辞退しました |
| 2024 | Gotta cache 'em all; Splitting the email atom; Listen to the whispers | 3件すべてが最終15件に到達し、その後パネル投票から除外されました |
| 2025 | HTTP/1.1 must die | 最終15件に到達し、パネルのトップ10から除外されました |
その他の年では、主催者は自身の研究が通常どおり競争したと述べています — 2020年には PortSwigger の Portable Data Exfiltration が2位に入り、2021年には HTTP/2: The Sequel is Always Worse が2位に入りました — したがって、それらには何も欠けていません。
各年はそのキュレーションされたリストにリンクしています。Nominated はその年の公式ラウンドに進んだテクニックを数えます — コミュニティは毎年10件をはるかに超える数をノミネートしました。Audit はそのラウンドが見逃し、後に回収され、## Missed from the original list の下で目に見える形で分離して保たれた研究を数えます。