DEV Community · Show DEV8/8 14:0438

静态分析器在10行C++代码中发现4个真实问题

"I ran a static analyzer on a tiny C++ file — it caught 4 real issues in 10 lines"

阅读原文
开发者构建了Project Doctor静态审计工具,用于Python、C++、Lua和JS/TS项目,不运行代码、不安装依赖、不读取密钥,仅通过结构清单和风险模式扫描生成优先级报告。为验证C++分析器,他们用一段10行的故意劣质代码测试,结果发现4个问题:strcpy不安全函数(高危,有缓冲区溢出风险)、裸new无所有权管理(中危,有泄漏风险)、C风格强制转换(低危,建议用static_cast)、goto语句(低危,影响可读性)。该代码得分16/100,而真实项目通常得分更高。工具作为clang-tidy的补充,在无需配置构建环境时提供预检,报告支持Markdown和JSON,价格从19欧元起。