Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
gato — GitHub Actions 流水线枚举与攻击工具 | Kitploit
工具/GitHubGitHub/praetorian-inc/gato
侦察漏洞扫描器漏洞利用信息收集后渗透利用渗透测试DevSecOps秘密检测供应链安全红队Archived
GitHubpraetorian-inc/gato

gato

913个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GitHub Actions 流水线枚举与攻击工具

查看仓库

[!WARNING]

此仓库已弃用并归档

Gato 已被 Trajan 取代,后者是 Praetorian 的多平台 CI/CD 漏洞检测与攻击自动化工具。Trajan 将 GitHub Actions(Gato)和 GitLab(Glato)的 CI/CD 攻击能力整合到一个持续维护的项目中。

请迁移至 Trajan: https://github.com/praetorian-inc/trajan

此仓库将不再进行任何更新、错误修复或安全补丁。


支持的 Python 版本

Gato(GitHub 攻击工具包)

gato

Gato,即 GitHub 攻击工具包,是一款枚举与攻击工具,使蓝队成员和攻击性安全从业者能够识别并利用 GitHub 组织内公共及私有仓库中的管道漏洞。

该工具具备后利用功能,可利用被攻陷的个人访问令牌,此外还提供枚举功能,用于识别中毒管道执行漏洞和针对公共仓库的 Actions 工件密钥。

GitHub 建议自托管运行器仅用于私有仓库,然而仍有成千上万个组织在使用自托管运行器。默认配置往往存在漏洞,Gato 通过结合工作流文件分析和运行日志分析,能够大规模识别潜在易受攻击的仓库。

版本 1.7

Gato 1.7 版本引入了 Actions 工件密钥扫描器。

Actions 工件密钥扫描器枚举 GitHub Actions 工作流工件 以查找密钥。Praetorian 的研究人员已利用该扫描器在多个知名开源项目中发现了严重漏洞。这些漏洞的详细信息将在披露流程完成后发布。此项工作最初受 Palo Alto Networks 研究的启发。

Actions 工件密钥扫描器执行以下操作:

  1. 从目标仓库下载 GitHub Actions 工作流工件
  2. 递归提取下载的工件
  3. 使用 NoseyParker 扫描工件中的密钥
  4. 报告结果

NoseyParker 必须安装在运行 Actions 工件密钥扫描器的系统的 $PATH 中。

公共工作流工件中的密钥可能包含大量误报。默认情况下,Actions 工件密钥扫描器会排除与常见误报关联的规则和结果。若需包含所有密钥扫描结果,可以使用 --include_all_artifact_secrets 标志。

以下是一个示例命令,对一组 GitHub 组织运行 Actions 工件密钥扫描器,禁用自托管运行器枚举,包含所有工件密钥结果,并输出为 JSON 文件。

root@kitploit:~
gato e --enum_wf_artifacts --include_all_artifact_secrets --skip_sh_runner_enum -O testorgs.txt  -oJ testorgoutput.json

默认情况下,Actions 工件密钥扫描器为减少在单个仓库上的耗时,施加以下限制:

  • 每个名称仅下载一个工件
  • 每个仓库最多下载 50 个工件
  • 最多下载 10 个大于 536 MB 的文件
  • 不下载任何大于 2.68 GB 的文件

这些限制经过优化,使得 Actions 工件密钥扫描器可在 48 小时内扫描前 200 个 GitHub 组织。如需修改这些限制,可以在 gato/enumerate/repository.py 的 scan_wf_artifacts() 函数中进行更新。

新功能

  • 新增 Actions 工件密钥扫描器
  • 支持在 GitHub 组织列表上运行模块
  • 能够禁用自托管运行器枚举
  • 可选择禁用休眠
  • 输出中区分公共和私有仓库
  • 若干错误修复
  • 支持 GitHub App 安装令牌的枚举

适用对象

  • 希望了解被攻陷的经典 PAT 能为攻击者提供何种程度访问权限的安全工程师
  • 希望为自托管运行器攻击构建检测机制的蓝队
  • 红队成员
  • 希望尝试对使用自托管运行器的组织证明 RCE 的漏洞赏金猎人

功能

  • GitHub 经典 PAT 权限枚举
  • 基于 GitHub 代码搜索 API 的枚举
  • SourceGraph 搜索枚举
  • 解析 GitHub Action 运行日志以识别自托管运行器
  • 批量仓库稀疏克隆功能
  • GitHub Action 工作流解析
  • 自动化命令执行 Fork PR 创建
  • 自动化命令执行工作流创建
  • 自动化工作流密钥泄露
  • SOCKS5 代理支持
  • HTTPS 代理支持
  • GitHub Actions 工作流工件密钥扫描

快速入门

安装

Gato 支持 OS X 和 Linux,要求至少 Python 3.7。

安装该工具,只需克隆仓库并使用 pip install 即可。建议在虚拟环境中执行。

root@kitploit:~
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .

Gato 还要求系统中安装 git 2.27 及以上版本,并将其添加到 PATH。要运行 Fork PR 攻击模块,还需安装 sed 并将其添加到系统路径。

开发分支

我们维护了一个开发分支,其中包含尚未合并到主分支的新 Gato 功能。使用该分支遇到 bug 的几率会增加,但我们仍在 dev 分支上运行集成测试套件,因此不会存在 明显 的 bug。

如果你想使用 dev 分支,只需在运行 pip install 之前检出该分支即可!

如果在特定用例中遇到任何 bug,欢迎提出 issue!

使用方法

安装工具后,可以通过运行 gato 或 praetorian-gato 启动。

建议使用 gato -h 查看基础工具的参数,并使用以下命令查看各模块的参数:

  • gato search -h
  • gato enum -h
  • gato attack -h

该工具需要 GitHub 经典令牌或 App 安装令牌才能工作。要创建令牌,请登录 GitHub 并前往 GitHub Developer Settings,选择 Generate New Token,然后选择 Generate new token (classic)。

创建令牌后,在 shell 中执行 export GH_TOKEN=<YOUR_CREATED_TOKEN> 设置 GH_TOKEN 环境变量。或者将令牌存储在安全的密码管理器中,待应用提示时输入。

如果创建 GitHub App 安装令牌,该 App 至少需要 Actions: read 和 Contents: read 权限才能执行枚举模块。

有关故障排除和更多详细信息(例如开发者模式安装或运行单元测试),请参阅 wiki。

文档

请参阅 wiki 获取详细文档,以及工具各模块的 OpSec 注意事项!

错误报告

如果你认为发现了软件中的 bug,请提交一个 issue,内容包含工具的输出以及你尝试进行的操作。

如果你不确定该行为是否为 bug,请使用讨论区!

贡献

欢迎贡献!请在开发新功能前 阅读 我们的设计方法和编码规范。

此外,如果你提议对工具进行重大更改,请 创建一个 issue 来讨论更改的动机。

许可证

Gato 采用 Apache License, Version 2.0 许可。

root@kitploit:~
Copyright 2023 Praetorian Security, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
下载工具