cisagov / ScubaGear
git clone https://github.com/cisagov/ScubaGear.git
v1.8.0 · 5mo ago
🔥 on GitHub Trending today
Automation to assess the state of your M365 tenant against CISA's baselines
+0
stars, 24h · #606
+22
stars, 7 days · #1,531
—
stars, 30 days
2.7k
★ total · +1% this week
395
forks · 252 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguagePowerShell
LicenseCC0-1.0
Created2022-07-21 (4y ago)
Last pushtoday
Watchers62
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #6 daily in powershell
- 2026-10-20 — #8 weekly in powershell · +22 ★
GitHub topics
assessment-toolcisacontributions-welcomecybersecuritym365open-policy-agentopen-sourcepowershellregoscubascubaconnectsecuritysecurity-automation
Links
- GitHub: github.com/cisagov/ScubaGear
- Homepage: https://www.cisa.gov/resources-tools/services/secure-cloud-business-applications-scuba-project
- Releases · Issues · Hacker News mentions
README excerpt
[![GitHub Release][github-release-img]][release] [![PSGallery Release][psgallery-release-img]][psgallery] [![CI Pipeline][ci-pipeline-img]][ci-pipeline] [![Functional Tests][functional-test-img]][functional-test] [![GitHub License][github-license-img]][license] [![GitHub Downloads][github-downloads-img]][release] [![PSGallery Downloads][psgallery-downloads-img]][psgallery] [![GitHub Issues][github-issues-img]][github-issues] ScubaGear is an assessment tool that verifies that a Microsoft 365 (M365) tenant’s configuration conforms to the policies described in the Secure Cloud Business Applications (SCuBA) Secure Configuration Baseline documents. > [!NOTE] > This documentation can be read using GitHub Pages. ## Target Audience ScubaGear is for M365 administrators who want to assess their tenant environments against CISA Secure Configuration Baselines. ## Overview ScubaGear uses a three-step process: - **Step One** - PowerShell code queries M365 APIs for various configuration settings. - **Step Two** - It then calls Open Policy Agent (OPA) to compare these settings against Rego security policies written per the baseline documents. - **Step Three** - Finally, it reports the results of the comparison as HTML, JSON, and CSV. ## Key Features ### Baseline Security Coverage SCuBA controls have been mapped to both NIST SP 800-53 and the MITRE ATT&CK framework. - Baselines - Microsoft Entra ID: Identity and access management policies - Security Suite: Advanced threat protection settings - Exchange Online: Email security and compliance configurations - Power BI: Cloud-based data visualization tool security settings - Power Platform: Low-code application security settings - SharePoint: Document collaboration and access controls - Teams: Communication and meeting security policies - Removed Policies ### Scuba Configuration UI SCuBA now includes a graphical user interface that makes it easier than ever to create and manage your YAML configuration files. This intuitive tool helps reduce the complexity of manual editing and streamlines the configuration process for your organization. For more information review the Configuration UI documentation. #### UI Key Features: - Launch with `Start-ScubaConfigApp` - Step-by-step setup wizard covering all configuration options - Real-time validation with live YAML preview - Microsoft Graph integration for user and group selection - Seamless import/export of existing configuration files > Ideal for users who prefer a visual interface over command-line tools. ### ScubaGear Output - **HTML Reports**: Interactive, user-friendly compliance reports. Sample BaselineReports.html - **JSON Output**: Structured results for reporting and parsing. Sample ScubaResults.json - **CSV Export**: Spreadsheet-compatible data for analysis. Sample ScubaResults.csv ## Getting Started Before launching **ScubaGear**, it's important to ensure your environment is properly configured. This includes having the necessary dependencies and permissi