@codacy/tools-flawfinder-2 (英语)
目录
概览
C/C++ 安全扫描仪 弗劳芬德 Python 脚本. 使用CLI执行战略 -- -- 产卵 flawfinder 通过 spawnTool() 并解析其 SARIF JSON 输出.
| 财产 | 数值 |
|---|---|
| 工具标识 | flawfinder |
| 编码 UUID | 81806a42-1d70-40e6-ad07-9a1a9da9e500 |
| 战略 | 国 际 |
| 语文 | C, CPP 软件 |
| 二进制 | flawfinder (毕通文 |
| 文件图案 | **/*.c, (中文(简体) ), **/*.h, (中文(简体) ), **/*.cpp, (中文(简体) ), **/*.cc, (中文(简体) ), **/*.cxx, (中文(简体) ), **/*.hpp |
| 图案计数 | ~222 (英语) |
| 先决条件 | Py 3.8.0 |
更新图案
# Re-fetch pattern metadata from the Codacy API
pnpm prefetch
# Commit the result
git add src/patterns.json
模式 ID 遵循格式 flawfinder_strcpy, (中文(简体) ), flawfinder_gets等 (中文(简体) ).
更新 Flawfinder 版本
- 更新
preferredVersion内src/adapter.ts - 更新
PIP_PACKAGE恒定版本针入src/adapter.ts - 运行
pnpm prefetch以检查新的/撤消的规则 - 运行
pnpm test以验证兼容性 - 如果主要版本更改,请创建新的适配软件包(
flawfinder-3/(中文(简体) )
发展
pnpm build # Build with tsup
pnpm test # Run tests (requires flawfinder in PATH or venv)
安装瑕疵搜索器 - 适配器可以通过 pip install ,或者您可以手动安装:
# Via pip (recommended)
pip install flawfinder==2.0.20
# macOS
brew install flawfinder
# Ubuntu/Debian
apt-get install flawfinder
维护者的注释
- Flawfinder是一个纯Python脚本,除了标准库之外没有编译的依赖性.
- 安装时使用一个孤立的 venv
~/.codacy/runtimes/flawfinder/venv/以避免污染系统 Python. - 适配器使用
--sarif用于SARIF v 2.1.0 JSON 输出和--falsepositive排除可能存在的假阳性(匹配遗留的Codacy包装行为). - 弗劳芬德已经 没有配置文件 - 所有选项都是CLI旗.
checkLocalConfigurationFile总是返回{ found: false }。 。 。 . - 模式过滤完成 预后c 因为followfinder没有旗帜来选择个人规则.
- 出站代码0=成功. 退出代码15=编码错误. 退出代码 16 = CLI 选项出错.
- 这个
--minlevel旗帜没有设置,因此faultfinder使用它默认的最低关卡为 1 (匹配遗留的包装). - SARIF 解析摘要
runs[0].results[]。每个结果ruleId是函数名(如"strcpy","gets"). - 版本 regex 处理两者
Flawfinder version 2.0.19和产出格式的变化.