GitHub Actions 工作流验证器
用 actionlint 检查 GitHub Actions 工作流,发现高风险权限和引用
工作流 YAML
0 B · 0 行 · 输入时自动验证
结果
粘贴工作流以开始验证
结果会显示在这里:actionlint 诊断、安全检查、解析后的工作流和原始 JSON。
粘贴或上传工作流即可开始。
这个验证器检查什么?
它运行编译为 WebAssembly 的开源 GitHub Actions 检查工具 actionlint 1.7.12。actionlint 会检查工作流语法、表达式类型、作业 needs、常用 Action 的输入、可复用工作流调用、cron 计划、运行器标签和 shell 名称。CodingTool 还增加了一小组安全检查:write-all 与范围过宽的写入权限、缺少顶层权限、pull_request_target 检出 PR head、可变的 Action 引用、持久化的 checkout 凭据以及被打印的密钥。
使用方法
- 1.粘贴 .github/workflows 中的工作流,上传 .yml 或 .yaml 文件,或加载示例。
- 2.输入时自动验证。首次运行会下载一次 actionlint 引擎(约 10 MB)。
- 3.查看检查结果:先是 actionlint 诊断,然后是安全检查。点击行号可跳转到编辑器中的对应行。
- 4.打开“解析后的工作流”查看触发器、作业、执行顺序、权限和 Action 引用,或打开“原始数据”查看 JSON。
- 5.将检查结果复制为 Markdown,用于 issue、拉取请求或 AI 提示词。
隐私
工作流在你的浏览器中处理。actionlint 在 Web Worker 中运行,工作流不会被上传、保存或写入 URL。只会从 CodingTool 下载 actionlint 引擎文件。
局限性
WebAssembly 版本无法运行 shellcheck 或 pyflakes,因此不包含 shell 脚本和 Python 的检查结果。通过 ./ 引用的本地 Action 和可复用工作流不会从你的仓库读取。安全检查属于启发式检查,并非完整审计:没有发现问题并不能证明工作流是安全的。actionlint 的消息按引擎原样以英文显示。
