isidhartha/cybershield-ai

GitHub: isidhartha/cybershield-ai

一个集成多种安全扫描功能的AI驱动工具,帮助开发者在代码发布前发现并修复漏洞。

Stars: 0 | Forks: 0

# CyberShield AI [![讨论区](https://img.shields.io/github/discussions/isidhartha/cybershield-ai)](https://github.com/isidhartha/cybershield-ai/discussions) ## 演示 ![演示动画](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2f1341585e071859.gif) ### 截图 | 桌面仪表板 | 功能视图 | 移动视图 | |------------------|--------------|--------------| | ![桌面端](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4961cc947a071900.png) | ![功能](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d8eb564fc0071901.png) | ![移动端](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/18f2846bae071901.png) | **仅限授权安全测试和防御用途。扫描非您自有的系统前务必获得许可。** 我构建 CyberShield AI 是因为我常用的安全工具要么功能太单一(一个工具找密钥,另一个找 CVE,还有一个做 SAST),要么太昂贵。CyberShield 将所有功能整合到一个地方,并在上面加了一层 AI,能够用通俗易懂的语言解释发现的问题,而不仅仅是抛给你一串 CVE 编号。 目标用户是希望在代码发布前自行检查的开发者——而非拥有企业级工具的专业安全团队。它是自托管的,运行在 Docker 中,并提供可操作的输出,而非一堆原始的扫描器结果。 ## 扫描内容 **密钥与凭据** — 基于正则表达式和熵值的检测,用于识别代码库中任何位置硬编码的 API 密钥、令牌、私钥、连接字符串和密码。它已捕获过 AWS 密钥、GitHub PAT、Stripe 密钥、数据库密码——那些出现在泄露报告中的东西。 **静态代码分析** — 针对 OWASP Top 10 漏洞的模式匹配:SQL 注入、命令注入、XSS、路径遍历、不安全的反序列化、硬编码凭据、弱加密。支持 Python、JavaScript、TypeScript、Go、Java 等多种语言。 **AI 安全审查** — 超越模式匹配。将您的代码发送给理解上下文的 AI 模型。它能捕捉到诸如“这看起来像是一个可能导致权限提升的竞态条件”之类正则表达式模式会遗漏的问题。 **修复建议** — 对于每个发现,它会告诉你需要修改什么。不仅仅是“这是一个 SQL 注入”,而是“将此 f-string 替换为参数化查询,这里是修复后的版本。” **报告生成** — 生成简洁的 HTML 安全报告,可供分享或保存。当您需要向客户或团队负责人展示安全审查结果时非常有用。 ## 运行方法 **前提条件**:Docker 和 Docker Compose。一个 OpenAI API 密钥(用于 AI 分析功能,扫描器本身无需此密钥也能工作)。 **1. 克隆仓库** ``` git clone https://github.com/isidhartha/cybershield-ai.git cd cybershield-ai ``` **2. 配置** ``` cp .env.example .env ``` 将您的 API 密钥添加到 `.env` 文件: ``` OPENAI_API_KEY=sk-your-key-here ``` **3. 启动所有服务** ``` docker-compose up --build ``` **4. 打开仪表板** 访问 `http://localhost:3000`。粘贴代码、GitHub URL 或文件路径,然后点击扫描。 ## 可选:添加外部扫描器 CyberShield 内置了无需额外安装即可工作的扫描器。如果您的系统上安装了以下工具,它将自动识别并将其作为默认扫描器的补充使用: ``` # gitleaks — 非常适用于 git 历史扫描 # 下载地址:https://github.com/gitleaks/gitleaks/releases # trufflehog — 高信噪比的秘密检测工具 pip install trufflehog # bearer — 覆盖 OWASP 的现代 SAST 工具 # macOS: brew install bearer/tap/bearer # Linux: https://docs.bearer.com/reference/installation ``` 如果这些工具都未安装,内置扫描器将自动启用。在大多数使用场景中,您不会感觉到区别。 ## API Swagger UI 地址:`http://localhost:8000/docs`。 ``` POST /api/v1/scan/secrets — Scan for hardcoded secrets POST /api/v1/scan/code — Static analysis for vulnerabilities POST /api/v1/scan/dependencies — Check dependencies against CVE databases POST /api/v1/scan/full — Run all scanners at once POST /api/v1/ai/review — AI-powered security code review POST /api/v1/report/generate — Generate a security report POST /api/v1/chat — Security assistant chat ``` ## 漏洞类别 | 类别 | 捕获内容 | |---|---| | 密钥 | AWS 密钥、GitHub 令牌、私钥、数据库密码、任何高熵字符串 | | 注入 | SQL 注入、命令注入、路径遍历、LDAP 注入 | | Web | XSS、CSRF、开放重定向、不安全的头部、Cookie 标志 | | 认证 | 硬编码凭据、弱哈希算法、不安全的会话处理 | | 依赖项 | 来自 OSV.dev 的已知 CVE、过时的包 | ## 配置 | 变量 | 描述 | 默认值 | |------------------|--------------|--------------| | `OPENAI_API_KEY` | 用于 AI 分析功能 | — | | `REPORTS_DIR` | HTML 报告保存位置 | `/app/reports` | | `MAX_FILE_SIZE_MB` | 可扫描的最大文件大小 | `10` | | `SCAN_TIMEOUT` | 扫描中止前的秒数 | `120` | ## 免费本地 LLM 选项(无需 API 密钥) CyberShield AI 支持 [Ollama](https://ollama.com) 作为 OpenAI 的即用型替代方案,用于 AI 分析功能(CVE 解释、安全助手聊天、修复建议)。内置扫描器完全不依赖任何 LLM。 **1. 安装 Ollama** 从 [https://ollama.com](https://ollama.com) 下载并安装,然后拉取一个模型: ``` ollama pull llama3.2 ``` **2. 启动 Ollama** ``` ollama serve ``` **3. 将 CyberShield 切换到 Ollama** 在您的 `.env` 文件中设置: ``` LLM_PROVIDER=ollama OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=llama3.2 ``` 重启后端服务。CVE 解释、安全助手和修复建议将全部在本地运行,无需任何 API 密钥。 **注意:** 密钥扫描器、SAST 扫描器和依赖项 CVE 检查器是完全本地的,不使用任何 LLM——它们不受此设置影响,可正常工作。 ## 许可证 MIT 许可证。您可以基于它进行构建、分支,并用于您自己的安全工作。
标签:AI 安全分析, AI风险缓解, CVE 检查, Docker 部署, IPv6支持, JS文件枚举, OWASP 合规, 代码安全, 代码审查, 可操作输出, 多语言支持, 威胁情报, 安全专业人员, 安全测试, 安全测试框架, 对抗攻击, 开发者工具, 授权测试, 攻击性安全, 敏感信息检测, 数据可视化, 日志审计, 漏洞枚举, 秘密检测, 结构化查询, 网络安全, 网络运维, 自动化安全, 自托管, 请求拦截, 逆向工具, 错误基检测, 隐私保护, 静态代码分析