trivy-to-google-sheets is a Python package that automates running Trivy scans on container images and exporting the results to a Google Sheet. It also automatically shares the generated sheet with specified emails and can be used as a command-line tool.
Run a Trivy scan on a Docker container image.
- Export Trivy scan results directly to Google Sheets.
- Automatically create a new Google Sheet if it doesn't exist.
- Share the created Google Sheet with multiple users via email.
- Use the package via CLI for quick access.
Install the package from PyPI:
pip install trivy-to-google-sheetsBefore running the script or using the CLI tool, ensure the following environment variables are set:
GOOGLE_SHEETS_CREDS: Path to your Google service account credentials JSON file.WORKSHEET_NAME: (Optional) Name of the Google Sheet worksheet (tab) where the data will be inserted. Default -default-trivy-nameSPREADSHEET_NAME: (Optional) Name of the Google Sheet - Default -trivy-vulnerabilities-spreadsheetSHARE_EMAILS: Comma-separated list of emails to share the Google Sheet with.
export GOOGLE_SHEETS_CREDS=/path/to/credentials.json
export WORKSHEET_NAME="vulnerability-scan"
export SHARE_EMAILS="email1@example.com,email2@example.com"
You can run the script directly in Python by initializing the TrivyToGoogleSheets class:
from trivy_to_google_sheets import TrivyToGoogleSheets
# Initialize the process
trivy_gsheet = TrivyToGoogleSheets(image_name="your-container-image")
trivy_gsheet.run()After installing the package, you can use the trivy-to-google-sheets command directly in your terminal.
trivy-to-google-sheets your-container-imageTo use this package, you need to set up the Google Sheets API and Google Drive API in your Google Cloud project. Follow the steps below to configure everything properly.
- Go to the Google Cloud Console.
- Create a new project:
- Click on the project dropdown in the top navigation bar.
- Click New Project.
- Enter your Project Name and select your Billing Account (if applicable).
- Click Create.
- Enable the Google Sheets API:
- Go to Google Sheets API Library.
- Click Enable.
- Enable the Google Drive API:
- Go to Google Drive API Library.
- Click Enable.
- Go to APIs & Services > Credentials in the left sidebar.
- Click Create Credentials and choose Service Account.
- Fill in the service account details:
- Name: e.g., trivy-to-google-sheets-service-account.
- Role: Choose Editor or Owner (this allows the service account to create and edit spreadsheets).
- Click Done.
- After creating the service account, under the Keys tab, click Add Key > Create New Key.
- Choose JSON and download the file. This is your credentials file.
Once you have the JSON file, set the path to it in your environment variables:
export GOOGLE_SHEETS_CREDS=/path/to/your/service-account-key.jsonIf your script needs to share the Google Sheets with multiple people, you can set the SHARE_EMAILS environment variable with a comma-separated list of emails:
export SHARE_EMAILS="email1@example.com,email2@example.com"