Agent Skills
返回列表
💻

Flawfinder 风险函数预扫描

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据官方安装指南 https://skillhub.cn/install/skillhub.md,安装规范名 @user_3c6cb52e/scan-c-and-c-code-with-flawfinder-for-risky-function-patterns-before-review 的「Flawfinder 风险函数预扫描」技能到你的 AI 助手中。

技能介绍

为什么需要预扫描

C/C++ 代码中的安全缺陷常藏在不起眼的函数调用里:strcpy 的非空终止、sprintf 的缓冲区溢出、gets 的无边界读取……人工逐行审查时,这类风险点极易因疲劳被忽略,而全面审查又往往耗时过久,导致安全分诊阶段效率低下。

技能核心能力与步骤

该技能通过 Flawfinder 工具对 C/C++ 源码树执行快速安全分诊扫描,核心能力包括:

  • 定位代码中的风险函数模式,如使用 memcpy 未校验长度、调用 system 拼接外部输入等;
  • 按风险等级过滤结果,优先聚焦高危项,避免被低优先级警告干扰;
  • 输出可直接定位的代码位置信息,为后续人工复核或修复计划提供起点。

关键步骤为:在源码目录运行扫描命令,获取风险点列表后,结合业务逻辑判断实际威胁,而非直接将工具结果等同于漏洞。

适用边界与注意点

  • 仅作为人工审查的前置辅助,无法替代深度的语义分析和业务场景验证;
  • 依赖 Flawfinder 的规则库覆盖范围,新型风险函数可能未被识别,需定期更新工具版本;
  • 扫描结果需结合编译器警告、内存检测工具等交叉验证,避免单一工具漏判或误判。

使用场景

  • 接手新的 C/C++ 项目,在人工审查前先跑扫描,快速定位风险函数缩小排查范围
  • 制定内存安全修复计划时,用扫描结果列出全项目疑似风险调用点,确定优先级
  • 提交 C/C++ 代码前做安全自查,对改动的源文件跑一遍扫描,确认无高风险模式
  • 评审他人的 C/C++ 补丁时,先扫描改动涉及的源文件,提前发现高风险函数调用

适合人员

  • 负责 C/C++ 项目安全的工程师,需要在人工审查前对源码做快速风险分诊
  • 日常编写 C/C++ 的开发者,想在代码提交前自查风险函数调用模式
  • 主持代码评审的技术负责人,希望借助扫描结果让审查聚焦高风险区域
  • 维护遗留 C/C++ 系统的工程师,需要在重构前摸清现存风险函数分布