{"id":13622494,"url":"https://github.com/cisagov/ScubaGear","last_synced_at":"2025-04-15T09:32:35.609Z","repository":{"id":47989253,"uuid":"516451110","full_name":"cisagov/ScubaGear","owner":"cisagov","description":"Automation to assess the state of your M365 tenant against CISA's baselines","archived":false,"fork":false,"pushed_at":"2025-04-11T00:51:00.000Z","size":31794,"stargazers_count":2047,"open_issues_count":205,"forks_count":276,"subscribers_count":56,"default_branch":"main","last_synced_at":"2025-04-11T00:51:23.301Z","etag":null,"topics":["assessment-tool","cisa","contributions-welcome","cybersecurity","m365","open-policy-agent","open-source","powershell","rego","scuba","scubaconnect","security","security-automation"],"latest_commit_sha":null,"homepage":"https://www.cisa.gov/resources-tools/services/secure-cloud-business-applications-scuba-project","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cisagov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-21T16:46:41.000Z","updated_at":"2025-04-10T21:46:00.000Z","dependencies_parsed_at":"2023-09-21T18:44:26.358Z","dependency_job_id":"c71cb953-08d9-421a-9522-f80a316d389c","html_url":"https://github.com/cisagov/ScubaGear","commit_stats":{"total_commits":367,"total_committers":27,"mean_commits":"13.592592592592593","dds":0.8446866485013624,"last_synced_commit":"df1c21dceffc8490ee75e4125cc6f539f3ee8b45"},"previous_names":[],"tags_count":11,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2FScubaGear","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2FScubaGear/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2FScubaGear/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2FScubaGear/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisagov","download_url":"https://codeload.github.com/cisagov/ScubaGear/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249043050,"owners_count":21203406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assessment-tool","cisa","contributions-welcome","cybersecurity","m365","open-policy-agent","open-source","powershell","rego","scuba","scubaconnect","security","security-automation"],"created_at":"2024-08-01T21:01:20.099Z","updated_at":"2025-04-15T09:32:35.592Z","avatar_url":"https://github.com/cisagov.png","language":"PowerShell","funding_links":[],"categories":["Tools","PowerShell","Azure Security"],"sub_categories":["CLI","Information Gathering","Defensive"],"readme":"![ScubaGear Logo](docs/images/SCuBA%20GitHub%20Graphic%20v6-05.png)\n\n\n[![GitHub Release][github-release-img]][release]\n[![PSGallery Release][psgallery-release-img]][psgallery]\n[![CI Pipeline][ci-pipeline-img]][ci-pipeline]\n[![Functional Tests][functional-test-img]][functional-test]\n[![GitHub License][github-license-img]][license]\n[![GitHub Downloads][github-downloads-img]][release]\n[![PSGallery Downloads][psgallery-downloads-img]][psgallery]\n[![GitHub Issues][github-issues-img]][github-issues]\n\nScubaGear 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](https://cisa.gov/scuba)) Secure Configuration Baseline [documents](/baselines/README.md).\n\n\u003e **Note**: This documentation can be read using [GitHub Pages](https://cisagov.github.io/ScubaGear).\n\n## Target Audience\n\nScubaGear is for M365 administrators who want to assess their tenant environments against CISA Secure Configuration Baselines.\n\n## Overview\n\nScubaGear uses a three-step process:\n\n- **Step One** - PowerShell code queries M365 APIs for various configuration settings.\n- **Step Two** - It then calls [Open Policy Agent](https://www.openpolicyagent.org) (OPA) to compare these settings against Rego security policies written per the baseline documents.\n- **Step Three** - Finally, it reports the results of the comparison as HTML, JSON, and CSV.\n\n\u003cimg src=\"docs/images/scuba-process.png\" /\u003e\n\n## Getting Started\n\nTo install ScubaGear from [PSGallery](https://www.powershellgallery.com/packages/ScubaGear), open a PowerShell 5 terminal on a Windows computer and install the module:\n\n```powershell\n# Install ScubaGear\nInstall-Module -Name ScubaGear\n```\n\nTo install its dependencies:\n\n```powershell\n# Install the minimum required dependencies\nInitialize-SCuBA \n```\n\nTo verify that it is installed:\n\n```powershell\n# Check the version\nInvoke-SCuBA -Version\n```\n\nTo run ScubaGear:\n\n```powershell\n# Assess all products\nInvoke-SCuBA -ProductNames *\n```\n\n\u003e **Note**:  Successfully running ScubaGear requires certain prerequisites and configuration settings.  To learn more, read through the sections below.\n\n## Table of Contents\n\nThe following sections should be read in order.\n\n### Installation\n\n- [Install from PSGallery](docs/installation/psgallery.md)\n- [Download from GitHub](docs/installation/github.md)\n- [Uninstall](docs/installation/uninstall.md)\n\n### Prerequisites\n\n- [Dependencies](docs/prerequisites/dependencies.md)\n- [Required Permissions](docs/prerequisites/permissions.md)\n  - [Interactive Permissions](docs/prerequisites/interactive.md)\n  - [Non-Interactive Permissions](docs/prerequisites/noninteractive.md)\n\n### Execution\n\n- [Execution](docs/execution/execution.md)\n- [Reports](docs/execution/reports.md)\n\n### Configuration\n\n- [Parameters](docs/configuration/parameters.md)\n- [Configuration File](docs/configuration/configuration.md)\n\n### Troubleshooting\n\n- [Multiple Tenants](docs/troubleshooting/tenants.md)\n- [Defender](docs/troubleshooting/defender.md)\n- [Exchange Online](docs/troubleshooting/exchange.md)\n- [Power Platform](docs/troubleshooting/power.md)\n- [Microsoft Graph](docs/troubleshooting/graph.md)\n- [Proxy](docs/troubleshooting/proxy.md)\n\n### Misc\n\n- [Assumptions](docs/misc/assumptions.md)\n\n## Project License\n\nUnless 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.\n\n[release]: https://github.com/cisagov/ScubaGear/releases\n[license]: https://github.com/cisagov/ScubaGear/blob/main/LICENSE\n[psgallery]: https://www.powershellgallery.com/packages/ScubaGear\n[github-cicd-workflow]: https://github.com/cisagov/ScubaGear/actions/workflows/run_pipeline.yaml\n[github-issues]: https://github.com/cisagov/ScubaGear/issues\n[github-license-img]: https://img.shields.io/github/license/cisagov/ScubaGear\n[github-release-img]: https://img.shields.io/github/v/release/cisagov/ScubaGear?label=GitHub\u0026logo=github\n[psgallery-release-img]: https://img.shields.io/powershellgallery/v/ScubaGear?logo=powershell\u0026label=PSGallery\n[ci-pipeline]: https://github.com/cisagov/ScubaGear/actions/workflows/run_pipeline.yaml\n[ci-pipeline-img]: https://github.com/cisagov/ScubaGear/actions/workflows/run_pipeline.yaml/badge.svg\n[functional-test]: https://github.com/cisagov/ScubaGear/actions/workflows/test_production_function.yaml\n[functional-test-img]: https://github.com/cisagov/ScubaGear/actions/workflows/test_production_function.yaml/badge.svg\n[github-cicd-workflow-img]: https://img.shields.io/github/actions/workflow/status/cisagov/ScubaGear/run_pipeline.yaml?logo=github\n[github-downloads-img]: https://img.shields.io/github/downloads/cisagov/ScubaGear/total?logo=github\n[psgallery-downloads-img]: https://img.shields.io/powershellgallery/dt/ScubaGear?logo=powershell\n[github-issues-img]: https://img.shields.io/github/issues/cisagov/ScubaGear\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisagov%2FScubaGear","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcisagov%2FScubaGear","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisagov%2FScubaGear/lists"}