openclaw-action

🛡️ Agent 代码安全扫描卫士

GitHub Action 安全扫描工具,检测代码中的密钥泄露、注入攻击和数据外泄风险,但实现方式存在动态代码加载的供应链安全隐患。

收藏
10.9k
安装
2.9k
版本
v1.0.0
CLS 安全性认证2026-05-13
点击查看完整报告 >

使用说明

核心用法

OpenClaw Security Action 是一款专为 Agent Skills 设计的自动化安全扫描 GitHub Action,集成于 CI/CD 流程中,在每次 Pull Request 和代码推送时触发安全检测。用户只需在 .github/workflows/security.yml 中配置工作流,即可启用三大扫描器:Sentry(密钥与凭证检测)、Bastion(提示注入与命令注入检测)、Egress(可疑网络调用与数据外泄检测)。扫描结果以 PR 注释和汇总报告形式呈现,支持配置失败阈值控制合并流程。

显著优点

该工具的最大价值在于检测即服务的设计理念——仅标记问题而不自动修复,避免自动化操作带来的误报风险。扫描覆盖 Agent Skills 三类核心安全风险:硬编码密钥、LLM 提示注入、以及数据外泄模式,契合当前 AI Agent 开发的安全痛点。配置简洁,无需外部依赖,原生支持 GitHub Actions 生态,可与现有 DevSecOps 流程无缝集成。扫描过程只读不修改,配合 300 秒超时机制,具备基本的资源控制能力。

潜在缺点与局限性

实现层面的安全悖论是该工具最突出的问题:一个用于安全扫描的 Action,其自身实现却引入了严重的供应链风险。通过 curl 动态下载三个远程 Python 脚本(sentry.py、bastion.py、egress.py)并直接执行,且始终追踪 main 分支最新版本,无任何完整性校验机制。这与 README 中 "No network calls" 的声明直接矛盾,构成误导性文档。此外,扫描规则集未开源审计,用户无法验证检测逻辑的准确性与覆盖度;动态下载机制也意味着扫描行为不可复现,同一 commit 在不同时间可能执行不同版本的检测逻辑。

适合的目标群体

  • 安全团队评估人员:需要快速了解 Agent Skills 安全扫描技术方案的参考工具
  • 教育与研究场景:用于演示 CI/CD 安全集成和供应链攻击案例
  • 隔离环境测试者:在沙箱或测试仓库中验证安全扫描效果
  • 具备供应链安全管控能力的团队:能够 Fork 并固定脚本版本的进阶用户

不适合:处理高度敏感代码的生产环境、需要严格合规审计的金融/医疗行业、以及无法容忍外部依赖变化的稳定型 CI/CD 流程。

使用风险

1. 供应链攻击面:远程脚本仓库若被入侵,所有使用该 Action 的仓库将立即执行恶意代码
2. 版本漂移风险:main 分支更新可能导致扫描规则突变,破坏构建稳定性

3. 文档信任危机:"No network calls" 的虚假声明削弱整体可信度,暗示安全意识的系统性缺失

4. 网络依赖单点:扫描完全依赖外部网络可用性,内网或受限环境无法使用

5. 误报与漏报未知:闭源规则集未经社区审计,检测有效性难以验证

安全解读

核心用法

OpenClaw Security Action 是一款专为 AI Agent 工作空间设计的 CI/CD 安全扫描工具,在每次 Pull Request 时自动执行三类检测:

  • Sentry 扫描器:识别代码中硬编码的 API 密钥、令牌、密码等敏感凭证
  • Bastion 扫描器:检测提示注入标记、Shell 注入模式等攻击向量
  • Egress 扫描器:监控可疑网络调用和数据外泄行为模式

用户只需在 .github/workflows/security.yml 中引用 AtlasPA/openclaw-action@v1,配置扫描路径和失败策略即可启用。支持 fail-on-findings 等参数灵活控制阻断行为,输出 findings-counthas-critical 供下游步骤判断。

显著优点

1. 零外部依赖:仅使用 Python 3.8+ 标准库,无第三方包依赖,从根本上消除供应链投毒风险
2. 行为透明可控:明确承诺"仅检测和告警,不自动修改代码",避免 CI 工具越权操作

3. T2 可信来源:由 GitHub 组织账号 AtlasPA 维护,具备活跃的开源社区和 MIT 许可证背书

4. 隐私合规:扫描过程完全本地化,不向外部服务器上传任何代码或数据

5. 细粒度扫描策略:支持独立开关 secrets/injection/egress 三类扫描,适配不同安全基线

潜在缺点与局限性

  • 动态代码下载风险:运行时通过 curl 从 GitHub raw 接口拉取三个扫描器脚本,存在 L1 层级动态代码加载。虽来源硬编码为官方仓库,但缺乏 SHA256 完整性校验,若仓库被入侵或 DNS 遭劫持可能引入恶意代码
  • 网络依赖限制:无法在完全隔离的离线 CI 环境中运行,需确保 GitHub raw 域名可访问
  • 无自动修复能力:仅提供检测和 PR 注释,如需自动修复需升级至商业版 OpenClaw Pro
  • 误报可能性:基于模式匹配的安全扫描可能产生误报,需要人工审查确认

适合人群

  • 维护 AI Agent 技能仓库的开发团队,需在代码入库前建立安全闸门
  • 使用 GitHub Actions 且关注供应链安全的组织
  • 需要满足 GDPR/CCPA 数据保护合规要求的项目
  • 具备基础安全审计能力、能够人工复核扫描结果的团队

常规风险

  • 中等风险:动态下载的扫描器脚本若被篡改,可能通过 subprocess.run 执行任意代码
  • 低风险:CI 环境中的网络请求虽属正常行为,但增加了外部依赖故障点
  • 缓解措施:建议在高安全级别场景下启用预打包离线模式(如未来版本支持),或在私有 fork 中固化扫描器脚本版本并增加 SHA256 校验

openclaw-action 内容

scripts文件夹
手动下载zip · 7.3 kB
scan.pytext/plain
请选择文件