Batta – AI编码代理的计划阶段安全审查(开源)
Batta是一个开源工具,在AI编码代理编写代码前提供安全审查,通过在计划阶段集成安全上下文,防止设计缺陷,降低修复成本。它基于实际代码、云配置和组织策略构建安全模型,而非通用检查清单。
Batta是一款开源工具,专为AI编码代理设计,在计划阶段提供安全审查。其核心理念是“安全设计”,即在代码编写之前注入安全上下文,使每个代理决策都有充分的信息依据。
与传统的安全审查不同,Batta不是在拉取请求或部署后进行,而是在代理开始新功能或代码变更前运行。它通过索引整个代码库、云配置和组织策略,构建一个结构化的安全模型,包括服务、入口点、身份、云资源、数据流、信任边界、数据分类、威胁和已知缺口。当代理提出变更时,Batta会将变更与该模型对比,返回具体的上下文缺失信息、风险、所需安全任务以及证据支持的证明,供人工审核。
Batta的工作流程围绕MCP(Model Context Protocol)协议展开。编码代理通过MCP将仓库索引到Batta API,Batta存储结构化架构上下文。在特性开发前,代理启动安全审查,Batta比较变更与索引的架构,返回缺失上下文、风险和任务。代理实施变更并提交证据证明。整个过程在本地优先的OSS环境中运行,无需LLM密钥即可进行MCP索引和审查循环。
快速开始:运行docker compose up,打开http://localhost:3100/onboarding,然后向编码代理粘贴包含Batta服务器地址的提示,代理自动获取设置指令、配置MCP、验证连接、索引仓库,并添加运行Batta审查的永久指令。
Batta的架构包括React+Vite的前端UI、Express REST API和MCP端点、Postgres+pgvector持久化以及Redis缓存。它支持Ollama本地模型,如qwen2.5-coder:14b,用于聊天、索引代理和语义嵌入。
对于组织而言,Batta不仅是一个安全工具,更是安全决策的记录系统。它记录每个决策、发现和证明,让人工始终控制关键事项,并保留完整的审计跟踪。许可证为Apache-2.0。