Skip to content

Search Command

The search command allows you to find repositories with potential GitHub Actions vulnerabilities using GitHub's code search API or Sourcegraph.

Basic Usage

gato-x search [options]
# or
gato-x s [options]

Options

Option Description
--target, -t Organization to enumerate using GitHub code search
--query, -q Pass a custom query to GitHub code search
--sourcegraph, -sg Use Sourcegraph API to search for self-hosted runners
--output-text, -oT Save enumeration output to text file

Examples

Search an organization for potential vulnerabilities

gato-x search -t MyOrganization

Use a custom search query with Sourcegraph

gato-x s -sg -q 'count:75000 /(issue_comment|pull_request_target|issues:)/ file:.github/workflows/ lang:yaml' -oT results.txt

Search for specific workflow patterns

gato-x search -q 'org:MyOrganization pull_request_target file:.github/workflows/ lang:yaml'

Effective Search Queries

Here are some effective search queries for finding potential vulnerabilities:

Pwn Request Vulnerabilities

pull_request_target file:.github/workflows/ lang:yaml

Actions Injection Vulnerabilities

issue_comment file:.github/workflows/ lang:yaml

Self-Hosted Runners

runs-on: self-hosted file:.github/workflows/ lang:yaml

TOCTOU Vulnerabilities

workflow_dispatch file:.github/workflows/ lang:yaml

Output

The search command outputs a list of repositories that match the search criteria. This output can be saved to a file using the -oT option and then used as input for the enumerate command.