TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 779 subscribers
Post #1497 5
免费GitHub Action填补付费代码扫描空白

2026年7月14日,GitHub在PR上推出AI安全检测,但明确仅限GitHub Code Security(即GitHub Advanced Security)付费客户。新支持的生态系统包括Shell/Bash、Dockerfiles、Terraform、PHP——恰恰是CodeQL免费版不分析的类型。对于大量使用部署脚本、Dockerfile和Terraform的基础设施仓库,免费扫描等于零覆盖。

开发者Booyaka101推出了免费Action「ghas-free-pack」,利用成熟的开源扫描工具填补这一空缺,并将结果统一成SARIF格式,直接上传到Code Scanning并生成PR评论。

工具工作原理
在workflow中引用:Booyaka101/ghas-free-pack@v1,并授予security-events: write和pull-requests: write权限。它会自动对.sh/.bash运行ShellCheck,对Dockerfile*运行Hadolint,对.tf运行tfsec,对.php运行PHPStan(需手动启用)。所有发现被合并为一个SARIF 2.1.0文档,上传后与CodeQL的显示效果完全一致,同样出现在Security标签页中。

实际捕获示例(来自测试夹具)
- SC2163:export $INPUT导出的是变量名而非值,典型的shell静默bug
- DL3002:最后的USER是root,容器以特权运行
- aws-ec2-no-public-ingress-sgr:CRITICAL级别安全组允许0.0.0.0/0入站
- PHPStan level 5:参数类型错误和未定义变量

使用限制
这是确定性基于规则的扫描器,不复制GitHub的LLM分析。PHPStan需手动启用(enable-phpstan: true),避免默认噪音。由于是Docker action,仅支持Linux runner,首次运行需拉取镜像。SARIF上传需要security-events: write,PR评论需要pull-requests: write,缺失时仍会写job summary但无法发布。

验证可靠性
仓库附带本地测试脚本test/run-local.ps1,构建镜像后对测试夹具运行,断言17项验收标准,包括合并后SARIF通过ajv验证(需使用json.schemastore.org提供的schema)、PR评论包含预期规则、重复运行会PATCH已有评论而非重复发布。MIT许可,可放心使用。


免费工具为那些被挡在付费墙之外的基础设施仓库提供了社区驱动的安全扫描替代方案。

GitHub

#开发者 #工具 #GitHub #CodeScanning #GHAS #ShellCheck #Hadolint #tfsec #PHPStan #SARIF #DevOps
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 27, 2026用一个下午审计公司里的重复性工作 多数公司不需要耗时半年的转型项目,才能发现时间到底流失在哪里。花几个小时追踪三个真实工作流,就能看出很多问题。关键不是问团队哪里效率低,也不是凭记…
  2. Sep 27, 2026竞品关键词调研的自动化流程 从竞品差距分析导出两万个关键词,约一半只是同一词换了词序。真正的瓶颈在导出之后那一小时:一个好问题变成一堵近似重复词组成的墙,外加三种不同口径的搜索量。…
  3. Sep 26, 2026PostgreSQL 复制槽上限参数 max_replication_slots 解析 max_replication_slots 决定共享内存中复制槽数组的长度,仅此而已。它不决…
  4. Sep 26, 2026五仓库架构踩坑:Gitlink 与双 CI Flude 团队复盘了多仓库架构的实践代价。项目从第一分钟起就选择拆分成独立仓库,Pipeline、engine、design-docs…
  5. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  6. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →