Env Guard

🔑 本地密钥泄露扫描,提交前自动拦截

本地代码仓库密钥扫描工具,基于正则表达式检测API密钥、密码、令牌等敏感信息泄露,支持自定义规则和CI集成。

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

使用说明

EnvGuard Secret & Credential Scanner 综合评估

核心用法

EnvGuard 是一款面向开发者的本地密钥泄露扫描工具,通过命令行接口对代码仓库和工作区进行静态分析,识别潜在的敏感信息泄露风险。用户执行 node src/env-guard.js scan ./my-project 即可启动扫描,工具会递归遍历目标目录,基于预定义的正则表达式模式匹配各类密钥凭证。

该工具支持以下凭证类型的检测:OpenAI API密钥(sk-...)、AWS访问密钥(AKIA...)、GitHub个人令牌(ghp_...)、通用密码字段(password=passwd:)、Bearer令牌、RSA私钥文件、数据库连接字符串(MongoDB、PostgreSQL)以及Discord/Slack Webhook URL。用户可通过自定义正则扩展检测能力,并通过allowlist机制标记已知误报以减少干扰。

显著优点

本地化隐私处理:所有扫描操作在本地执行,敏感代码无需上传至第三方服务,避免"为了安全反而制造新的泄露风险"的尴尬局面。这对于处理核心商业代码或受合规约束的组织尤为重要。

CI/CD友好设计:工具返回标准退出码(发现问题时exit 1),可直接嵌入Git pre-commit钩子或CI流水线,实现"提交前拦截"的左移安全策略。相比商业SaaS方案,部署成本极低。

轻量化与可扩展:单文件Node.js实现,无复杂依赖;自定义正则模式机制允许团队快速适配内部密钥格式,无需等待上游更新。

潜在局限与风险

检测深度有限:基于正则的静态扫描无法追踪变量传播和动态拼接,对于const key = 'sk-' + 'rest_of_key'或加密存储后运行时解密的场景完全失效。现代Secret Scanning工具(如GitHub Advanced Security、TruffleHog)已普遍采用熵分析、机器学习及提交历史追溯,EnvGuard在此方面存在代差。

误报与漏报权衡:严格的正则模式可能产生大量误报(如测试用的占位符sk-test123),而宽松模式则导致漏报。维护高质量的allowlist需要持续人力投入。

无秘密轮换协助:工具仅负责"发现",不提供密钥吊销、轮换提醒或泄露后应急响应指导。发现生产密钥已提交Git历史后,用户仍需自行处理复杂的安全事件响应流程。

作者可信度存疑:开发者@TheShadowRose以匿名身份运营,主要通过Ko-fi、Gumroad、Fiverr等渠道变现,缺乏企业级软件的安全开发流程背书(如SDL、第三方审计、漏洞响应SLA)。虽然工具声称"本地处理",但用户仍需审计代码后方可用于敏感环境。

适合人群

  • 个人开发者或小团队寻求零成本密钥泄露基线防护
  • 需要快速为遗留项目补全Secret Scanning能力的技术负责人
  • 已有商业方案但需要本地预筛选层减少噪声的安全团队
  • 开源项目维护者验证贡献代码是否意外包含凭证

常规风险

  • 供应链风险:通过npm或源码引入时,需验证依赖完整性(建议锁定版本并审计代码)
  • 配置风险:自定义正则不当可能导致扫描遗漏关键模式
  • 流程风险:过度依赖工具结果而忽视代码审查和安全培训,形成"工具依赖幻觉"

Env Guard 内容

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