OWASP/DockSec

GitHub: OWASP/DockSec

DockSec 是一款 AI 驱动的 Docker 安全扫描器,通过整合多个行业扫描器并用通俗语言解释漏洞、提供逐行修复建议,帮助开发者快速理解和修复容器安全问题。

Stars: 460 | Forks: 87

[![OWASP](https://img.shields.io/badge/Lab-blue?&label=level&style=for-the-badge)](https://owasp.org/DockSec/) [![OWASP](https://img.shields.io/badge/Code-blue?label=type&style=for-the-badge)](https://owasp.org/DockSec/) [![project-docksec](https://img.shields.io/badge/%23project--docksec-blue?label=slack&logoColor=white&style=for-the-badge)](https://owasp.slack.com/archives/C0APXGCUW7M) [![Build Status](https://img.shields.io/github/actions/workflow/status/OWASP/DockSec/python-app.yml?branch=main&style=for-the-badge&label=Build&color=blue)](https://github.com/OWASP/DockSec/actions)
[![OpenSSF Best Practices](https://img.shields.io/cii/level/12939?label=openssf%20best%20practices&style=for-the-badge)](https://www.bestpractices.dev/projects/12939) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](https://github.com/OWASP/DockSec/blob/main/LICENSE) [![Last Commit](https://img.shields.io/github/last-commit/OWASP/DockSec/main?color=blue&style=for-the-badge&label=Last%20commit)](https://github.com/OWASP/DockSec/commits/main/) [![Contributors](https://img.shields.io/github/contributors/OWASP/DockSec?style=for-the-badge&label=Contributors&color=blue)](https://github.com/OWASP/DockSec/graphs/contributors) [![Forks](https://img.shields.io/github/forks/OWASP/DockSec?style=for-the-badge&label=Forks&color=blue)](https://github.com/OWASP/DockSec/network/members) [![Stars](https://img.shields.io/github/stars/OWASP/DockSec?style=for-the-badge&label=Stars&color=blue)](https://github.com/OWASP/DockSec/stargazers) ![PyPI Downloads](https://img.shields.io/pepy/dt/docksec?style=for-the-badge&color=blue) [![Issues](https://img.shields.io/github/issues/OWASP/DockSec?color=blue&style=for-the-badge&label=Issues)](https://github.com/OWASP/DockSec/issues) [![Pull Requests](https://img.shields.io/github/issues-pr/OWASP/DockSec?color=blue&style=for-the-badge&label=Pull%20Requests)](https://github.com/OWASP/DockSec/pulls) [![CREATED](https://img.shields.io/badge/created-feb,%202025-blue?style=for-the-badge)](https://github.com/OWASP/DockSec/commit/80664db8935e4b5ab44df5867913e) DockSec Logo
OWASP Logo # [DockSec](https://owasp.org/DockSec/) **由 AI 驱动的 Docker 安全扫描器,用通俗易懂的语言解释漏洞**
## 什么是 DockSec? DockSec 是一个 **OWASP 实验室项目**,旨在弥合复杂的安全扫描结果与开发者可执行的修复之间的鸿沟。它将行业标准扫描器(Trivy、Hadolint、Docker Scout)与先进的 AI 相结合,提供**上下文感知的安全分析**。 DockSec 不会用 200 多个 CVE 列表让你不知所措,而是: - **优先处理**真正影响你特定容器配置的问题。 - **用通俗易懂的语言解释**漏洞,而不仅仅是使用安全术语。 - 为你的 Dockerfile **提供**具体的、逐行的修复建议。 - 为你的团队**生成**专业的交互式安全报告。 你可以把它想象成身边坐着一位安全专家,实时审查你的 Dockerfile。 ## 工作原理
DockSec Workflow

DockSec workflow: From scanning to actionable insights

DockSec 遵循稳健的四阶段 pipeline: 1. **Scan**:在你的本地环境中运行 Trivy、Hadolint 和 Docker Scout。 2. **Analyze**:AI 关联所有扫描器的发现结果,以消除噪音并评估实际影响。 3. **Recommend**:生成人类可读的解释和具体的修复步骤。 4. **Report**:以 JSON、PDF、HTML 或 Markdown 格式导出可执行的结果。 ## 负责人 DockSec 由一支敬业的团队领导,致力于让容器安全变得触手可及。 - [Advait Patel](https://github.com/advaitpatel) - 项目负责人 - [Arkadii Yakovets](https://github.com/arkid15r) - 项目联合负责人 如有疑问或讨论,请加入 OWAPS Slack 上的 [#project-docksec](https://owasp.slack.com/archives/C0APXGCUW7M) 频道。 ## 快速开始 ### GitHub Action 将 DockSec 集成到你的 GitHub Actions 工作流中: ``` - name: Run DockSec AI Scanner uses: OWASP/DockSec@main with: dockerfile: 'Dockerfile' openai_api_key: ${{ secrets.OPENAI_API_KEY }} ``` ### CLI 用法 ``` # 安装 DockSec pip install docksec # 扫描 Dockerfile (基于 AI) # 报告将保存到 ~/.docksec/results/ docksec Dockerfile # 扫描 Dockerfile + Docker image docksec Dockerfile -i myapp:latest # 扫描 Docker Compose 文件及其所有服务 docksec --compose docker-compose.yml # 仅扫描 Docker image docksec --image-only -i myapp:latest # 仅快速扫描 (无 AI) docksec Dockerfile --scan-only ``` ## 功能 - **智能分析**:AI 会针对*你的*特定设置解释漏洞的含义。 - **多 LLM 支持**:使用 OpenAI、Anthropic Claude (4.x)、Google Gemini (1.5+) 或通过 Ollama 使用本地模型。 - **Docker Compose 扫描**:检测编排级别的配置错误,并扫描 compose 文件中的所有服务。 - **深度集成**:结合了 Trivy(漏洞)、Hadolint(代码检查)和 Docker Scout。 - **安全评分**:获得 0-100 的评分,以长期跟踪你的安全状况。 - **集中式报告**:默认情况下,所有报告都整齐地组织在 `~/.docksec/results/` 中。 - **丰富格式**:支持 HTML(交互式)、PDF、JSON 和 CSV 格式的专业导出。 -**适配 CI/CD**:专为轻松集成到 GitHub Actions 和构建 pipeline 中而设计。 - **GitHub Action**:在 GitHub Marketplace 上提供,用于自动化安全扫描。 ## DockSec 的对比优势 以下是 DockSec 与其他容器安全工具的对比。 | 功能 | DockSec | Trivy (独立版) | Snyk Container | Aikido | |---|---|---|---|---| | 许可证和成本 | 免费,开源 (MIT) | 免费,开源 (Apache 2.0) | 商业软件 (免费层受限) | 商业软件 (免费层受限) | | 治理 | OWASP 实验室项目,厂商中立 | 开源,由 Aqua 维护 | 单一厂商 | 单一厂商 | | 检测 CVE 和 Dockerfile 配置错误 | 是 | 是 | 是 | 是 | | 上下文相关的、行级别的 Dockerfile 修复 | 是(提供带有解释的特定行重写) | 否(仅限检测) | 是(提供基础镜像升级建议,提交修复 PR) | 是(AI AutoFix PR) | | 完全离线/物理隔离运行 | 是(通过 Ollama 使用本地 LLM,仅扫描模式,无需 API 密钥) | 是,用于扫描(无修复层) | 否(云平台) | 否(托管平台) | | 你的镜像数据保留在你的网络中 | 是 | 是 | 否 | 否 | | 自带 LLM/模型选择 | 是(OpenAI、Anthropic、Gemini 或本地 Ollama) | 不适用 | 否(专有 AI) | 否(专有 AI) | | 可自托管,无需平台部署 | 是 | 是 | 否 | 否 | | 厂商锁定 | 无 | 无 | 是 | 是 | | 安全评分(0 到 100)和多格式报告(HTML、PDF、JSON、CSV、Markdown) | 是 | 部分(机器格式,无修复报告) | 部分(控制台报告) | 部分(控制台报告) | 在这些工具中,DockSec 是唯一一个将上下文相关的、行级别的 Dockerfile 修复与完全开源、受 OWASP 治理、可本地运行的设计结合起来的工具。Snyk 和 Aikido 提供了强大的 AI 修复功能,但仅作为商业云平台运行,会将你的数据发送到它们的服务器。Trivy 是开源且本地的,但仅止步于检测,不能帮你修复任何问题。DockSec 填补了开发人员以及受监管或物理隔离团队的空白,他们不仅需要修复指导,还需要完全控制自己的数据,而且是免费的。 ## 社区和社交媒体 - **OWASP 项目页面**:[owasp.org/DockSec/](https://owasp.org/DockSec/) - **OWASP Slack**:[#project-docksec](https://owasp.slack.com/archives/C0APXGCUW7M) - **PyPI**:[pypi.org/project/docksec/](https://pypi.org/project/docksec/) - **问题**:[报告 Bug](https://github.com/OWASP/DockSec/issues)
如果 DockSec 对你有帮助,请给它一个 ⭐,帮助其他人发现它!
Advait Patel 和 OWASP 社区用 ❤️ 构建。
标签:AI风险缓解, Docker, OWASP项目, Petitpotam, Python, Web截图, 人工智能, 安全防御评估, 容器安全, 无后门, 用户模式Hook绕过, 请求拦截, 逆向工具