核心用法
secrets-scan 是一款专注于检测硬编码敏感信息的安全扫描技能,支持两种运行模式:CLI 管道模式(expanso-edge run pipeline-cli.yaml)和 MCP 服务器模式(expanso-edge run pipeline-mcp.yaml)。用户通过标准输入或 HTTP 请求提交待扫描的文本/代码,技能将调用 OpenAI API 或本地正则引擎进行分析,返回检测到的敏感信息类型、位置及掩码后的值。
显著优点
1. 双重检测引擎:默认集成 OpenAI 智能分析,同时提供纯本地 regex 后端,兼顾精度与隐私需求
2. 零代码执行风险:采用 Expanso Edge 声明式管道配置,无传统脚本代码,彻底杜绝 eval/exec 等危险操作
3. 灵活的部署方式:支持本地 CLI 使用、MCP 服务器集成,以及一键部署到 Expanso Cloud
4. 完善的隐私保护:检测结果自动掩码敏感值(仅显示首尾各4字符),API Key 通过环境变量配置而非硬编码
5. 企业级错误处理:输入验证、JSON 解析错误捕获、边界检查(1MB 缓冲区限制)一应俱全
潜在缺点与局限性
- 网络依赖:AI 增强模式需连接 OpenAI API,离线环境只能使用精度较低的 regex 模式
- 数据外传风险:扫描内容需发送至 OpenAI 服务器,对合规要求严格的场景不适用
- 容量限制:单条输入限制 1MB,超大文件需手动分块处理
- 配置门槛:需自行申请并配置 OPENAI_API_KEY,对新手不够友好
适合的目标群体
- 开发团队:集成到 Git pre-commit hooks 或 CI/CD 流水线,防止密钥泄露
- 安全工程师:作为代码审计的自动化辅助工具
- DevOps 团队:部署到 Expanso Cloud 实现集中化安全扫描服务
- 开源维护者:在 PR 审查前自动检测贡献者是否误提交敏感信息
使用风险
1. API 成本:频繁调用 OpenAI API 可能产生费用,建议对大规模扫描启用本地模式
2. 误报/漏报:regex 模式对复杂密钥格式识别能力有限,AI 模式虽更智能但非 100% 准确
3. 传输安全:尽管使用 HTTPS,敏感代码外传仍存在理论上的中间人攻击风险
4. 依赖可用性:Expanso Edge 和 OpenAI API 的服务稳定性直接影响技能可用性