随着AI编程助手如Claude Code、GitHub Copilot的普及,如何确保AI生成的代码安全性成为一个重要课题。Ship Safe是一个专为AI编程代理设计的开源安全扫描器,可以在代码合并前自动检测潜在的安全风险。
Ship Safe是什么
Ship Safe是一个面向AI编程代理的安全扫描工具,主要特点包括:
- 实时扫描:在AI生成代码时实时检测安全问题
- 多维度检测:覆盖漏洞、敏感信息、不安全依赖等多个维度
- 集成友好:支持Claude Code、GitHub Copilot等主流AI编程助手
- 自定义规则:支持根据项目需求自定义安全规则
安装Ship Safe
环境要求
- Node.js 18+
- Git 2.30+
- 支持的AI编程助手(Claude Code、Copilot等)
安装步骤
1. 通过npm安装
npm install -g @shipsafe/cli
2. 验证安装
shipsafe --version
3. 初始化配置
shipsafe init
配置AI编程助手集成
Claude Code集成
在项目根目录创建.claude/settings.json:
{
"hooks": {
"pre_commit": "shipsafe scan",
"post_generation": "shipsafe validate"
}
}
GitHub Copilot集成
在VS Code设置中添加:
{
"github.copilot.advanced": {
"securityScanner": "shipsafe"
}
}
基本使用
1. 扫描单个文件
shipsafe scan src/auth.js
2. 扫描整个项目
shipsafe scan .
3. 扫描Git更改
shipsafe scan --diff
只扫描未提交的Git更改,适合在提交前快速检查。
4. 生成报告
shipsafe scan --format html --output report.html
检测类型说明
Ship Safe可以检测以下类型的安全问题:
| 检测类型 | 说明 | 严重性 |
|---|---|---|
| SQL注入 | 检测不安全的SQL拼接 | 高 |
| XSS漏洞 | 跨站脚本攻击风险 | 高 |
| 敏感信息泄露 | API密钥、密码等硬编码 | 高 |
| 不安全依赖 | 存在已知漏洞的第三方库 | 中 |
| 安全配置 | 不安全的默认配置 | 中 |
| 代码注释 | 泄露敏感信息的注释 | 低 |
CI/CD集成
GitHub Actions集成
创建.github/workflows/security.yml:
name: Security Scan
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Ship Safe
run: npm install -g @shipsafe/cli
- name: Run Security Scan
run: shipsafe scan --fail-on high
GitLab CI集成
security_scan:
stage: test
image: node:20
script:
- npm install -g @shipsafe/cli
- shipsafe scan --fail-on high
only:
- merge_requests
- main
自定义规则
创建shipsafe.config.js配置文件:
module.exports = {
rules: {
'no-hardcoded-secrets': 'error',
'no-sql-injection': 'error',
'no-xss': 'warn',
'dependency-check': 'warn'
},
ignore: [
'**/node_modules/**',
'**/dist/**',
'**/*.test.js'
],
customRules: [
{
name: 'no-internal-api',
pattern: /internal\.company\.com/,
message: '避免在代码中硬编码内部API地址',
severity: 'warn'
}
]
};
实际应用场景
场景一:提交前检查
在每次代码提交前自动运行Ship Safe,确保不会将安全问题带入主分支。
场景二:AI代码审查
当使用AI编程助手生成大块代码时,用Ship Safe进行自动检查,补充人工审查的不足。
场景三:渗透测试辅助
将Ship Safe集成到渗透测试流程中,作为初步筛查工具。
常见问题
Q: Ship Safe会暴露我的代码吗?
A: 不会。Ship Safe在本地运行,不会将代码上传到任何外部服务器。
Q: 误报率高怎么办?
A: 可以通过配置文件调整规则严格级别,或添加忽略模式。
Q: 支持哪些编程语言?
A: 目前主要支持JavaScript/TypeScript、Python、Java、Go等主流语言。
总结
在AI编程助手日益普及的今天,代码安全性问题变得更加突出。Ship Safe作为一个专为AI编程场景设计的安全扫描工具,可以帮助团队在享受AI提效的同时,不忘安全防范。
本文参考来源:Show HN – Ship Safe, an open source security scanner for coding agents

















暂无评论内容