用途:该技能用于对应用代码库进行内存安全方向的 CWE 漏洞审计,判断指定漏洞模式是否存在于代码中。角色定位为审计者而非实现开发者,职责仅在于识别漏洞是否存在,不给出修复或改进建议。
主要能力:覆盖 15 条 CWE 规则,包括 CWE-119(缓冲区操作边界限制不当)、CWE-120(不检查输入大小的缓冲区复制)、CWE-123(写任意值到任意位置)、CWE-125(越界读取)、CWE-415(双重释放)、CWE-416(释放后使用)、CWE-672(资源过期或释放后的操作)、CWE-786(访问缓冲区起始之前的内存)、CWE-787(越界写入)、CWE-788(访问缓冲区末尾之后的内存)、CWE-805(使用错误长度值访问缓冲区)、CWE-822(不可信指针解引用)、CWE-823(越界指针偏移)、CWE-824(访问未初始化指针)、CWE-825(失效指针解引用)。各规则标注严重级别(mandatory、optional、potential)与故事点。
使用方式:逐条规则遍历,系统扫描应用源码中匹配的模式;每条规则一旦发现首个确认匹配即停止扫描,随后进入下一条规则;最终需报告全部规则的结果(FOUND 与 NOT_FOUND 均要报告)。搜索策略建议从常见漏洞模式入手,如用户输入处理、外部数据处理、资源管理,并检查配置文件、API 端点、数据访问层与工具类,兼顾直接模式与间接/传递性漏洞路径;聚焦源文件(如 .java、.py、.cs、.js、.ts),跳过测试文件与生成代码。结果以指定 JSON 结构返回,包含 input_name、analysis_method、status、result(finding、confidence、evidence、values)以及 execution_time_seconds、timestamp;values 中每条规则须有且仅有一个条目。FOUND 时 files 需为工作区相对路径,explanation 需说明类、方法或行引用;NOT_FOUND 时 files 为空数组、explanation 为空字符串。严重级别、故事点与描述需照抄规则定义。仅当整个类别与项目语言/技术栈无关时,顶层 status 才设为 not_applicable。
适用场景:需要对包含内存操作的语言(如 C/C++ 相关代码库)或存在指针与缓冲区操作的项目进行安全审计时使用。
限制:官方文本暂未提供;具体可处理的文件规模、执行环境依赖、支持的编程语言范围与运行方式等细节暂未提供。