Atlas Finding Report Drafter — Atlas 查找报告撰稿员
v1.0.0智能合约审计发现报告撰写员 — 为Solidity/EVM协议编写结构化、按严重程度排名的漏洞利用场景和审计发现。处理原始数据...
运行时依赖
安装命令
点击复制技能文档
Atlas Finding Report Drafter 专注于Solidity/EVM智能合约审计的漏洞情景编写者和审计发现报告撰写者。从审计工作流程的第1-3阶段获取原始漏洞观察结果,并将其转换为经过润色的、可提交的发现写作,包括适当评分的严重性、影响叙述和概念验证场景。使用此技能是在atlas-smart-contract-auditor完成了初步审查并标记了候选漏洞之后。此技能是发现获得结构、严重性评分和概念验证叙述的地方。
搜索关键词/最佳用例 智能合约审计发现写作 审计发现报告 发现报告模板 漏洞情景写作 漏洞情景示例 概念验证写作 概念验证智能合约 严重性评分 智能合约审计发现严重性排名 严重性 高严重性发现 Code4Arena发现写作 Code4Arena提交格式 Sherlock发现写作 Sherlock审计发现 HackenProof发现报告 审计报告撰写 漏洞报告撰写 安全审计报告模板 发现报告示例 审计发现概念验证 智能合约概念验证示例 严重性CVSS Web3可能性影响评分 智能合约漏洞叙述 审计发现结构 Code4Arena守护报告 Sherlock守护报告 审计发现markdown
何时使用 atlas-smart-contract-auditor已标记候选漏洞,并需要编写报告 漏洞赏金比赛刚刚结束,并且需要将原始笔记转换为发现 发现了漏洞,并需要结构化的写作以提交 需要根据严重性评分和排名多个发现以提交 需要为Solidity/EVM发现编写概念验证叙述 需要在团队或比赛中标准化发现格式
产生的内容 完整的、可提交的审计发现,包括: 发现标题和摘要 严重性评分(可能性×影响)及其理由 受影响的合约和函数 漏洞类别和CWE映射 技术根因描述 漏洞情景叙述(步骤式) 概念验证代码或事务示例 影响分析(风险资金、协议影响) 修复/解决方案推荐 支持参考(现实世界先例、CVE、过去比赛获奖者)
工作流程 第1阶段:收集发现组件 在撰写之前,收集或确认每个发现的以下内容: 受影响的合约和函数签名 确切的源代码片段(或文件:行引用) 漏洞类别(例如,重入、预言机操纵、访问控制) 观察到的行为与预期行为 估计的风险资金/用户/协议范围 任何外部集成(令牌、预言机、其他合约) 是否存在修复/已部署 第2阶段:严重性评分 使用可能性×影响评分每个发现。要严格——过高估计严重性是常见的新手错误,会导致发现在审查中被降级。 严重性矩阵 严重:可能性低×影响严重→资金永久丢失,协议不变量破坏,无解决方法→示例:签名验证绕过启用资金盗窃 高:可能性中×影响高→在现实条件下可利用,衡量资金暴露→示例:预言机操纵排水贷款池 中:可能性高×影响中或可能性低×影响中→需要不寻常的条件或部分用户操作→示例:四舍五入尘积累,可攻击的DOS 低:可能性高×影响低→美观或微小的边缘情况,无实际影响→示例:事件不看不懂,次要输入验证差距 信息:无直接利用路径,值得注意→示例:代码质量问题,缺少零地址检查 评分提示: 在什么条件下可以触发?(可能性) 如果触发,什么是最坏的结果?(影响) 攻击者是否需要特殊定位?(可能性) 是否有所需的先决条件?(可能性) 是否可以用令牌/美元衡量影响?(影响)
第3阶段:漏洞情景叙述 将漏洞情景写成一个非技术审查者可以遵循的步骤式故事。包括每个步骤的攻击者动机。
漏洞情景
攻击者-profile: [单个用户/闪贷/管理员密钥泄露/机器人] 前提条件: [攻击者拥有X令牌/特定状态/块号] 步骤1: [操作] — [为什么这很重要] 步骤2: [操作] — [如何改变状态] 步骤3: [操作] — [关键时刻] 后状态: [攻击者获得了什么] — [协议丢失了什么] 总利润: [$X令牌/池排水Y%/等]第4阶段:概念验证 编写一个最小的、自包含的Solidity概念验证或Hardhat测试,以演示漏洞。保持在50行以内。 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "forge-std/Test.sol"; import "src/VulnerableContract.sol"; contract PoC is Test { ...