《十大 Web 黑客技术》的完整档案 — 自 2006 年以来每一年的所有提名技术 (不仅仅是获奖者),外加原始公告帖子的 PDF 快照,以便记录在其托管方消失后仍能留存。
搜索每一项技术、按年份筛选,无需离开浏览器即可打开任何已保存的文档。
自 2006 年以来,Web 安全社区每年都会提名最具创新性的 Web 黑客研究,进行投票,并评选出十大。该榜单由 Jeremiah Grossman 发起,如今由 PortSwigger 的 James Kettle 延续。
然而,每年的公告帖子往往容易消失 — WhiteHat Security 的博客(2011–2015 年榜单的所在地)已经不复存在。本仓库将整个内容保存在一个持久、可搜索的地方:
[!IMPORTANT] 各年份列表是完整的:所有正式提名的内容都已收录。 话虽如此,提名轮次偶尔会遗漏一些值得注意的研究。如果你知道 本应出现在某年榜单上的工作,请提交 issue 或 PR — 任何符合该年度 Web 黑客技术提名资格的内容 都将被审核,如果符合条件,将添加到相应年份。后续审计添加的内容与原始提名 明显区分,需要在评审技能的当前价值标准下进行完整的私下评估,并在
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 部分开头,列出当年投票中实际胜出的十项技术,按最终排名顺序排列,每项都标注了其排名:
## 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**
每年文件都使用同一种布局:每项技术对应一个 - 项目符号,列表内没有行尾反斜杠,也没有空行。
当年被提名的其他所有内容都归入 ## Other nominations 之下,不排名,并保持其原始顺序。这样你就能读到脱颖而出的十项,而不会丢失长尾内容——而真正新颖的工作往往就藏在那里。
[!NOTE] 排名来自公告帖,但条目文本保持提名列表中的原样。结果帖中获胜者的标题有时比其提名时更短或措辞不同,因此两者读起来并不总是一致。
有四年,组织者将部分研究排除在竞赛之外,以避免利益冲突。这些条目并没有就此消失,而是位于 ## Other nominations 的顶部,每条都标注了其被排除时所处的阶段——各阶段不同,因此措辞也不同——并附有一条说明解释发生了什么:
| 年份 | 被排除 | 原因 |
|---|---|---|
| 2016/17 | Cracking the Lens;XSS without HTML | PortSwigger 的研究一开始就被排除在外;等到回避制度取代该规则时,再将其重新纳入已为时过晚,因此它甚至从未进入提名列表 |
| 2019 | HTTP Desync Attacks | 在社区投票中 outright 获胜,但 James Kettle 拒绝将自己的研究排在第一 |
| 2024 | Gotta cache 'em all;Splitting the email atom;Listen to the whispers | 这三项都进入了最终十五强,随后被排除在评审团投票之外 |
| 2025 | HTTP/1.1 must die | 进入最终十五强,被排除在评审团前十之外 |
其他每一年,组织者都声明其自身研究正常参赛——2020 年 PortSwigger 的 Portable Data ExFiltration 位列第 2,2021 年 HTTP/2: The Sequel is Always Worse 位列第 2——因此那些年份没有任何遗漏。
每一年都链接到其精选列表。Nominated 统计进入当年官方轮次的技术——社区每年提名的数量远超十项。Audit 统计该轮次遗漏、后来找回并在 ## Missed from the original list 下保持明显独立的研究。