无需登录 数据私有 本地保存

API 密钥泄露检测器 - 扫描代码中的硬编码密钥

39
0
0
0
🔍

API 密钥泄露检测器

支持 20+ 种密钥格式

粘贴代码或上传文件,自动扫描硬编码的 API 密钥、Token、私钥等敏感信息,保护您的代码安全。

支持 26 种密钥格式检测 · 自动识别风险等级
扫描行数: 0 高危: 0 中危: 0 低危: 0 未发现密钥

输入代码后自动扫描

检测结果将显示在此处
代码高亮视图
(检测到的密钥已标记)
扫描代码后将在此显示带高亮的代码视图
常见问题与知识

API 密钥泄露是指开发者不小心将 API 密钥、访问令牌、私钥等敏感凭证硬编码在源代码中,并可能被提交到版本控制系统(如 Git)或公开分享。

危险在于:攻击者可以扫描公开仓库获取这些密钥,进而访问云服务、数据库、支付系统等,造成数据泄露、资金损失或服务滥用。GitHub 每年检测到数百万个泄露的密钥。

  • AWS Access Key:AKIA + 16位大写字母数字
  • GitHub Token (旧):ghp_ + 36位字母数字
  • GitHub Fine-grained:github_pat_ + 字母数字
  • Google API Key:AIza + 35位字符
  • Stripe Secret Key:sk_live_sk_test_ + 24位
  • OpenAI API Key:sk- 开头
  • Slack Token:xoxb- / xoxp- 开头
  • JWT Token:eyJ 开头,三段式结构
  • SSH 私钥:-----BEGIN ... PRIVATE KEY-----

  1. 立即吊销:在对应的服务平台(AWS/GitHub/Stripe等)立即撤销泄露的密钥。
  2. 生成新密钥:创建新的密钥替换旧密钥。
  3. 移除硬编码:将密钥替换为环境变量或密钥管理服务(如 AWS Secrets Manager、Vault)。
  4. 检查日志:审计该密钥的使用记录,确认是否有未授权访问。
  5. 清理 Git 历史:如果已提交到 Git,使用 git filter-branch 或 BFG Repo-Cleaner 彻底清除历史记录。

推荐做法:

  • 使用环境变量(如 process.env.API_KEY),通过 .env 文件加载(确保 .env.gitignore 中)。
  • 使用云平台密钥管理服务:AWS Secrets Manager、Azure Key Vault、Google Secret Manager。
  • 在 CI/CD 中使用加密的密钥变量
  • 本地开发使用密钥扫描工具(如 git-secrets、truffleHog)作为 pre-commit hook。
  • 永远不要在代码注释中写密钥。

支持纯文本代码文件:JavaScript、TypeScript、Python、Java、Go、Ruby、PHP、C/C++、Rust、Swift、Kotlin、Dart,以及配置文件 .env.json.yaml.xml.toml.ini 等。只需将代码粘贴到编辑器中或上传文件即可扫描。

  • 高危:生产环境密钥、SSH 私钥、Stripe 生产密钥、AWS Secret Key 等,泄露后可直接造成严重损失。
  • 中危:API Token、JWT、通用访问令牌等,可被用于未授权访问。
  • 低危:测试密钥、疑似密钥的模式匹配,需要人工确认。

推荐使用 pre-commit hook 配合密钥扫描工具:

  • git-secrets:AWS 官方工具,可拦截常见密钥格式。
  • truffleHog:扫描 Git 历史中的高熵字符串。
  • detect-secrets:Yelp 开源的密钥检测工具。
  • Gitleaks:快速、可定制的密钥扫描器,适合 CI/CD 集成。
  • .gitignore 中添加 .envcredentials.* 等敏感文件。