73 lines
7.0 KiB
Markdown
73 lines
7.0 KiB
Markdown
---
|
||
title: "Blockchain Security Auditor"
|
||
type: source
|
||
tags: [blockchain, security, smart-contract, defi, audit]
|
||
date: 2026-05-30
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Agent/agency-agents/specialized/blockchain-security-auditor.md]]
|
||
|
||
## Summary(用中文描述)
|
||
- 核心主题:智能合约安全审计 Agent — 专职发现 DeFi 协议与区块链应用中的漏洞,在攻击者之前找到 bug
|
||
- 问题域:智能合约安全审计、漏洞检测、形式化验证、攻击向量分析、审计报告撰写、事件响应
|
||
- 方法/机制:自动化静态分析(Slither/Mythril/Echidna)+ 人工逐行代码审查 + 属性化模糊测试 + 经济博弈建模;五步工作流(范围→自动化→人工→经济分析→报告)
|
||
- 结论/价值:提供包含可复现 PoC 的专业审计报告,Critical/High 漏洞零遗漏,修复建议可直接落地,事后可提供事件响应
|
||
|
||
## Key Claims(用中文描述)
|
||
- 自动化工具只能捕获约 30% 的真实漏洞,剩余必须依靠人工逐行审查
|
||
- 每个发现必须包含 PoC 攻击场景或可估算的影响范围,否则不予记录为正式漏洞
|
||
- 漏洞评级为 Critical 的前提:无特殊权限即可直接造成用户资金损失或协议破产
|
||
- 永远不要因为函数使用了 OpenZeppelin 库就假定它是安全的 — 误用安全库本身就是一类漏洞
|
||
- 审计范围必须覆盖完整调用链,不仅仅是当前函数 — 漏洞隐藏在内部调用和继承合约中
|
||
- 永远验证审计代码与部署字节码是否匹配 — 供应链攻击是真实威胁
|
||
- OpenZeppelin 安全库的误用是一类独立漏洞 — 即使库本身安全,集成方式可能引入风险
|
||
- Solidity 0.8+ 的 `unchecked` 块仍需审查 — 默认安全不代表绝对安全
|
||
- 漏洞分类 C-01/H-01 必须在部署前修复,Medium 可随监控计划上线,Low 归入下一版本
|
||
- 漏洞发现误报率必须控制在 10% 以下 — 所有发现必须是真实漏洞,不是凑数
|
||
|
||
## Key Quotes
|
||
> "Your job is not to make developers feel good — it is to find the bug before the attacker does." — Blockchain Security Auditor 角色定义
|
||
> "Automated tools catch maybe 30% of real bugs." — 为什么不能跳过人工审查
|
||
> "Never assume a function is safe because it uses OpenZeppelin — misuse of safe libraries is a vulnerability class of its own." — 核心审计原则
|
||
> "If it can lose user funds, it is High or Critical — never mark a finding as informational to avoid confrontation." — 漏洞评级原则
|
||
> "Zero Critical or High findings are missed that a subsequent auditor discovers." — 成功指标
|
||
|
||
## Key Concepts
|
||
- [[Reentrancy(重入攻击)]]:外部调用在状态更新前执行,允许攻击者在状态清零前回滚调用链重复提取资金;典型模式:外部 call() 在 balances[msg.sender]=0 之前调用;防御:Checks-Effects-Interactions 模式 + ReentrancyGuard
|
||
- [[Oracle Manipulation(预言机操纵)]]:通过闪电贷在单笔交易内操纵 AMM 储备或价格预言机,导致清算/借贷套利;Uniswap V2 现货价格可被操纵,V3 TWAP 和 Chainlink 提供更好保障
|
||
- [[Flash Loan Attack(闪电贷攻击)]]:在单笔交易内借用大量资金操纵市场状态,无需抵押的信贷攻击;是 Oracle Manipulation 和经济博弈攻击的主要载体
|
||
- [[Access Control(访问控制)]]:特权函数缺少访问修饰符或被错误配置,可导致权限提升;关键检查项:initialize() 一次性调用保护、代理合约 `_disableInitializers()`、多签 vs EOA 风险
|
||
- [[Formal Verification(形式化验证)]]:使用符号执行和不变式验证数学证明协议关键属性的正确性;Certora/Halmos/KEVM 用于数学证明合约正确性
|
||
- [[Checks-Effects-Interactions Pattern]]:先检查条件、更新状态,再执行外部调用,防止逻辑漏洞;修复重入的标准模式
|
||
- [[Slither]]:Trail of Bits 开源的 Solidity 静态分析框架,高置信度检测器几乎总是真实漏洞;关键检测器:reentrancy-eth/arbitrary-send-eth/suicidal/controlled-delegatecall/uninitialized-state
|
||
- [[Mythril]]:基于符号执行的安全分析工具,深度扫描但速度较慢;适合关键合约的深度分析
|
||
- [[Echidna]]:属性化模糊测试工具,通过随机交易验证协议不变式;配合 Foundry 进行属性化 fuzz 测试
|
||
- [[Storage Collision(存储冲突)]]:升级型代理合约中存储槽对齐错误,可被攻击者劫持状态变量
|
||
- [[Signature Malleability(签名重放攻击)]]:permit 和元交易系统中签名可被修改后重放攻击
|
||
- [[Cross-Chain Message Replay(跨链消息重放)]]:桥接协议消息跨链验证绕过,同一消息可在多条链上重放
|
||
- [[SWC Registry]]:智能合约弱点分类标准(Smart Contract Weakness Classification),提供标准化的漏洞编号和描述
|
||
- [[DeFiHackLabs]] / [[rekt.news]]:DeFi 攻击事件数据库,用于模式匹配已知漏洞;每个新攻击都是未来漏洞的模板
|
||
|
||
## Key Entities
|
||
- [[Trail of Bits]]:安全审计机构,开发 Slither、Solc 等关键安全工具;审计报告档案是重要参考资源
|
||
- [[OpenZeppelin]]:智能合约标准库(ReentrancyGuard、AccessControl 等),被广泛依赖;误用是独立漏洞类别
|
||
- [[Certora]]:形式化验证工具,用于数学证明 Solidity 合约属性
|
||
- [[Halmos]]:字节码级别的形式化验证工具,基于符号执行
|
||
- [[The DAO (2016)]]:以太坊首个重大安全事件,重入攻击导致 360 万 ETH 损失,开创了 DeFi 安全研究领域
|
||
- [[Euler Finance]]:2023 年遭受 donate-to-reserves 操纵攻击,损失 1.97 亿美元,攻击模板被收录
|
||
- [[Nomad Bridge]]:2022 年因未初始化代理合约漏洞损失 1.9 亿美元
|
||
- [[Curve Finance]]:2023 年因 Vyper 编译器 bug 导致多池被攻击,损失超 7000 万美元
|
||
|
||
## Connections
|
||
- [[Agents Orchestrator]] ← defines role scope ← [[Blockchain Security Auditor]]
|
||
- [[Compliance Auditor]] ← related audit methodology ← [[Blockchain Security Auditor]]
|
||
- [[Blockchain Security Auditor]] ← uses tools ← [[Slither]] / [[Mythril]] / [[Echidna]] / [[Certora]] / [[Halmos]]
|
||
- [[Blockchain Security Auditor]] ← draws patterns from ← [[The DAO (2016)]] / [[Euler Finance]] / [[Nomad Bridge]] / [[Curve Finance]]
|
||
- [[Blockchain Security Auditor]] ← methodologies ← [[Formal Verification]] / [[Access Control]] / [[Oracle Manipulation]]
|
||
- [[Blockchain Security Auditor]] ← references ← [[SWC Registry]] / [[DeFiHackLabs]] / [[rekt.news]]
|
||
|
||
## Contradictions
|
||
- 与 [[Compliance Auditor]] 的关注点差异:Blockchain Security Auditor 聚焦代码层安全漏洞和资金损失风险,Compliance Auditor 聚焦合规框架(SOC 2/ISO 27001)控制措施,两者方法论互补而非矛盾
|
||
- 漏洞评级与用户沟通的张力:文档强调"永远不要把能损失资金的漏洞标记为 informational",但同时要求"为开发者和利益相关者分别写报告"——前者保证安全底线,后者照顾沟通需求,通过分层报告结构解决
|