Skip to content

sadreck/Butler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Butler - GitHub Actions Oversight

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

Usage

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.

Installation

# 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...

Download

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"

Process

python butler.py process --database ./github.db --threads 10 --very-verbose

Report

python butler.py report --database ./github.db --output ./report --repo "github"

Development Status

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

About

GitHub Actions Oversight

Topics

Resources

License

Stars

Watchers

Forks

Contributors