在这里插入图片描述

[AI 整理声明] 本文基于作者的项目文档与开发实践,由 AI 辅助整理输出,核心内容与数据均来自作者本人。



做 21434 合规扫描的时候,cppcheck、binwalk、flawfinder 这些工具都要单独跑,输出格式各不相同,每次都要手动整合结果再拼报告,比较麻烦。所以把这几个工具整合到一起,做了 FSC Scanner,Web 界面操作,扫完直接出 HTML 审计报告。


启动

docker pull crpi-pups955ont7zchor.cn-hangzhou.personal.cr.aliyuncs.com/21434/fsc_scanner:latest

docker run -d \
  --name fsc-scanner \
  -p 8080:8080 \
  -v $(pwd)/fsc_data:/data \
  crpi-pups955ont7zchor.cn-hangzhou.personal.cr.aliyuncs.com/21434/fsc_scanner:latest

Windows PowerShell:

docker run -d `
  --name fsc-scanner `
  -p 8080:8080 `
  -v ${PWD}/fsc_data:/data `
  crpi-pups955ont7zchor.cn-hangzhou.personal.cr.aliyuncs.com/21434/fsc_scanner:latest

打开 http://localhost:8080,数据存在挂载的 fsc_data/ 目录里,容器重建不丢数据。

也可以从源码自己构建:

git clone https://github.com/cstriker1407/fsc_scanner.git
cd fsc_scanner

# Linux / macOS
chmod +x scripts/linux/*.sh && ./scripts/linux/build.sh && ./scripts/linux/run.sh

# Windows
scripts\win\build.bat && scripts\win\run.bat

界面

首页是 5 步引导流程:新建项目 → 添加版本 → 上传文件 → 开始扫描 → 查看报告。左下角有代码扫描和固件扫描两个入口,右上角可以切换中英文。
在这里插入图片描述


代码扫描

上传 .c / .h / .cpp,或者 .zip / .tar.gz 压缩包,支持多文件。扫描会并行跑三个工具:

  • cppcheck:静态分析,接 MISRA C 2012 addon,规则集可以自定义上传
  • flawfinder:危险函数检测,strcpygetssprintf 这类,带 CWE 编号
  • detect-secrets:硬编码凭据扫描,API Key、私钥、密码

扫完生成的报告:
在这里插入图片描述

上面是 ERROR / WARNING / STYLE / PERFORMANCE / INFORMATION 五级统计,下面是按工具、严重性、文件路径可筛选的发现项明细。

MISRA C 规则集这里默认内置了社区版,如果有自定义规则集可以在「工具配置」里上传 cppcheck addon 格式的 .cfg 文件。


固件扫描

上传 .bin / .elf / .hex / .srec / .axf,跑四个工具:

  • binwalk:签名识别 + 文件系统提取
  • firmwalker:在提取目录里搜密码文件、证书、私钥
  • checksec:ELF 二进制加固检查(NX / PIE / RELRO / Stack Canary)
  • trufflehog:深度凭据泄漏扫描

固件报告:
在这里插入图片描述

CRITICAL / HIGH / MEDIUM / LOW 四级。

注意: 固件大于 30 MB 时会跳过 binwalk 文件系统提取,只做签名扫描,避免容器 OOM。binwalk 有独立的 120s 超时。


注意

这个工具没有用户认证,定位是内网使用,不要把 8080 端口暴露到公网

当前版本 v1.0.7,MIT 开源。

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐