A tool to run Trivy scans and export results to Google Sheets
Project description
Trivy to Google Sheets
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.
Features
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.
Installation
Install the package from PyPI:
pip install trivy-to-google-sheets
Usage
Environment Variables
Before 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.
Example
export GOOGLE_SHEETS_CREDS=/path/to/credentials.json
export WORKSHEET_NAME="vulnerability-scan"
export SHARE_EMAILS="email1@example.com,email2@example.com"
Running the Script Programmatically
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()
Using as a Command-Line Tool
After installing the package, you can use the trivy-to-google-sheets command directly in your terminal.
trivy-to-google-sheets your-container-image
Google Setup
To 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.
Create a Google Cloud Project
- 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 Google Sheets and Google Drive APIs
- 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.
Create a Service Account
- 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.
Set the Service Account Credentials Path
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.json
Share Spreadsheet with Multiple Emails (Optional)
If 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"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file trivy_to_google_sheets-0.5.0.tar.gz.
File metadata
- Download URL: trivy_to_google_sheets-0.5.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96f5438cbd03f325c29133e43ffe368e8f8bcd56d47f82802b52e450ea76b18f
|
|
| MD5 |
563bf87777e879b18eb7828b164a2b12
|
|
| BLAKE2b-256 |
5ad3b7de42bb2a869fa7b3ac092571d20f93d8915911023c0dbeadbe423421c4
|