Ship Safe 接入 Claude Code 与 Codex:8 个 Skills 和 Hooks 实时拦截秘密泄露

发布时间:2026/10/25 23:30:22
Ship Safe 接入 Claude Code 与 Codex:8 个 Skills 和 Hooks 实时拦截秘密泄露

【免费下载链接】ship-safe

The independent security agent for AI-written software. Finds issues, investigates whether they are real, and shows you the evidence. Deterministic core, no API key needed, JSON and SARIF output.

项目地址:https://gitcode.com/gh_mirrors/sh/ship-safe
点击查看免费下载

如果你正用 Claude Code 或 Codex 写代码,很可能遇到过这种情况:AI 把 API Key 直接写进源码,或者随手执行一条curl | bash命令而没人拦它。Ship Safe就是为 AI 生成的代码而生的独立安全代理——它通过 8 个安全 Skills 和实时 Hooks,在秘密落盘之前拦截泄露,无需 API Key、核心检测全部本地运行,并支持 JSON 和 SARIF 输出。本文带你用最少步骤,把 Claude Code 和 Codex 都接入这套"安全护栏"。

为什么 AI 写码需要一道"安全闸门"

AI 编码助手效率很高,但有两个常见隐患:

  • 秘密写进文件:AI 经常把密钥、令牌、数据库连接串硬编码到代码里,一旦提交就泄露;
  • 危险命令无人复核:curl | bash、凭据外传这类 Bash 调用,AI 可能直接执行。

Ship Safe 的思路是"先发现、再求证、给证据":确定性引擎负责发现问题,调查层会追踪污点数据的传播路径,确认是真问题还是误报,每条结论都附带代码行号证据。

Claude Code 插件:一个审计入口 + 8 个安全 Skills

在 Claude Code 中安装 Ship Safe 插件后,你会得到一个完整的审计入口和 8 个各司其职的安全 Skills,全部通过npx调用最新版,零配置,安装位置见 claude-code-plugin/:

Skill作用说明文件
/ship-safe-scan快速扫描泄露的秘密(API Key、密码、令牌)SKILL.md
/ship-safe-score输出 0-100 安全健康分(A-F 评级)SKILL.md
/ship-safe-hooks一键安装实时 Hooks,拦截秘密与危险命令SKILL.md
/ship-safe-fix自动修复硬编码秘密、TLS 绕过、XSS 等常见问题SKILL.md
/ship-safe-red-team多智能体红队扫描,覆盖 80+ 攻击类别SKILL.md
/ship-safe-deepLLM 驱动的深度污点分析,降低误报SKILL.md
/ship-safe-baseline建立安全基线,后续只报新增回归问题SKILL.md
/ship-safe-ciCI/CD 安全门禁,支持 SARIF 输出SKILL.md

加上总入口/ship-safe(22 个 Agent、80+ 攻击类别的完整审计),日常使用只需记住三步:

  1. 平时让 Hooks 在后台盯着每一次写入;
  2. 改完代码用/ship-safe-score看一眼分数;
  3. 准备发版前用/ship-safe跑一次完整审计,让 Claude Code 直接用白话解释发现并给出修复建议。

扫描范围覆盖秘密、注入、认证绕过、SSRF、供应链、Supabase RLS、MCP 安全、提示词注入、PII 合规等 15 大类,详见 claude-code-plugin/README.md。

Ship Safe 终端安全扫描输出演示

Hooks 实时拦截:秘密落盘前就拦下

这是整个方案的核心。安装命令只有一条(安装逻辑见 cli/commands/hooks.js):

npx ship-safe@latest hooks install

安装器会把钩子脚本复制到~/.ship-safe/hooks/稳定目录,并注册到~/.claude/settings.json,立即生效、无需重启。两个钩子分工明确:

  • PreToolUse(执行前拦截):每次Write/Edit/Bash调用前先过一遍检查。写入内容里发现关键秘密(API Key、令牌、私钥)直接阻断,理由会回显给 Claude 和你;curl | bash、凭据外传等危险 Bash 模式同样被拦截。核心逻辑在 cli/hooks/pre-tool-use.js。
  • PostToolUse(写入后复核):扫描刚写下的文件,把咨询性发现注入对话上下文,提醒但不阻断。

几个贴心的细节:

  • .env文件被识别为"秘密该放的地方",不会误伤;但如果.gitignore没覆盖它,会给你一条警告;
  • .env.example这类纯示例文件直接放行;
  • 状态行显示Protected by Ship Safe只在两个强制钩子和脚本都就绪时才亮起,否则显示Ship Safe inactive——它不是装饰性徽章(实现见 cli/hooks/status-line.js)。

装完可以用npx ship-safe@latest hooks status验证,不需要时用hooks remove干净卸载,且只移除 Ship Safe 自己的注册项,不影响其他 Claude Code 配置。完整说明见 docs/integrations/claude-code.md。

Codex 接入:3 行配置开通 MCP 安全工具

Codex 通过 MCP(Model Context Protocol)客户端配置接入 Ship Safe。在 Codex 的config.toml中加入:

[mcp_servers.ship_safe] command = "npx" args = ["ship-safe", "mcp"]

重启会话后,Codex 就能在对话中直接调用这些安全工具:scan_repo(多智能体全仓扫描)、scan_secrets(凭据与 API Key 检测)、analyze_file(单文件审查)、get_findings(读取已保存报告)、get_checklist(发布就绪检查)以及ship_safe_status(确认连接可用)。

推荐的 Codex 工作流:改代码前先让它扫一遍仓库 → 实现后复查修改过的文件 → 提交或发版前跑最终扫描,并且把扫描范围限定在授权仓库内,不要通过工具参数传递秘密。

需要说明的边界:MCP 接入提供的是"按需可调用的安全工具",不是逐次拦截的强制层,因此 Ship Safe 不会仅凭 MCP 配置就显示保护徽章(见 docs/integrations/codex.md)。想要 Claude Code 那种实时拦截,就用上一节的 Hooks。

组合拳:你的完整防护流程

把两种接入方式叠起来,就是一条从开发到发布的完整防线:

  1. 写代码时:Claude Code Hooks 实时拦截秘密与危险命令(PreToolUse + PostToolUse);
  2. 写代码时(Codex 用户):MCP 工具随时按需扫描当前改动;
  3. 提 PR 前:/ship-safe-score快速看分,/ship-safe-fix自动修复;
  4. CI 阶段:/ship-safe-ci生成 SARIF 接入代码扫描,分数低于阈值直接阻断流水线;
  5. 存量项目:/ship-safe-baseline接受现状为基线,之后只关注新回归。

常见问题

  • 需要 API Key 吗?不需要。核心扫描完全本地、确定性执行;LLM 深度分析功能在你配置了相应 Provider 时才启用,可加--no-ai强制纯本地。
  • 有环境要求吗?需要 Node.js 18+ 以及 Claude Code CLI。
  • 状态行不亮怎么办?运行hooks status查看哪个环节缺失,通常是钩子脚本未安装完整,重装即可。
  • Codex 里能显示"Protected by Ship Safe"吗?不能,也不应该——MCP 连接只代表工具可用,实时保护徽章仅对应经过验证的 Hooks 生命周期。

更多集成细节可参考 docs/integrations/,Hooks 拦截模式定义见 cli/hooks/patterns.js。

【免费下载链接】ship-safe

The independent security agent for AI-written software. Finds issues, investigates whether they are real, and shows you the evidence. Deterministic core, no API key needed, JSON and SARIF output.

项目地址:https://gitcode.com/gh_mirrors/sh/ship-safe
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考