🔐 AI CLI 安全使用指南

保护您的数据安全,遵循最佳安全实践

🚨 关键安全风险

🔴 严重风险:敏感信息泄露

风险描述:将敏感信息发送给 AI 服务,可能导致数据泄露。

包括但不限于:

  • API 密钥、访问令牌、密码
  • 数据库连接字符串
  • 私钥、证书
  • 用户个人信息(PII)
  • 商业机密、专有算法
# ❌ 危险示例 - 永远不要这样做 claude "审查这个配置文件: const config = { apiKey: 'sk-1234567890abcdef', dbPassword: 'MySecretPassword123', jwtSecret: 'super-secret-key' }" # ✅ 安全做法 cat config.js | \ sed 's/apiKey:.*/apiKey: "REDACTED"/' | \ sed 's/password:.*/password: "REDACTED"/' | \ claude "审查这个配置文件的结构"

⚠️ 高风险:代码注入

风险描述:AI 生成的代码可能包含安全漏洞。

常见问题:

  • SQL 注入漏洞
  • 跨站脚本攻击(XSS)
  • 命令注入
  • 路径遍历
  • 不安全的反序列化
# 要求 AI 生成安全代码 claude "创建用户登录 API,要求: 1. 使用参数化查询防止 SQL 注入 2. 对输入进行严格验证 3. 使用 bcrypt 加密密码 4. 实现速率限制 5. 添加 CSRF 保护"

⚠️ 中风险:依赖安全

风险描述:AI 可能推荐过时或存在漏洞的依赖包。

防护措施:

  • 使用 npm auditpip-audit 检查漏洞
  • 定期更新依赖包
  • 审查 AI 推荐的第三方库
  • 使用 Dependabot 自动化安全更新

✅ 安全最佳实践

✅ 数据保护策略

1. 使用环境变量

# .env 文件 API_KEY=your-secret-key DB_PASSWORD=your-password # 在代码中使用 const apiKey = process.env.API_KEY

2. 创建 .aiignore

# .aiignore .env .env.* config/*.prod.js secrets/ *.key *.pem credentials.json node_modules/

3. 数据脱敏

# 脱敏脚本 #!/bin/bash cat $1 | \ sed 's/[0-9]\{16\}/XXXX-XXXX-XXXX-XXXX/g' | \ sed 's/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]\{2,\}/user@example.com/g'

4. 最小权限原则

只授予 AI 工具必要的文件访问权限,使用专门的工作目录。

✅ 代码审查流程

  1. 自动化检查:使用 linter 和安全扫描工具
  2. AI 辅助审查:让 AI 检查安全问题
  3. 人工审查:关键代码必须人工复审
  4. 测试验证:运行安全测试用例
  5. 记录决策:文档化安全相关的决策
# 安全审查流程 # 1. Linter 检查 eslint --fix src/ # 2. 安全扫描 npm audit snyk test # 3. AI 辅助审查 git diff | claude "检查以下安全问题: - SQL 注入 - XSS 漏洞 - 敏感信息泄露 - 不安全的依赖" > security-review.md # 4. 人工审查 code security-review.md

📋 安全检查清单

使用 AI CLI 前的检查

接收 AI 响应后的检查

🛠️ 安全工具推荐

静态分析工具

  • ESLint: JavaScript 代码检查
  • Bandit: Python 安全扫描
  • SonarQube: 多语言代码质量
  • Semgrep: 安全模式匹配

依赖扫描工具

  • npm audit: Node.js 依赖检查
  • Snyk: 漏洞扫描和修复
  • Dependabot: 自动化更新
  • OWASP Dependency-Check: 多语言支持

密钥管理工具

  • git-secrets: 防止密钥提交
  • truffleHog: 扫描历史提交
  • HashiCorp Vault: 密钥存储
  • AWS Secrets Manager: 云端密钥管理

安全测试工具

  • OWASP ZAP: Web 应用安全测试
  • Burp Suite: 渗透测试
  • SQLMap: SQL 注入测试
  • Nikto: Web 服务器扫描

📚 安全资源

推荐阅读

培训课程

  • OWASP WebGoat - 实践安全编程
  • Hack The Box - 渗透测试练习
  • Security+ 认证 - 信息安全基础
  • CISSP 认证 - 高级安全专业认证

🚨 紧急响应

如果您怀疑敏感信息已泄露:

  1. 立即行动:撤销所有可能泄露的密钥和令牌
  2. 评估影响:确定哪些系统和数据可能受影响
  3. 更改密码:更新所有相关账户的密码
  4. 通知团队:告知相关人员安全事件
  5. 审查日志:检查是否有未授权访问
  6. 文档记录:记录事件详情和应对措施
  7. 改进流程:更新安全规范防止再次发生

💡 记住:安全是持续的过程