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绕过, 自动修复, 自动化运维, 请求拦截, 逆向工具