https://github.com/cisagov/ScubaGoggles
SCuBA Secure Configuration Baselines and assessment tool for Google Workspace
https://github.com/cisagov/ScubaGoggles
cisa cybersecurity google google-workspace gws opa open-policy-agent open-source python scuba security security-automation
Last synced: 3 months ago
JSON representation
SCuBA Secure Configuration Baselines and assessment tool for Google Workspace
- Host: GitHub
- URL: https://github.com/cisagov/ScubaGoggles
- Owner: cisagov
- License: cc0-1.0
- Created: 2023-07-24T14:07:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-06T18:54:16.000Z (3 months ago)
- Last Synced: 2025-03-06T19:21:48.578Z (3 months ago)
- Topics: cisa, cybersecurity, google, google-workspace, gws, opa, open-policy-agent, open-source, python, scuba, security, security-automation
- Language: Open Policy Agent
- Homepage: https://www.cisa.gov/resources-tools/services/secure-cloud-business-applications-scuba-project
- Size: 5.29 MB
- Stars: 200
- Watchers: 12
- Forks: 33
- Open Issues: 99
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

GWS Secure Configuration Baseline Assessment Tool
Developed by CISA, ScubaGoggles is an assessment tool that verifies a Google
Workspace (GWS) organization's configuration conforms to the policies
described in the Secure Cloud Business Applications
([SCuBA](https://cisa.gov/scuba)) Secure Configuration
Baseline [documents](scubagoggles/baselines/README.md).For the Microsoft 365 (M365) rendition of this tool, see [ScubaGear](https://github.com/cisagov/ScubaGear).
> [!WARNING]
> This tool is in an alpha state and in active development. At this time, outputs could be incorrect and should be reviewed carefully.## Overview
We use a three-step process:
1. **Export**. In this step, we primarily use the Google Admin SDK API to export and serialize all the relevant logs and settings into json. ScubaGoggles also uses various other Google APIs to grab organization metadata, user privileges etc.
2. **Verify**. Compare the exported settings from the previous step with the configuration prescribed in the baselines. We do this using [OPA Rego](https://www.openpolicyagent.org/docs/latest/policy-language/#what-is-rego), a declarative query language for defining policy.
3. **Report**. Package the results as HTML and JSON.## Table of Contents
### Installation
- [Download and Python Install](docs/installation/DownloadAndInstall.md)
- [Download the OPA Executable](docs/installation/OPA.md)### Prerequisites
- [Permissions](docs/prerequisites/Prerequisites.md#permissions)
- [Create a Project](docs/prerequisites/Prerequisites.md#create-a-project)### Authentication
- [Authentication Methods](docs/authentication/AuthenticationMethods.md)
- [Using OAuth](docs/authentication/OAuth.md)
- [Using a Service Account](docs/authentication/ServiceAccount.md)### Usage
- [Usage: Parameters](docs/usage/Parameters.md)
- [Usage: Config File](docs/usage/Config.md)
- [Usage: Examples](docs/usage/Examples.md)
- [Reviewing Output](docs/usage/ReviewOutput.md)
- [Limitations](docs/usage/Limitations.md)### Troubleshooting
- [Lots of Manual Checks](docs/troubleshooting/Troubleshooting.md#lots-of-manual-checks)
- [Not Authorized to Access This Resource](docs/troubleshooting/Troubleshooting.md#not-authorized-to-access-this-resource)
- [scubagoggles Not Found](docs/troubleshooting/Troubleshooting.md#scubagoggles-not-found)
- [Unable to view HTML report due to environment limitations](docs/troubleshooting/Troubleshooting.md#unable-to-view-html-report-due-to-environment-limitations)## Project License
Unless otherwise noted, this project is distributed under the Creative
Commons Zero license. With developer approval, contributions may be
submitted with an alternate compatible license. If accepted, those
contributions will be listed herein with the appropriate license.