Env Guard

🔐 代码密钥泄露扫描与Git拦截

本地敏感信息扫描工具,支持API密钥、密码、Token等泄露检测,提供Git预提交拦截与CI集成能力。

收藏
5.3k
安装
1.2k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

EnvGuard Secret & Credential Scanner 是一款面向开发者的本地敏感信息泄露检测工具,通过模式匹配技术扫描代码仓库中的各类凭证。

主要功能:

  • 快速扫描node env-guard.js scan ./my-project 扫描指定目录
  • 预提交钩子install-hook 命令自动拦截含敏感信息的提交
  • 全历史扫描:可遍历整个Git历史记录
  • 自定义规则:支持添加企业特定的密钥模式
  • CI/CD集成:返回exit code 1用于流水线门禁

检测范围:

| 类型 | 示例模式 |
|------|---------|
| API密钥 | `sk-...`, `AKIA...`(AWS), `ghp_...`(GitHub) |
| 密码字段 | `password=`, `passwd:` |
| 访问令牌 | `token=`, `bearer ...` |
| 私钥文件 | `-----BEGIN RSA PRIVATE KEY-----` |
| 连接字符串 | `mongodb://`, `postgres://` |
| Webhook URL | Discord/Slack webhook |

显著优点

1. 部署轻量:纯Node.js实现,无需复杂基础设施
2. 开发流程嵌入:预提交钩子实现左移安全(Shift Left Security)

3. 可扩展性:自定义正则模式适应企业私有密钥格式

4. 误报管理:允许列表机制减少重复告警

5. 开源协议:MIT许可证允许自由修改和商用

潜在局限

  • 模式依赖:基于正则匹配,无法检测编码/混淆后的密钥,可能漏过高级威胁
  • 无加密验证:仅检测字符串格式,不验证密钥是否真实有效
  • 本地执行:扫描结果留存于本地,缺乏企业级审计日志
  • 无实时更新:内置模式库需手动更新以覆盖新型云服务凭证格式
  • 作者可信度:由个人开发者(@TheShadowRose)维护,无企业背书

适合人群

  • 独立开发者、小型团队需要快速增强代码安全基线
  • 开源项目维护者防范意外凭证提交
  • 需要预提交检查但无法部署商业SAST/DAST工具的环境

常规风险

| 风险类别 | 说明 |
|---------|------|
| 扫描结果误报 | 正则匹配可能将合法字符串标记为敏感信息,影响开发效率 |
| 密钥残留本地 | 扫描报告可能无意中将检测到的密钥明文写入日志文件 |
| 钩子绕过风险 | 开发者可通过`--no-verify`强制提交,安全依赖自愿遵守 |
| 供应链信任 | NPM生态的依赖污染风险,需审计`env-guard.js`及其依赖 |
| 数据隐私 | 扫描过程读取全仓库文件,需确认无敏感业务数据被工具处理 |

使用建议

建议作为多层安全策略的第一层防线,与GitHub Secret Scanning、AWS Secrets Manager等云服务形成纵深防御,而非唯一依赖。

Env Guard 内容

src文件夹
手动下载zip · 6.7 kB
env-guard.jstext/javascript
请选择文件