面向 AI 代码审计的本地客观源码读取覆盖率工具
工具介绍
AuditCov面向 AI 代码审计的本地客观源码读取覆盖率工具,同时支持 Codex、Claude Code 和 OpenCode。
AuditCov 记录每个 Code Agent 会话成功读取过哪些源码文件、哪些完整代码行,并通过统一的 Web 界面展示项目、会话、父子 Agent 和逐文件覆盖情况。它回答的是“Agent 客观上读取过哪些代码”,而不是“Agent 是否理解了代码”或“审计是否已经完成”。

AuditCov 的覆盖率是客观读取覆盖率,不能单独证明代码已经被正确理解、分析或完成安全审计。
功能概览
- 一个本地统计服务同时接收 Codex、Claude Code 和 OpenCode 的读取事件。
- Web 界面创建和管理代码仓项目,无需由 Agent 初始化项目。
- 按项目、工具和原生会话 ID 分开统计覆盖率。
- 展示源码目录树、文件覆盖率以及逐行覆盖状态。
- 支持多选会话,按所选会话读取区间的并集计算覆盖率。
- 支持 Claude Code 和 OpenCode 的父子 Agent 层级展示。
- 父 Agent 和子 Agent 独立统计、独立勾选,不会隐式合并。
- Hook 采用调用前/调用后两阶段关联,只有成功返回的 Read 才计入覆盖。
- 对已创建项目中的超大 Read 请求按完整行边界安全截断。
- 未创建项目中的读取完全忽略,Hook 不修改工具参数。
- 统计服务不可用时放行原工具调用,并写入告警日志。
- 使用 SQLite 保存本地状态,无外部服务和第三方 Python 依赖。
- 提供 Windows/Linux 通用 Python 安装器,可任选安装或卸载一个或多个 Agent 适配器。
快速开始
以下命令都在本仓库根目录执行。
1. 可选:安装 Python 包
无需安装依赖即可从源码运行。若希望在其他目录使用 auditcov-server 等命令,可执行:
python -m pip install -e .
Linux 中如果 python 未指向 Python 3,请将本文命令中的 python 改为 python3。
2. 启动统计服务和 Web 界面
python -m auditcov_mcp.web
默认地址:
http://127.0.0.1:8765
如果已经执行过可编辑安装,也可以使用:
auditcov-server
可用启动参数:
--host HOST 监听地址,默认 127.0.0.1
--port PORT 监听端口,默认 8765
--db PATH 显式指定 SQLite 数据库
--quiet 不打印启动地址
服务第一版需要手动启动。建议先启动服务,再启动 Code Agent。
3. 在 Web 中创建项目
打开 http://127.0.0.1:8765,在左侧 Create project 中填写:
- Repository root:代码仓的绝对路径。
- Name:可选的显示名称。
点击 Create project 后,AuditCov 会扫描整个代码仓并冻结第一版覆盖率分母。项目创建完成前产生的读取不会被补记。
路径必须使用统计服务所在环境能够访问的形式。例如服务运行在 WSL 中时,应填写:
/mnt/f/product/example-repository
而不是 Windows 路径:
F:\product\example-repository
4. 安装 Agent 适配器
安装一个工具:
python scripts/auditcov_install.py install --codex
python scripts/auditcov_install.py install --claude
python scripts/auditcov_install.py install --opencode
安装 Codex 时,安装器会创建一份当前用户专用的运行时 marketplace 副本,并将执行安装器的
Python 解释器绝对路径写入 MCP 配置。Linux/WSL 使用 python3 运行安装器,Windows 使用python;Codex MCP 不再假定两个平台都存在同名的 python 命令。
同时安装多个工具:
python scripts/auditcov_install.py install --claude --opencode
当三个工具均已安装且命令可用时,可以一次安装全部适配器:
python scripts/auditcov_install.py install --all
查看安装状态:
python scripts/auditcov_install.py status
codex plugin list
安装完成后必须完全退出并重新启动对应的 Code Agent。Codex 需要开启一个新任务,Claude Code 和 OpenCode 需要开启新会话或重新启动进程。
5. 开始审计并查看覆盖率
- Codex 通过 AuditCov Skill 和三个 MCP 工具读取、查询覆盖率。
- Claude Code 和 OpenCode 在调用原生 Read 工具时自动上报,无需手动调用统计 API。
- 返回 Web 后点击 Refresh,选择项目和需要查看的会话。
- 点击目录树中的源码文件,查看成功读取过的行和未读取行。
推荐给 Codex 的提示词:
使用 AuditCov 审计当前仓库。所有源码读取通过 auditcov_read_file 完成,
并定期使用 auditcov_get_coverage 检查客观读取覆盖率。
推荐给 Claude Code/OpenCode 的约束:
审计当前项目。直接阅读源代码时使用 Read 工具,
不要使用 cat、sed、awk 或 Python 脚本读取代码文件。
工具下载
https://github.com/chenaotian/AuditCov/tree/master
更多推荐

所有评论(0)