Show HN: Butler – GitHub Actions Oversight Across Organisations

2 weeks ago 1

Report Index

30-second pitch

Do you know what workflows run across your GitHub org?

Butler scans every repo for workflows, actions, secrets/variables, third-party actions, and produces HTML and CSV outputs to assist with security reviews, third-party dependency audits, and workflow management.

Click here for sample reports for organisations like GitHub, OpenAI, Docker, AWS Labs - not mobile friendly.

Screenshots

Report Index
Report Workflows Report Third-Party Report Variables

Creating a view of an organisation consists of the following steps:

  1. Download all repos into a local SQLite database. You can download multiple organisations into a single database file.
  2. Process a database.
  3. Create a report against a database.
# Create virtual environment python3 -m venv venv . venv/bin/activate pip3 install -r requirements.txt

A GitHub PAT is also required:

export GITHUB_TOKEN=ghp_wpB...
python butler.py download --repo "github" --database ./github.db --threads 10 --all-repos --very-verbose

Using multiple GitHub tokens

export GITHUB_TOKEN_1=ghp_aaa... export GITHUB_TOKEN_2=ghp_aaa... ... export GITHUB_TOKEN_N=ghp_aaa... python butler.py download [...] --token "GITHUB_TOKEN_*"

Downloading Multiple Orgs/Repos

python butler.py download [...] --repo "github" --repo "microsoft/vscode" --repo "openai"
python butler.py process --database ./github.db --threads 10 --very-verbose
python butler.py report --database ./github.db --output ./report --repo "github"

This project is under active development, if you find any bugs or have any feature requests please create an issue.

Read Entire Article