Neatbo.

GitHub Actions 权限与任务依赖审查

审查单份本地 workflow 声明的令牌权限、实际 needs 边、环与动作引用,导出完整 JSON 和 CSV。

浏览器本地处理输入单份本地 UTF8 YAML1.2 工作流输出完整权限与依赖 JSON、CSV单个文件最多 5 MiB · 最多 1 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行

或将文件拖到这里

文件留在当前设备,原始文件不会被覆盖。

.yml · .yaml

单个文件最多 5 MiB · 最多 1 个

    处理选项

    先填写标记为必填的选项,其余可保留默认值。

    仅为用户明确提供的上下文,不查询仓库、不做实时验证。

    只在选择 JSON 映射时解析;4KiB 文本预算始终生效。映射省略项为 none。

    正在准备处理工具…

    开始之前

    选择一份 UTF8 YAML1.2 工作流快照。根据 workflow 声明或明确提供但未经验证的仓库默认值,解析 job 的权限映射。缺省值保持未知,全局模式保留原声明;只审查依赖和 uses,不运行表达式、不联系 GitHub。

    如何使用

    1. 从自己的仓库复制并选择一份 workflow YAML。
    2. 默认保留未知;只有明确掌握仓库设置时才提供上下文,选择 JSON 映射后才解析文本框。
    3. 检查权限来源、省略项 none、缺失或未解析的依赖,以及精确环成员。
    4. 下载完整 JSON/CSV 与每个 job 的原声明;仓库设置和实际运行权限需另行核验。

    支持范围与限制

    单文件最多 5MiB;解析后 YAML 值节点 100,000 个、深度 64、job 1,000 个、needs 声明和 uses 各 10,000 个。默认权限 JSON 最多 4KiB;完整 JSON/CSV 合计 10MiB。各项限制同时生效。只预览前 200 个 job,每格最多 2,000 个 UTF16 字符;下载保留全部记录。

    只支持单份 YAML1.2 core 文档、唯一字符串映射键、普通映射/数组/标量和无环别名。yaml2.9.1 的加权别名展开保护值为 50,不承诺支持 50 次字面引用。自定义/Set/二进制/日期标签、YAML1.1、环、重复键、非有限数、不安全整数和未知权限键会让整份审查失败。

    权限键固定于 2026-10-07 配置。job 映射替换 workflow 映射;省略的权限为 none,{} 表示全部 none。缺少默认值仍未知,用户提供的默认值仍未验证。read-all/write-all 保留字面模式,不虚构逐项实际权限。

    只读单份已提供快照,不是完整 workflow 模式验证、安全结论或实时令牌测试。fork、Dependabot、可复用工作流和仓库限制仍未知。矩阵、条件、needs 表达式与 job/step uses 只保留原文;不抓取动作、不改仓库、不请求网络、不运行脚本。取消后丢弃全部结果。

    操作示例

    示例输入

    六个 job:build/deploy/empty、cycleA/cycleB 和 after。workflow 声明 contents: read/issues: write;deploy 声明 id-token: write;after 引用缺失 job 和表达式。
    示例参数
    {"repositoryDefault":"unknown","defaultPermissions":"{}"}

    示例输出

    完整六条记录、七条 needs 声明、五条已有边、一个两成员环、一条缺失目标和一条未解析依赖;deploy 的 contents 为 none,下游 after 不属于环。

    出现问题时

    修正重复键、不支持的类型/权限或超限项,保留原文件并重跑。不同工作流分别审查,只填写已知上下文。非法输入或取消不会生成部分成功文件;再次运行同一支持文件会重建完整报告。

    常见问题

    job 权限会与 workflow 权限合并吗?

    这里 job 映射会替换 workflow 策略。workflow 为 contents: read、job 为 id-token: write 时,该 job 的 contents 为 none。明确的空 job 映射让所有支持的权限为 none。

    未知默认值或全局模式能证明实际权限吗?

    不能。未知仍未知,用户上下文未经验证,read-all/write-all 保留字面声明。单份本地文件无法推断实际令牌限制或引用工作流的权限。

    文档与延伸阅读

    相关工具