安全类文章都在这里,按攻击面分成两支。两支是各自独立的——技术内容几乎不重叠,不必对照着读,也不存在先读哪一支的顺序。
content/posts/security/
├── blockchain/ 链上安全 —— 智能合约、跨链桥、共识、密钥与签名流程
└── web/ Web 安全 —— 浏览器、服务端、认证与会话、供应链
两支各收什么
分类的依据不是"用什么语言写的",而是攻击者能触碰到的那一层在哪里。
链上安全 blockchain/ |
Web 安全 web/ |
|
|---|---|---|
| 执行环境 | 公开、确定性、不可回滚 | 私有、可打补丁、可回滚 |
| 攻击者能看到 | 全部状态与全部代码 | 只有你暴露的接口 |
| 攻击者能做 | 抢跑、闪电贷、任意组合调用 | 构造请求、伪造会话、投毒依赖 |
| 一次失败的代价 | 资金即时且不可逆地转走 | 数据泄露,通常可止损 |
| 补救手段 | 只有事前防御 | 事前 + 事中 + 事后 |
边界上的判断规则:如果失效的那条假设与"代码跑在一条谁都能读、谁都能调、改不了也退不回"的链上有关,归 blockchain/;如果它与"请求是谁发的、凭据是怎么来的、依赖是从哪装的"有关,归 web/。
一个交易所被钓鱼盗走签名密钥,两边都沾——钓鱼手法属于 Web 侧,而"签名者看到的界面 ≠ 他实际签署的数据"这条失效假设属于链上侧。这类按造成损失的那一步归档,并在另一侧交叉引用。
链上安全
链上安全事故档案——2010–2026 年 29 起有公开技术复盘的事故,按失效的假设分成七类,每篇走同一套结构(背景 → 漏洞 → 攻击复盘 → 为什么没被发现 → 防御 → 举一反三 → 小结)。
要动手写合约的话,从上线前检查清单倒着读回去更省时间。
Web 安全
分成两部分,回答两个不同的问题:
- 机制篇——这条假设为什么会断、代码该怎么写。 以机制为单位而不是以事件为单位,因为同一条假设在 Web 里会换着名字反复回来(OGNL → Log4Shell → Spring4Shell 是同一条)。按信任在请求链条哪一环断掉分成七组。
- 事件分析——一个有安全团队、有扫描器、有审计的组织,为什么还是被打穿了。 不重复机制,追的是资产清单、检测覆盖、权限边界、响应过程。每起事件明标证据等级。
两部分均为编排阶段,分类骨架与收录标准见各自首页。
和课程的关系
这个目录收的是事故与防御实践,不讲基础机制。机制在课程里:
- 链上的密码学、共识、EVM 执行模型 ⟹ CS 251:区块链系统原理
- TCP/TLS、HTTP 与中间盒 ⟹ 计算机网络
两支各自定各自的收录标准(见各分区首页),但有一条是共同的:给不出机制的不收。 只说"某某被黑了多少钱"“某某泄露了多少条数据”、讲不清那条假设为什么会失效的,不进来。