X-Abhishek-X/Auto-Patch-AI
GitHub: X-Abhishek-X/Auto-Patch-AI
结合Trivy扫描能力与大语言模型,自动检测Docker镜像漏洞并生成修复建议Dockerfile的自动化工具
Stars: 0 | Forks: 0
# Auto-Patch-AI
使用 Trivy 扫描 Docker 镜像中的 CVE,然后使用 LLM 编写修复后的 Dockerfile。通过 Groq 开箱即用 —— 无需信用卡。
```
docker image
│
▼
trivy image --format json
│ CVE list + affected packages + fixed versions
▼
LLM (Groq / OpenAI / Ollama)
│ "rewrite this Dockerfile to fix these CVEs"
▼
Dockerfile.secure
```
### 设置
```
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
```
安装 Trivy:
```
brew install trivy # macOS
sudo apt install trivy # Linux
```
### API 密钥(任选其一)
**免费 — Groq**(推荐):在 [console.groq.com](https://console.groq.com) 注册 —— 无需绑定卡片
```
export GROQ_API_KEY="your_groq_key"
```
**付费 — OpenAI:**
```
export OPENAI_API_KEY="sk-..."
```
**本地 — Ollama:**
```
export LLM_BASE_URL="http://localhost:11434/v1"
export LLM_MODEL="llama3"
```
优先顺序:Groq → Ollama(如果设置了 `LLM_BASE_URL`)→ OpenAI。
### 用法
```
python autopatch.py python:3.9-slim
python autopatch.py nginx:1.21
python autopatch.py node:18
```
输出:
```
Auto-Patch-AI — provider: Groq (free) model: llama-3.3-70b-versatile
Scanning image: python:3.9-slim
CRITICAL 2
HIGH 7
MEDIUM 14
LOW 31
Found 54 vulnerabilities. Generating patch...
╭─────────────── Dockerfile.secure ───────────────╮
│ FROM python:3.11-slim-bookworm │
│ RUN apt-get update && apt-get upgrade -y && \ │
│ apt-get clean && rm -rf /var/lib/apt/lists/* │
│ COPY . /app │
│ WORKDIR /app │
│ CMD ["python", "app.py"] │
╰──────────────────────────────────────────────────╯
Saved to Dockerfile.secure
Test it: docker build -f Dockerfile.secure -t myapp:patched .
```
### 注意事项
- 发送给 LLM 的 CVE 数量上限为 20 个,以保持在上下文限制内
- 修复后的 Dockerfile 仅为建议 —— 部署前请先进行测试
- 关于 `.env` 文件的使用:将 `.env.example` 复制为 `.env` 并填入您的密钥
### 许可证
MIT
标签:AI风险缓解, Claude, CVE检测, DevSecOps, Docker, Dockerfile, GPT-4o-mini, LLM评估, Ollama, OpenAI, Petitpotam, Python, Sysdig, Web截图, 上游代理, 人工智能, 代码补丁, 内存规避, 基础架构安全, 安全防御评估, 容器安全, 无后门, 用户模式Hook绕过, 自动修复, 自动化运维, 请求拦截, 逆向工具