This application generates comprehensive security reports for GitHub organizations by aggregating Code Scanning, Secret Scanning, and Dependabot alerts at the organization level. The report includes visual charts and detailed tables of security alerts.
-
Docker installed on your machine (recommended method) OR Node.js (v18 or later) and npm installed
-
GitHub Personal Access Token (PAT) with the following permissions:
- Organization owner access
- Code Scanning Alerts: Read access
- Secret Scanning Alerts: Read access
- Dependabot Alerts: Read access
- Organization owner access
To create a Personal Access Token:
- Go to GitHub.com → Settings → Developer settings → Fine-grained tokens
- Click "Generate new token"
- Resource Owner should be the Organization you want to report on
- Select repositories you want to report on or choose "All repositories"
- Select the required permissions mentioned above
- Copy the generated token (you'll need it when using the application)
- Clone the repository:
git clone https://github.com/chetbackiewicz/github-security-report.git
cd github-security-report
- Build the Docker image:
docker build -t github-security-report .
- Run the container:
docker run -p 3000:80 github-security-report
- Access the application at http://localhost:3000
- Clone the repository:
git clone https://github.com/chetbackiewicz/github-security-report.git
cd github-security-report
- Install dependencies:
npm install
- Start the development server:
npm start
- Access the application at http://localhost:3000
- Once the application is running, you'll see a login form
- Enter your GitHub organization name (e.g., "your-org-name")
- Paste your GitHub Personal Access Token
- Click "Generate Report"
- The application will:
- Fetch all security alerts for your organization
- Generate visual charts for severity distributions
- Create tables summarizing the alerts
- Choose whether to include detailed alerts in the PDF using the checkbox
- Click "Download PDF Report" to get your security report
- Executive summary of all security alerts
- Visual pie charts showing severity distributions
- Detailed breakdowns for:
- Code Scanning alerts
- Secret Scanning alerts
- Dependabot alerts
-
If you see permission errors:
- Verify your Personal Access Token has the required permissions
- Ensure you have organization owner access
- Check if your token hasn't expired
-
If charts don't appear in the PDF:
- Wait a few seconds after the data loads before downloading
- Try refreshing the page if the issue persists
-
If the application fails to start:
- For Docker: ensure ports 3000/80 aren't in use
- For local development: ensure Node.js v18+ is installed