概览
本项目检测能力交付物分两大部分:检测知识库 与 漏洞检测数据库(左侧目录中与本「总览」并列)。本页对两部分做统一总览。
交付物构成
| 交付物 | 内容 | 说明 |
|---|---|---|
| 检测知识库 | 代码风格规则 + 代码缺陷规则 + 许可证合规(共三部分) | 面向源码与依赖的静态检测规则与知识条目 |
| 漏洞检测数据库 | 公开标准漏洞库(如 CVE、CNVD、CNNVD 等) | 面向第三方依赖的已知漏洞检测与风险评估情报;与检测知识库并列,非其子部分 |
一、检测知识库
检测知识库由代码风格规则、代码缺陷规则、许可证合规三部分组成(对应左侧"检测知识库"目录):
| 部分 | 工具 | 关注点 |
|---|---|---|
| 代码风格规则 | clang-format + clang-tidy(Google 风格) | 排版、命名、头文件、注释 |
| 代码缺陷规则 | cppcheck | 空指针、越界、未初始化、内存/资源泄漏等 |
| 许可证合规 | 清源 SCA | 许可证识别、兼容性、合规义务、SBOM |
规则结构概览:
| 部分 | 规则范围 | 主检测器 | 条目数 |
|---|---|---|---|
| 命名约定 | CF-N.x | clang-tidy | 8 |
| 缩进/列宽/大括号/空格/头文件/注释 | CF-I/W/B/S/H/C | clang-format | 19 |
| 代码缺陷(全部检查项) | cppcheck error id | cppcheck | 342 |
| 许可证合规(声明/兼容性/义务/治理) | LIC-x.y | 清源 SCA | 12 |
每条规则的编号直接采用工具原生标识(clang-tidy 检查名 / clang-format 选项名 / cppcheck error id / LIC-x.y),使检测日志可零成本映射到对应知识条目。
二、漏洞检测数据库
面向第三方依赖的已知漏洞情报支撑:清源 SCA 接入国内外公开标准漏洞库,识别项目依赖中的已知安全缺陷并评估风险。
| 维度 | 内容 |
|---|---|
| 数据来源 | 公开标准漏洞库(CVE、CNVD、CNNVD 等) |
| 标识与评级 | 唯一漏洞编号 + CVSS 评分 |
| 用途 | 依赖漏洞扫描、风险评估、修复/升级建议 |
详见左侧「漏洞检测数据库」页。
检测流程
- 风格/缺陷/许可证三类检测命中后,按原生规则 ID 映射到检测知识库对应条目(成因、案例、修复建议)。
- 依赖漏洞扫描结果对接漏洞检测数据库(唯一编号、CVSS 评级、修复建议)。
工具链版本基线
| 工具 | 说明 |
|---|---|
| clang-format / clang-tidy | 以仓库 .clang-format(BasedOnStyle: Google)与 .clang-tidy 为唯一事实来源;CI 锁定 clang 版本 |
| cppcheck | 代码缺陷检查规则共 342 项;CI 固定 cppcheck 版本以保证规则集稳定 |
| 清源 SCA | 在线版(SaaS)或本地版(On-Prem);许可证策略、SBOM 与漏洞库情报留存为可审计证据 |
各部分的完整规则、Google 预设取值、许可证兼容性矩阵与知识条目,见左侧对应子页面。