code-auditor
aarambh-darshan/code-auditor加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

你有没有过这样的经历:接手一个老项目,代码堆成山,光是读懂逻辑就花了一周,更别说找出潜在的安全漏洞?或者自己写了个小工具,想找人 code review,但同事们都忙得脚不沾地?Code Auditor 也许能帮你——这是一款用 Rust 编写的 AI 代码审查工具,它不用你把代码贴给任何人,直接在本地跑,基于 Ollama 大模型,帮你找出代码里的安全漏洞、逻辑 bug 和性能问题。
传统的 AI 代码分析工具,大多是把你选中的文件一股脑儿塞给大模型,让它"看图说话"。这样做有两个明显问题:一是文件太多或太大时,模型上下文窗口撑不住;二是模型只能被动接受,无法主动深挖。
Code Auditor 的核心创新在于它的 Agentic Tool-Calling 架构——相当于给大模型装上了手脚。它让大模型在分析过程中自主调用四个工具:list_files(浏览目录结构)、read_file(读取具体文件)、search_code(搜索代码模式)和 report_issue(报告问题)。整个过程就像一位经验丰富的审计师,拿着放大镜在代码库里自主探索,而不是等着你把材料递到手上。
工具调用背后依赖 Ollama 的 tool-calling API,支持任意支持 function calling 的模型,比如 qwen3-coder:480b-cloud。如果你的模型不支持 tool calling,Code Auditor 还提供了 单调用模式(single_call_mode),把所有文件一次性发给模型做批量分析,虽然失去了"自主探索"能力,但依然能覆盖常见漏洞和 bug 场景。
Code Auditor 的分析维度覆盖四个方向:
安全漏洞是它的强项。工具内置了对常见漏洞模式的识别能力——SQL 注入、硬编码密钥、不安全的随机数、路径穿越……这些靠人工 review 容易遗漏的问题,AI 模型可以结合上下文语义进行判断,而不是简单做正则匹配。
逻辑 Bug方面,它能识别空指针风险、竞态条件(race condition)、错误的边界条件等。这些问题往往在测试阶段"玄学"复现,上线后才暴露。Code Auditor 在分析报告中会标注具体文件和行号,并给出问题的简要说明。
性能问题也被纳入扫描范围,包括低效算法(O(n²) 可优化、循环内的重复计算)、阻塞 I/O(同步网络请求在异步代码中拖慢整体吞吐)。这类问题在业务初期不明显,但随着数据量增长会成为瓶颈。
综合报告是整个流程的输出物。工具会生成一份 Markdown 格式的审计报告,按文件或按严重程度分组,报告包含问题描述、出问题的代码片段(高亮标注行号)、修复建议,以及整体统计概览。

Code Auditor 本身是 Rust 实现,选择 Rust 有几个实际原因:性能好、内存安全、Cargo 生态成熟。依赖层面值得关注的是以下几个 crate:
git2 负责克隆和分析 Git 仓库——用户只需要给一个 GitHub 仓库 URL,工具自动完成 git clone、目录遍历、文件过滤等操作,不需要手动下载。walkdir 负责高效遍历目录树,默认跳过 .git、target、node_modules 等常见不需要分析的非源码目录。tokio 提供异步运行时,所有 I/O 操作(网络请求、文件读写)均为异步,这在大规模代码分析时可以充分利用并发能力。clap 负责 CLI 参数解析,支持通过配置文件 .code-auditor.toml 管理默认参数,也支持环境变量覆盖。rig 是 Rust 中用于构建 LLM Agent 的框架,Code Auditor 底层用 rig 来管理 tool calling 的定义、调用和结果解析。
核心模块结构清晰:agent/ 负责 Agent 逻辑和 tool calling;analysis/ 负责分析策略;scanner/ 负责文件扫描和过滤;report/ 负责报告生成;repo/ 负责 Git 仓库操作;models.rs 定义了所有核心数据结构。模块化设计让各部分职责明确,也方便后续扩展新的扫描规则。
环境依赖很简单:安装 Rust(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh),安装 Ollama(curl -fsSL https://ollama.ai/install.sh | sh),拉取一个支持 tool calling 的模型(ollama pull qwen3-coder:480b 或 ollama pull llama3.2:latest)。
构建和运行:
git clone https://github.com/aarambh-darshan/code-auditor.git
cd code-auditor
cargo build --release
./target/release/code-auditor -r https://github.com/owner/repo -o report.md
配置通过 .code-auditor.toml 文件管理,可调整的参数包括:分析的最大文件数(max_files,默认 100)、每块的最大行数(max_chunk_lines,默认 4000)、并发分析的文件数(concurrency,默认 4)、模型温度(temperature,默认 0.1)。如果不想用 tool calling agent 模式,在配置中将 single_call_mode = true 即可切换为批量分析。
注意:Ollama 需要在后台运行(ollama serve),Code Auditor 默认连接 http://localhost:11434。也可以配置为连接 llama.cpp server。
工具不是银弹,Code Auditor 有几个明显的局限需要了解。
第一,对模型的强依赖。分析质量完全取决于底层大模型的能力。qwen3-coder 这类编程专用模型效果较好,但通用模型可能在安全漏洞识别上给出假阳性或漏报。用本地模型的好处是数据不出本机,但推理速度远不如云端 API。
第二,无容器化支持。项目没有提供 Dockerfile 或 docker-compose.yml,无法在容器环境中一键部署。这对于想将 Code Auditor 集成到 CI/CD 流水线中的团队来说,需要自行编写 Docker 镜像。
第三,分析深度有限。尽管 Agent 架构允许自主探索,但对于超大型仓库( thousands of files),默认 max_files=100 的限制会显著影响覆盖面。复杂的安全漏洞(如时间-of-check-to-time-of-use 竞态)可能需要更长的上下文和更精细的提示工程才能被发现。
第四,License 信息缺失。GitHub API 未返回该仓库的 License 字段,从 Cargo.toml 来看作者声明为 MIT License,但根目录实际没有 LICENSE 文件,建议在使用前联系作者确认。

个人开发者最适合这个工具。如果你是独立开发者,想给自己的开源项目做一次"预审",或者想快速评估一个第三方库的代码质量,Code Auditor 可以在几分钟内给出结构化的审计报告,帮你发现平时注意不到的问题。
小型团队也可以将 Code Auditor 集成到 code review 流程中,作为人工 review 的前置过滤——让 AI 先扫一遍,把高危问题标记出来,reviewer 把精力集中在架构和业务逻辑层面。
安全研究员可以将它作为辅助工具,用来对大量开源项目做初筛,快速定位潜在漏洞。不过对复杂漏洞的深入分析,仍需要人工介入。
Code Auditor 用 Rust + Ollama 的组合,在本地跑起了一个有自主探索能力的代码审查 AI Agent。它的优势在于数据隐私(代码不外传)、部署简单(一个二进制)、扩展性强(Cargo 生态支持自定义分析规则)。局限在于对大模型能力依赖强、无容器化支持、分析覆盖面受配置参数约束。
如果你在寻找一个轻量级的本地代码审查工具,或者想探索 AI Agent 在静态分析领域的应用,Code Auditor 是一个值得关注的项目。