asamassekou10/ship-safe

GitHub: asamassekou10/ship-safe

AI 驱动的应用安全扫描平台,通过 16 个智能体并行检测 80+ 种攻击类型,覆盖机密泄露、代码漏洞、供应链风险、配置错误和 AI 安全等领域。

Stars: 231 | Forks: 27

Ship Safe Logo

AI-powered application security platform for developers.

npm version npm downloads CI Node.js version License: MIT GitHub stars

16 个安全智能体。80+ 种攻击类别。一条命令。 **Ship Safe v5.0** 是一个 AI 驱动的安全平台,可针对您的代码库并行运行 16 个专用智能体 —— 扫描机密信息、注入漏洞、身份验证绕过、SSRF、供应链攻击、Supabase RLS 配置错误、Docker/Terraform/Kubernetes 配置错误、CI/CD 流水线投毒、LLM/代理 AI 安全、MCP 服务器滥用、RAG 投毒、PII 合规性等。LLM 驱动的深度分析可验证关键发现的可利用性。机密验证功能通过探测提供商 API 来检查泄露的密钥是否仍然有效。专用的 CI 命令 (`ship-safe ci`) 可通过基于阈值的门控和 SARIF 输出集成到任何流水线中。 ## 快速开始 ``` # 全面安全审计 — secrets + 16 agents + deps + 修复计划 npx ship-safe audit . # LLM 驱动的深度分析 (Anthropic, OpenAI, Google, Ollama) npx ship-safe audit . --deep # 仅 Red team 扫描 (16 agents, 80+ attack classes) npx ship-safe red-team . # 快速 secret 扫描 npx ship-safe scan . # 安全健康评分 (0-100) npx ship-safe score . # CI/CD pipeline 模式 — 精简输出,退出代码,SARIF npx ship-safe ci . # 接受当前发现,仅报告回归 npx ship-safe baseline . npx ship-safe audit . --baseline # 检查泄露的 secrets 是否仍然有效 npx ship-safe audit . --verify # 环境诊断 npx ship-safe doctor ``` ![ship-safe 终端演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b73a46bafe164707.jpg) ## `audit` 命令 一条命令即可运行所有检查并生成完整报告: ``` npx ship-safe audit . ``` ``` ════════════════════════════════════════════════════════════ Ship Safe v5.0 — Full Security Audit ════════════════════════════════════════════════════════════ [Phase 1/4] Scanning for secrets... ✔ 49 found [Phase 2/4] Running 16 security agents... ✔ 103 findings [Phase 3/4] Auditing dependencies... ✔ 44 CVEs [Phase 4/4] Computing security score... ✔ 25/100 F Remediation Plan ════════════════════════════════════════════════════════ 🔴 CRITICAL — fix immediately ──────────────────────────────────────────────────────── 1. [SECRETS] Rotate Stripe Live Secret Key .env:67 → Move to environment variable or secrets manager 2. [INJECTION] Unsafe pickle.loads() backend/ai_processor.py:64 → Use JSON for untrusted data 🟠 HIGH — fix before deploy ──────────────────────────────────────────────────────── 3. [XSS] dangerouslySetInnerHTML without sanitization frontend/src/utils/blogContentRenderer.jsx:50 → Add DOMPurify ... 149 more items in the full report 📊 Full report: ship-safe-report.html ``` **运行内容:** 1. **机密扫描** — 50+ 种模式结合熵评分(API 密钥、密码、令牌) 2. **16 个安全智能体** — 并行运行,具有每个智能体的超时设置和框架感知过滤(注入、身份验证、SSRF、供应链、配置、Supabase RLS、LLM、MCP、代理 AI、RAG、PII、移动端、git 历史、CI/CD、API) 3. **依赖审计** — npm/pip/bundler CVE 扫描 4. **机密验证** — 探测提供商 API(GitHub, Stripe, OpenAI 等)以检查泄露的密钥是否仍然有效 5. **深度分析** — LLM 驱动的污点分析验证关键/高危发现的可利用性(可选) 6. **分数计算** — 基于 8 个类别的置信度加权评分(0-100, A-F) 7. **上下文感知置信度调整** — 降低测试文件、文档和注释中的发现等级 8. **修复计划** — 按严重程度分组的优先修复列表 9. **HTML 报告** — 包含代码上下文的独立深色主题报告 **标志:** - `--json` — 结构化 JSON 输出(便于管道传输) - `--sarif` — 用于 GitHub Code Scanning 的 SARIF 格式 - `--csv` — 用于电子表格的 CSV 导出 - `--md` — Markdown 报告 - `--html [file]` — 自定义 HTML 报告路径(默认:`ship-safe-report.html`) - `--compare` — 显示与上次扫描相比的各类别分数变化 - `--timeout ` — 每个智能体的超时时间(默认:30s) - `--no-deps` — 跳过依赖审计 - `--no-ai` — 跳过 AI 分类 - `--no-cache` — 强制完全重新扫描(忽略缓存结果) - `--baseline` — 仅显示不在基线中的发现 - `--pdf [file]` — 生成 PDF 报告(需要 Chrome/Chromium) - `--deep` — 对关键/高危发现进行 LLM 驱动的污点分析 - `--local` — 使用本地 Ollama 模型进行深度分析 - `--model ` — 用于深度/AI 分析的 LLM 模型 - `--budget ` — 深度分析的最大花费(以美分为单位,默认:50) - `--verify` — 检查泄露的机密是否仍然有效(探测提供商 API) ## 16 个安全智能体 | 智能体 | 类别 | 检测内容 | |-------|----------|-----------------| | **InjectionTester** | 代码漏洞 | SQL/NoSQL 注入、命令注入、代码注入 (eval)、XSS、路径遍历、XXE、ReDoS、原型污染、Python f-string SQL 注入、Python subprocess shell 注入 | | **AuthBypassAgent** | 身份验证 | JWT 漏洞(alg:none、弱密钥)、Cookie 安全性、CSRF、OAuth 配置错误、BOLA/IDOR、弱加密、时序攻击、TLS 绕过、Django `DEBUG = True`、Flask 硬编码密钥 | | **SSRFProber** | SSRF | fetch/axios 中的用户输入、云元数据端点、内部 IP、重定向跟随 | | **SupplyChainAudit** | 供应链 | 抢注(Levenshtein 距离)、git/URL 依赖、通配符版本、可疑安装脚本、依赖混淆、未锁定 registry 的 scoped 包 | | **ConfigAuditor** | 配置 | Dockerfile(以 root 运行、:latest 标签)、Terraform(公共 S3/RDS、开放 SG、CloudFront HTTP、Lambda admin、S3 无版本控制)、Kubernetes(特权容器、`:latest` 标签、缺失 NetworkPolicy)、CORS、CSP、Firebase、Nginx | | **SupabaseRLSAgent** | 身份验证 | Supabase 行级安全 — 客户端代码中的 `service_role` 密钥、无 RLS 的 `CREATE TABLE`、anon 密钥插入、未受保护的存储操作 | | **LLMRedTeam** | AI/LLM | OWASP LLM Top 10 — 提示注入、过度代理、系统提示泄露、无限消费、RAG 投毒 | | **MCPSecurityAgent** | AI/LLM | MCP 服务器安全 — 未验证的工具输入、缺失身份验证、过度权限、工具投毒 | | **AgenticSecurityAgent** | AI/LLM | OWASP Agentic AI Top 10 — 智能体劫持、权限提升、不安全代码执行、内存投毒 | | **RAGSecurityAgent** | AI/LLM | RAG 流水线安全 — 未验证的嵌入、上下文注入、文档投毒、向量数据库访问控制 | | **PIIComplianceAgent** | 合规性 | PII 检测 — 源代码、日志和配置中的 SSN、信用卡、电子邮件、电话号码 | | **MobileScanner** | 移动端 | OWASP Mobile Top 10 2024 — 不安全存储、WebView JS 注入、HTTP 端点、过度权限、调试模式 | | **GitHistoryScanner** | 机密信息 | git 提交历史中泄露的机密(检查在工作树中是否仍然有效) | | **CICDScanner** | CI/CD | OWASP CI/CD Top 10 — 流水线投毒、未锁定的 actions、机密日志记录、自托管 runners、脚本注入 | | **APIFuzzer** | API | 无身份验证的路由、缺失输入验证、批量赋值、无限制文件上传、GraphQL 内省、调试端点、缺失速率限制、OpenAPI 规范安全问题 | | **ReconAgent** | 侦察 | 攻击面发现 — 框架、语言、身份验证模式、数据库、云提供商、IaC、CI/CD 流水线 | **后处理器:** ScoringEngine(8 类别加权评分)、VerifierAgent(机密活性验证)、DeepAnalyzer(LLM 驱动的污点分析) ## 所有命令 ### 核心审计命令 ``` # 包含修复计划 + HTML 报告的全面审计 npx ship-safe audit . # Red team: 16 agents, 80+ attack classes npx ship-safe red-team . npx ship-safe red-team . --agents injection,auth # Run specific agents npx ship-safe red-team . --html report.html # HTML report npx ship-safe red-team . --json # JSON output # Secret scanner (模式匹配 + 熵) npx ship-safe scan . npx ship-safe scan . --json # JSON for CI npx ship-safe scan . --sarif # SARIF for GitHub # 安全健康评分 (0-100, A-F) npx ship-safe score . # Dependency CVE audit npx ship-safe deps . npx ship-safe deps . --fix # Auto-fix vulnerabilities ``` ### AI 驱动命令 ``` # AI audit: 使用 Claude 扫描 + 分类 + auto-fix secrets npx ship-safe agent . # Auto-fix 硬编码 secrets: 重写代码 + 写入 .env npx ship-safe remediate . npx ship-safe remediate . --all # Also fix agent findings (TLS, debug, XSS, etc.) # 撤销暴露的密钥 — 打开提供商仪表板 npx ship-safe rotate . ``` ### 基线管理 ``` # 接受当前发现作为基线 npx ship-safe baseline . # 仅显示基线以来新发现的审计 npx ship-safe audit . --baseline # 显示自基线以来的变化 npx ship-safe baseline --diff # 移除基线 npx ship-safe baseline --clear ``` ### CI/CD 流水线 ``` # CI 模式 — 精简输出,退出代码,阈值把关 npx ship-safe ci . npx ship-safe ci . --threshold 80 # Custom passing score npx ship-safe ci . --fail-on critical # Fail on severity npx ship-safe ci . --sarif out.sarif # SARIF for GitHub ``` ### 深度分析与验证 ``` # LLM 驱动的深度分析 (Anthropic/OpenAI/Google/Ollama) npx ship-safe audit . --deep npx ship-safe audit . --deep --local # Use local Ollama npx ship-safe audit . --deep --budget 50 # Cap spend at 50 cents # 检查泄露的 secrets 是否仍然有效 npx ship-safe audit . --verify ``` ### 诊断 ``` # 环境检查 — Node.js, git, npm, API keys, 缓存, 版本 npx ship-safe doctor ``` ### 基础设施命令 ``` # 持续监控 (监视文件变更) npx ship-safe watch . # 生成 CycloneDX SBOM npx ship-safe sbom . # Policy-as-code (强制最低分数,严重时失败) npx ship-safe policy init # 如果发现 secrets 则阻止 git push npx ship-safe guard # 初始化安全配置 (.gitignore, headers) npx ship-safe init # 发布日安全检查清单 npx ship-safe checklist # 用于 AI 编辑器的 MCP server (Claude Desktop, Cursor, 等) npx ship-safe mcp ``` ## Claude Code 插件 直接在 Claude Code 中使用 Ship Safe —— 无需 CLI: ``` claude plugin add github:asamassekou10/ship-safe ``` | 命令 | 描述 | |---------|-------------| | `/ship-safe` | 完整安全审计 — 16 个智能体、修复计划、自动修复 | | `/ship-safe-scan` | 泄露机密快速扫描 | | `/ship-safe-score` | 安全健康评分(0-100) | | `/ship-safe-deep` | LLM 驱动的深度污点分析 | | `/ship-safe-ci` | CI/CD 流水线设置指南 | Claude 会解释结果,用通俗语言说明发现,并可直接在您的代码库中修复问题。 ## 增量扫描 Ship Safe 在 `.ship-safe/context.json` 中缓存文件哈希和发现结果。在后续运行中,仅重新扫描更改的文件 —— 未更改的文件重用缓存结果。 ``` ✔ [Phase 1/4] Secrets: 41 found (0 changed, 313 cached) ``` - 重复扫描速度提升 **~40%** - **自动失效** —— 缓存在 24 小时后或 ship-safe 更新时过期 - **`--no-cache`** —— 随时强制进行完全重新扫描 缓存存储在 `.ship-safe/` 中,该目录会自动从扫描中排除。 ### LLM 响应缓存 使用 AI 分类时(使用 `--no-ai` 禁用),结果会缓存在 `.ship-safe/llm-cache.json` 中,TTL 为 7 天。重复扫描会重用缓存的分类结果 —— 显著降低 API 成本。 ## 智能 `.gitignore` 处理 Ship Safe 遵循您的 `.gitignore` 以忽略构建输出、缓存和供应商目录 —— 但**始终扫描安全敏感文件**,即使它们被 gitignore: | 跳过(遵循 gitignore) | 始终扫描(覆盖 gitignore) | |-------------------------------|---------------------------------------| | `node_modules/`, `dist/`, `build/` | `.env`, `.env.local`, `.env.production` | | `*.log`, `*.pkl`, vendor dirs | `*.pem`, `*.key`, `*.p12` | | Cache directories, IDE files | `credentials.json`, `*.secret` | 为什么?像 `.env` 这样的文件被 gitignore 是*因为*它们包含机密 —— 而这正是安全扫描器应该捕获的内容。 ## 多 LLM 支持 Ship Safe 支持多个 AI 提供商进行分类: | 提供商 | 环境变量 | 模型 | |----------|-------------|-------| | **Anthropic** | `ANTHROPIC_API_KEY` | claude-haiku-4-5 | | **OpenAI** | `OPENAI_API_KEY` | gpt-4o-mini | | **Google** | `GOOGLE_AI_API_KEY` | gemini-2.0-flash | | **Ollama** | `OLLAMA_HOST` | 本地模型 | 从环境变量自动检测。扫描不需要 API 密钥 —— AI 是可选的。 ## 评分系统 从 100 分开始。每个发现根据严重程度和类别扣分,并按置信度水平(高:100%、中:60%、低:30%)加权,以减少来自启发式模式的噪音。 **8 个类别**(带权重上限): | 类别 | 权重 | Critical | High | Medium | 上限 | |----------|--------|----------|------|--------|-----| | 机密信息 | 15% | -25 | -15 | -5 | -15 | | 代码漏洞 | 15% | -20 | -10 | -3 | -15 | | 依赖项 | 15% | -20 | -10 | -5 | -15 | | 身份验证与访问控制 | 15% | -20 | -10 | -3 | -15 | | 配置 | 10% | -15 | -8 | -3 | -10 | | 供应链 | 10% | -15 | -8 | -3 | -10 | | API 安全 | 10% | -15 | -8 | -3 | -10 | | AI/LLM 安全 | 10% | -15 | -8 | -3 | -10 | **等级:** A (90-100), B (75-89), C (60-74), D (40-59), F (0-39) **退出代码:** A/B (>= 75) 为 `0`,C/D/F 为 `1` —— 在 CI 中用于使构建失败。 ## 策略即代码 创建 `.ship-safe.policy.json` 以强制执行团队范围的安全标准: ``` npx ship-safe policy init ``` ``` { "minimumScore": 70, "failOn": "critical", "requiredScans": ["secrets", "injection", "deps", "auth"], "ignoreRules": [], "customSeverityOverrides": {}, "maxAge": { "criticalCVE": "7d", "highCVE": "30d", "mediumCVE": "90d" } } ``` ## CI/CD 集成 专用的 `ci` 命令针对流水线进行了优化 —— 紧凑输出、退出代码、基于阈值的门控: ``` # 基础 CI — 分数 < 75 则失败 npx ship-safe ci . # 严格 — 任何 critical 发现即失败 npx ship-safe ci . --fail-on critical # 自定义阈值 + 用于 GitHub Security tab 的 SARIF npx ship-safe ci . --threshold 80 --sarif results.sarif # 仅检查新发现 (不在基线中) npx ship-safe ci . --baseline ``` **GitHub Actions 示例:** ``` # .github/workflows/security.yml name: Security Audit on: [push, pull_request] jobs: security: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Security gate run: npx ship-safe ci . --threshold 75 --sarif results.sarif - uses: github/codeql-action/upload-sarif@v3 if: always() with: sarif_file: results.sarif ``` **导出格式:** `--json`, `--sarif`, `--csv`, `--md`, `--html`, `--pdf` ## 抑制误报 **行内:** 在行上添加 `# ship-safe-ignore` 注释: ``` password = get_password() # ship-safe-ignore ``` **文件级:** 创建 `.ship-safeignore`(gitignore 语法): ``` # 排除测试固件 tests/fixtures/ *.test.js # 排除包含代码示例的文档 docs/ ``` ## OWASP 覆盖范围 | 标准 | 覆盖范围 | |----------|----------| | **OWASP Top 10 Web 2025** | A01-A10:失效的访问控制、加密、注入、不安全设计、安全配置错误、易受攻击的组件、身份验证失败、数据完整性、日志记录失败、SSRF | | **OWASP Top 10 Mobile 2024** | M1-M10:不当凭据使用、供应链不足、不安全身份验证、验证不足、不安全通信、隐私不足、二进制保护、安全配置错误、不安全数据存储、加密不足 | | **OWASP LLM Top 10 2025** | LLM01-LLM10:提示注入、敏感信息泄露、供应链、数据投毒、不当输出处理、过度代理、系统提示泄露、向量/嵌入弱点、虚假信息、无限消费 | | **OWASP CI/CD Top 10** | CICD-SEC-1 至 10:流控制不足、身份管理、依赖链滥用、投毒流水线执行、PBAC 不足、凭据卫生、不安全系统配置、不受管的使用、不当工件完整性、日志记录不足 | | **OWASP Agentic AI Top 10** | ASI01-ASI10:智能体劫持、工具滥用、权限提升、不安全代码执行、内存投毒、身份欺骗、过度自主、日志缺口、供应链攻击、级联幻觉 | ## 目录结构 ### [`/configs`](./configs) Next.js、Supabase 和 Firebase 的开箱即用安全配置。 ### [`/snippets`](./snippets) 复制粘贴安全模式:速率限制、JWT、CORS、输入验证。 ### [`/ai-defense`](./ai-defense) LLM 安全:提示注入检测、成本保护、系统提示加固。 ### [`/checklists`](./checklists) 手动安全审计:发布日检查清单、特定框架指南。 ## 贡献 1. Fork 本仓库 2. 添加您的安全模式、智能体或配置 3. 包含解释*为什么*它很重要的注释 4. 提交 PR 查看 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解指南。 ## 安全标准参考 - [OWASP Top 10 Web 2025](https://owasp.org/Top10/) - [OWASP Top 10 Mobile 2024](https://owasp.org/www-project-mobile-top-10/) - [OWASP LLM Top 10 2025](https://genai.owasp.org/llm-top-10/) - [OWASP API Security Top 10 2023](https://owasp.org/API-Security/) - [OWASP CI/CD Top 10](https://owasp.org/www-project-top-10-ci-cd-security-risks/) - [OWASP Agentic AI Top 10](https://owasp.org/www-project-agentic-ai-top-10/) ## 许可证 MIT - 随意使用,分享,保护您的东西。 ## Star 历史 [![Star 历史图表](https://api.star-history.com/svg?repos=asamassekou10/ship-safe&type=Date)](https://star-history.com/#asamassekou10/ship-safe&Date) **快速交付。安全交付。**
标签:AI安全, Chat Copilot, Chrome Headless, CI/CD安全, CISA项目, DevSecOps, DNS 反向解析, Docker安全, IP 地址批量处理, Kubernetes安全, Llama, MCP服务器, MITM代理, Node.js安全, PII检测, RAG安全, Red Canary, SARIF, SSRF防护, StruQ, Supabase安全, Terraform安全, 上游代理, 安全左移, 暗色界面, 注入攻击, 自定义脚本, 身份验证绕过, 错误基检测, 静态代码分析