chrisfsolis/secure-code-agent
GitHub: chrisfsolis/secure-code-agent
一个以确定性扫描为主、LLM 辅助为次的 PR 代码审查代理,用于发现安全漏洞、代码质量问题和合规影响。
Stars: 0 | Forks: 0
# secure_code_agent
SecureCodeAgent 是一个以确定性为主、仅提供咨询建议的代码审查代理,用于分析拉取请求中的软件质量、安全漏洞、敏感边界、扫描器发现以及合规性影响。
## 本地设置
### 1) 创建虚拟环境
```
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
```
### 2) 安装项目及开发依赖
```
python -m pip install -e .[dev]
```
### 3) 配置环境
```
cp .env.example .env
```
### 4) 运行 FastAPI 应用
```
uvicorn secure_code_agent.app.main:app --reload
```
### 5) 运行测试
```
pytest -q
```
### 6) 代码检查和格式化
```
ruff check .
ruff format .
```
### 7) 类型检查
```
mypy secure_code_agent
```
### 8) Docker Compose
```
docker compose up --build
docker compose down
```
## 注意事项
- 保持本项目以确定性为主,LLM 辅助为次。
- 在首个版本中,保持强制执行仅提供咨询建议。
- 单元测试不应依赖实时的 PostgreSQL/Redis,除非明确标记为集成测试。
## 本地数据库和迁移
```
export DATABASE_URL=postgresql+psycopg://postgres:postgres@localhost:5432/secure_code_agent
make db-up
make db-migrate
```
运行新的迁移版本:
```
make db-revision
```
## GitHub App Webhook 设置
有关 Webhook 和 GitHub App 配置,请参见 `docs/github_app_setup.md`。Webhook 端点:`POST /webhooks/github`。
## 扫描器执行
有关确定性扫描器子进程编排和安全控制,请参见 `docs/scanner_execution.md`。
## GitHub 发布
结构化的 PR 摘要评论、内联评论和检查运行目前以建议模式生成,默认采用试运行,并通过发现指纹进行去重。
## LLM 审查层
确定性扫描器仍然是主要的。可选的 LLM 审查器仅提供咨询建议,经过严格的 JSON 验证,默认采用故障开放机制,并且绝不修改代码或自动合并。
## 控制映射
支持针对 OWASP/CWE/NIST/SOC2/ISO27001/内部 SDLC 参考的确定性、仅提供咨询建议的控制映射。这些是用于证据的轻量级参考,不构成审计结论。
标签:AI, Alembic, AV绕过, CISA项目, DevSecOps, Docker, FastAPI, GitHub App, ISO27001, LLM辅助, MyPy, NIST, PostgreSQL, Python, Redis, Ruff, SDLC, SOC2, SQLAlchemy, TLS抓取, Webhook, 上游代理, 中间件漏洞, 人工智能安全, 人工智能辅助开发, 代码安全, 代码审查, 力导向图, 单元测试, 合规性, 合规控制, 安全审查, 安全漏洞, 安全防御评估, 拉取请求, 搜索引擎查询, 敏感边界, 无后门, 测试用例, 漏洞枚举, 类型检查, 网络安全, 自动化代码审查, 请求拦截, 软件安全, 逆向工具, 错误基检测, 隐私保护, 静态代码分析