96 Commits
Author SHA1 Message Date
Alden HiltonandHilton 602376327f add missing default (#1234)
Generate OSCAL Baseline Catalog / generate-oscal (push) Waiting to run
Run Link Checker for Cron Job / markdown-link-check (push) Waiting to run
Run CI Pipeline for ScubaGoggles / Pylint (push) Blocked by required conditions
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Blocked by required conditions
Pylint / build (3.14) (push) Blocked by required conditions
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Blocked by required conditions
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Blocked by required conditions
Run OPA Tests / Run-OPA-Tests (push) Blocked by required conditions
Run Link Checker for Markdown Edits / markdown-link-check (push) Blocked by required conditions
Pytest / test (push) Blocked by required conditions
Run Smoke Test / configuration (push) Waiting to run
Co-authored-by: Hilton <Alden>
2026-10-15 10:21:52 -07:00
Alden HiltonandHilton 6db1ef25c8 Check sp when applicable for DMARC (#1216)
* check sp when applicable for DMARC

---------

Co-authored-by: Hilton <Alden>
2026-10-07 11:55:26 -07:00
Alden Hilton 09aa7cdec8 Update DMARC record discovery algorithm to follow RFC 9989
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Pylint (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Has been cancelled
Run Smoke Test / configuration (push) Has been cancelled
Run Smoke Test / smoke-test (push) Has been cancelled
Run Smoke Test / lhci (push) Has been cancelled
- Make DMARC record parsing more robust
- Update DMARC record discovery algorithm to follow RFC 9989
2026-09-22 09:31:20 -07:00
Alden HiltonandHilton 694e934223 Update sample report (#1118)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Pylint (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Has been cancelled
Run Smoke Test / configuration (push) Has been cancelled
Run Smoke Test / smoke-test (push) Has been cancelled
Run Smoke Test / lhci (push) Has been cancelled
* update sample report

* additional updates

---------

Co-authored-by: Hilton <Alden>
2026-07-21 08:23:53 -07:00
Alden HiltonandHilton 1e27489b53 update password length requirement (#1119)
Co-authored-by: Hilton <Alden>
2026-07-20 14:27:35 -07:00
Alden HiltonandHilton 8939cd1800 Implement policy API checks for GWS.MEET.5.1 and 5.2 (#1091)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Pylint (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Has been cancelled
Run Smoke Test / configuration (push) Has been cancelled
Run Smoke Test / smoke-test (push) Has been cancelled
Run Smoke Test / lhci (push) Has been cancelled
* implement meet 5.1 and 5.2

* syntax fix

* update automated badge

---------

Co-authored-by: Hilton <Alden>
2026-07-01 12:46:32 -07:00
Alden HiltonandHilton cf7f4075f0 1075 implement policy api check for gwscommoncontrols101v1 (#1084)
* change note color for increased contrast

* mark 10.1 as automated

* implement 10.1

* fix for regal

* refactor rego

* handle services with high risk scoeps

* Add BOD badge

* Remove BOD badge

* add APPS_SCRIPT_API

* add cloudsearch

---------

Co-authored-by: Hilton <Alden>
2026-06-30 11:18:16 -07:00
Alden HiltonandHilton 18a34959bd Implement policy API checks for GWS.DRIVEDOCS.1.9v1 (#1083)
Run Smoke Test / configuration (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Pylint (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Has been cancelled
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run Smoke Test / smoke-test (push) Has been cancelled
Run Smoke Test / lhci (push) Has been cancelled
* darker note color for increase contrast

* use same note color from roys branch

* implement 1.9

* Add BOD badge

* Remove BOD badge

---------

Co-authored-by: Hilton <Alden>
2026-06-25 08:50:19 -07:00
f49e8ad243 Add Sites exclusions support (#1016)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Pylint (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run OPA Tests (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Markdown Link Check (push) Has been cancelled
Run CI Pipeline for ScubaGoggles / Run Python Tests (push) Has been cancelled
Run Smoke Test / configuration (push) Has been cancelled
Run Smoke Test / smoke-test (push) Has been cancelled
Run Smoke Test / lhci (push) Has been cancelled
Update OPA Version Dependency / Check for OPA Update (push) Has been cancelled
Update OPA Version Dependency / Update OPA and Create PR (push) Has been cancelled
* rename imapexceptions to imapexclusions

* add sitesexclusions to python and docs

* fix imap unit test

* allow sites exclusions

* rename imapexceptions to imapexclusions in UI

* add sitesexclusions to ui

* regal fix

* typo fix

* Apply suggestions from code review

Co-authored-by: dagarwal-ecs <devesh.agarwal@ecstech.com>

* Added indent for lists in the config ui

* update configurable tags

---------

Co-authored-by: Hilton <Alden>
Co-authored-by: dagarwal-ecs <devesh.agarwal@ecstech.com>
2026-05-05 08:23:21 -07:00
Alden HiltonandHilton ec3ed9568b add configurable indicator (#972)
Co-authored-by: Hilton <Alden>
2026-04-01 12:08:52 -07:00
Alden HiltonandHilton efb8f12002 remove obe baseline policies (#947)
Co-authored-by: Hilton <Alden>
2026-03-30 08:50:41 -07:00
3be613fbf8 Allow IMAP exceptions (#959)
Pylint / build (3.14) (push) Has been cancelled
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* allow imap exceptions

* just import package to make the linter happy

* more changes for linter

* add log to class

* make linter happy try 3

* try 4

* improve non-existent ou/group warnings

* fix long line

* Commit docs and spelling fixes

* Apply logging suggestions

Co-authored-by: Roy Lane <rlane@mitre.org>

* fixes for pylint

* fix for pylint try 2

* try 3

* check is imapexceptions is none

---------

Co-authored-by: Hilton <Alden>
Co-authored-by: Roy Lane <rlane@mitre.org>
2026-03-30 10:00:33 -04:00
Alden Hilton a59e4fd3f7 Fail if multiple DMARC records are present (#939)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Pylint / build (3.14) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* fail if multiple dmarc records

* improve dns table layout

* fail if multiple spf records

* add warning to details
2026-03-16 08:52:10 -07:00
Alden Hilton 5d6d1d13f0 Add exception note
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
2025-12-18 17:17:25 -08:00
Alden Hilton aa7ffe7b2c Add DNS to config docs
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Pylint / build (3.13) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
2025-12-16 08:11:08 -08:00
Alden Hilton 40bf5d9362 Add new params to top of page 2025-12-16 08:11:08 -08:00
Alden Hilton d9dac7c764 Add example 2025-12-16 08:11:08 -08:00
Alden Hiltonandmitchelbaker-cisa 48a544fd92 Apply suggestions from code review
Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
2025-12-16 08:11:08 -08:00
Alden Hilton 3d13a3c657 add second IP to example 2025-12-16 08:11:08 -08:00
Alden Hilton a333eea518 Change to relative link 2025-12-16 08:11:08 -08:00
Alden Hilton eb3ac1ab43 add link in README 2025-12-16 08:11:08 -08:00
Alden Hilton 273bcc7961 Add DNS troubleshooting 2025-12-16 08:11:08 -08:00
Alden Hilton 25c43b4d13 implement skipdoh 2025-12-16 08:11:08 -08:00
Alden Hilton c78f07d41b implement preferreddnsresolver 2025-12-16 08:11:08 -08:00
Alden Hilton 21f2f940e7 Add new arguments 2025-12-16 08:11:08 -08:00
Alden HiltonandRoy Lane 6c802d26d6 Add Assured Controls code (#852)
* Add assured controls as a baseline option

* implement 1.2

* implement 1.1

* Check for groups for 1.1.

* implement 2.1

* remove unused var

* Add unit tests

* add note to assured controls report

* fix file capitalization

* fix smoke test

* Use helper functions for unit tests

Co-authored-by: Roy Lane <rlane@mitre.org>

---------

Co-authored-by: Roy Lane <rlane@mitre.org>
2025-12-16 09:58:21 -05:00
Alden Hilton 7df8f37501 Fix for deleted OUs (#840)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
Pylint / build (3.13) (push) Has been cancelled
2025-11-26 16:14:22 -05:00
Alden Hilton 7e2249ad3d Add missing mapping (#843)
Run Link Checker for Cron Job / markdown-link-check (push) Has been cancelled
2025-11-19 15:20:03 -08:00
bb71b193fc Add Assured Controls Baseline (#836)
* add baseline changes

* forgot to add the baseline itself

* Add link to readme

* tweak wording

* Reword rationale

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Tweak policy wording

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Remove OBE language from assumptions section

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* Adjust policy intro wording

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* typo fix

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* Add period

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* consolidate notes

* reword rationale

* Adjust intro paragraph

* Apply remaining feedback

* Specify ATT&CK

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* Update implementation steps

* remove colon

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

---------

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
2025-11-19 15:19:31 -08:00
Alden Hilton 0aa35eded5 Add option to provide token via CLI (#829)
Pylint / build (3.13) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* Add accesstoken option

* Fix case where creds file not present

* State that accesstoken is an advanced option
2025-11-10 17:30:18 -08:00
Alden Hilton 277c0841db Allow SPF soft fail (#825)
* Modify note about SPF

* Update rego to allow soft fail
2025-11-10 17:14:20 -08:00
Alden Hilton a646d8d4ff update note about exceptions (#817) 2025-10-28 12:21:01 -07:00
Alden Hilton b5abfe1477 Add config file for compliance (#805)
* Add config file

* discuss config file in documentation

* Add baselines and breakglassaccounts

* comment out service account fields
2025-10-23 12:35:04 -07:00
Alden Hilton d270e08e8d Abstract out permissions to scuba constantspy (#812)
Pylint / build (3.13) (push) Has been cancelled
* move scopes to scuba_constants.py
2025-10-22 10:06:36 -07:00
Alden Hilton 5a9b498be6 Update GWS.CLASSROOM.1.2 and 1.2 (#802)
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* Update baseline text

* Change class to classes

* Update rego
2025-10-20 10:40:08 -07:00
Alden Hilton 8fe0c00df1 disable invalid-name warning (#803)
Pylint / build (3.13) (push) Has been cancelled
2025-10-16 16:23:47 -07:00
Alden Hilton 8827ab88b6 New sample report for v0.6.0 (#798)
* New sample report for v0.6.0

* update example domains
2025-10-15 12:15:40 -07:00
Alden Hilton 8e173605d3 Dark mode improvements (#781)
* Dark mode fixes

* Typo fix in comment
2025-10-07 12:00:47 -07:00
Alden Hilton 297d82e252 Rehaul DNS error handling (#768)
Pylint / build (3.13) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* update robust_dns functions
* Add tables to Gmail report describing the DNS queries made
* Add JS to truncate the DNS tables if needed
* Adjust smoke test to handle DNS tables
2025-10-02 09:47:46 -07:00
Alden Hilton 40fc6c2502 Update required system defined rules (#750)
Pylint / build (3.13) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* Update rules

* Update unit tests
2025-08-11 09:23:28 -07:00
Alden Hilton ac692c91bd Consolidate Groups baseline policy groups (#745)
* Combine groups 1,2, and 3

* Update drift rules

* Update nist mappings in csv
2025-08-08 09:20:18 -07:00
Alden HiltonandAndrew Huynh 6a605b303e Add Gemini baseline (#744)
* Draft the gemini baseline

* Implement code for Gemini

* Check service status and add unit tests

* Remove print statement

* Minor wording adjustments

* Increment expected row count in the summary table in smoke test

* Reference terms in rationale

* Remove 1.2

* Add Gemini mappings to mapping csv

* Add unit tests for changes applied to groups

* Remove print function

* missing comma

---------

Co-authored-by: Andrew Huynh <trung-hieu.huynh@ecstech.com>
2025-08-08 09:19:24 -07:00
Alden Hilton 93c4917215 Add capability to annotate controls (#737)
* Add annotation capability

* Add AnnotatedFailedPolicies and warn if no justification

* Remove else to make the linter happy

* Add warnings

* Minor tweaks for linter

* Accept either orgname or OrgName

* Prevent the extra csv fields from being added to the json

* Change scubagear to scubagoggles

* Fix date error handling
2025-07-24 10:26:32 -07:00
Alden HiltonandMax Dueltgen b38b95665c Add NIST SP 800-53 Mappings to SCBs (#741)
* Update Reference to Common Controls in DriveDocs (#652)

* updating implementation note

* Apply suggestions from code review

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

---------

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* updating implementation steps for chat3.1 (#653)

* Adding in NIST mappings

* adding in 16.2 and 17.1

* Apply suggestions from code review

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* Update scubagoggles/baselines/commoncontrols.md

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* More typo corrections

* Add mappings spreadsheet

---------

Co-authored-by: Max Dueltgen (MITRE) <148897369+mdueltgen@users.noreply.github.com>
2025-07-23 14:37:57 -07:00
Alden Hilton a6237a7741 Create new sample report for the v0.5.0 release (#722)
* Update sample report

* Update smoke test to expect uuid

* Make the linter happy

* Update the sample report

* Change multi-factor to multifactor
2025-07-01 09:16:33 -07:00
Alden Hilton 9580df27fd Set the ScubaGoggles version to 0.5 (#716)
Pylint / build (3.13) (push) Has been cancelled
* Update version to 0.5

* Delete accidental file

* Rename common controls drift rules file

* Use same style for UUID as ScubaGear
2025-06-20 13:34:08 -07:00
Alden Hilton c834721762 add omit summary count (#711)
Pylint / build (3.13) (push) Has been cancelled
2025-05-28 19:08:29 -07:00
Alden Hilton 6dde3e3f5a Indicate in the report which tests rely on log events (#694)
Pylint / build (3.13) (push) Has been cancelled
* Update Limitations.md

* Add warning for log based checks

* Clarify limitations
2025-05-23 16:02:23 -07:00
Alden Hilton ad1da2b2d2 Add missing default values (#700)
Pylint / build (3.13) (push) Waiting to run
2025-05-23 10:04:59 -07:00
Alden Hilton c24c5d853d Determine top-level OU when no custom OUs present (#693)
Pylint / build (3.13) (push) Has been cancelled
* Add capability to get top-level ou even if no custom ous have been created

* Add return empty string if not found

* Always raise exc on check_scopes
2025-05-21 21:26:53 -07:00
Alden Hilton c5109b5c99 Update Rego Prereqs for Chat, Calendar, Classroom, and Groups (#688)
Pylint / build (3.13) (push) Has been cancelled
Run OPA Tests / Run-OPA-Tests (push) Has been cancelled
* Update rego rereqs for chat and calendar

* Add missing prereq for new not-implemented control

* Update the prereqs for groups and classroom
2025-05-06 08:02:21 -07:00
Alden HiltonandRoy Lane d63711fc5a Update drive prereqs (#683)
* Update drive prereqs

* Remove sharing mode prereq from 1.6

Co-authored-by: Roy Lane <rlane@mitre.org>

---------

Co-authored-by: Roy Lane <rlane@mitre.org>
2025-04-24 11:45:39 -07:00
Alden Hilton f15e98f36e Update prereqs for Sites and Meet (#682) 2025-04-24 10:45:30 -07:00
Alden HiltonandRoy Lane ef351fa5ea Update error handling logic for policy API for Common Controls (#669)
* Update error handling logic for policy api and list policy prereqs for common controls

* Ignore TODO warning

* Update typo in comment

Co-authored-by: Roy Lane <rlane@mitre.org>

---------

Co-authored-by: Roy Lane <rlane@mitre.org>
2025-04-21 11:22:56 -07:00
Alden HiltonandKim Winters 9eb36fe0a8 Move rules back into common controls (#647)
* Incorporated rules counts into Common Controls

* Add basic alerts table

* Add alerts table

* Update rego unit tests

* Change SHALL to Shall

* Sample report

* Correct minor typo in comment

* Tweak smoke test to allow rules table

* Change in to ==

* Update number of rows in comment

Co-authored-by: Kim Winters (MITRE) <kwinters@mitre.org>

* Remove unnecessary reference to rules

* Save the results table to the raw JSON output

* Remove rules reference from scuba_argument_parser.py

* Correct spelling

* Change requirements to requirement

---------

Co-authored-by: Kim Winters (MITRE) <kwinters@mitre.org>
2025-04-02 14:18:15 -04:00
accf0bd87c Update setup process and instructions (#613)
* Update instructions in markdown

* Minor documentation tweaks

* Rename paramter for consistency

* Refine default config instructions

* Update README.md with link to config default values page

* Update OPA.md correct link typo

* Change ~/.scubagoggles to ~/.scubagoggles/userdefaults.yaml

* Change OPA default location to ~/.scubagoggles

* Remove prompt for opa path

* correct linter errors

* Remove prompts for credentials

* Remove legacy function

* Change cliargs for consistency

* linter corrections

* minor comment tweak

* Update OAuth.md clarify default credentials location

* Update ServiceAccount.md to clarify default credentials location

* Update OPA.md correct typo

* Update OPA.md Correct argument name

* add debug to setup action and use nocheck parameter

* Setup create output folder if not exists

* Create creds file before installing scubagoggles in workflow

* Move all checks for file existance to user_setup.py for consistency and to respect the nocheck parameter

* Refine setup code

* Create defaults file if opa downloaded to default location

* Updated Development Guide with installation instructions

* Added Cloud Identity API to OAuth instructions

* Changed capitalization of Development Guide and Branching Strucure md files

* Fixed link redirects

* Fixed link redirects

* Fixed image redirect in BRANCHINGSTRUCTURE.md

* Fixed image redirect in DevelopmentGuide.md

* Format Development Guide

* Format Development Guide

* minor bug fixes

* Remove unused import

* Removed hardcoded ScubaGoggles version number

* Added note that the setup utiltiy only needs to run once

* Added instruction to rename opa executable

* Added instruction to rename opa executable

* Merge two notes

* Correct 'exist()' to 'exists()'

* Grammatical fixes

Co-authored-by: Roy Lane <rlane@mitre.org>

* Correct typo "getupa"

Co-authored-by: Roy Lane <rlane@mitre.org>

* config: add _transition_config_file() for moving user config file from 0.4 location to current location

* Add print after setup

* Remove manual rename opa step

* Make credentials required unless saved via setup util

* Make note for developers more prominent

* Revise develop install

* Add missing steps to enable APIs

* Remove unused f string

* Restore the validate function

* Add trailing newline for linter

* Add back venv activation, accidentally removed in rebase

* Change input to env

* Change hyphen to underscore

* Remove -v

* Update DownloadAndInstall.md

* Add more helpful message if creds aren't configured after setup

* Remove unused f string

---------

Co-authored-by: Angela Tuo <atuo@mitre.org>
Co-authored-by: Roy Lane <rlane@mitre.org>
2025-03-19 11:39:56 -07:00
Alden Hilton 3e758796bf Change timestampzulu capitalization (#615) 2025-02-26 13:25:22 -08:00
Alden Hilton 842dcf9004 Update sample report for v0.4 (#592)
* Update sample report

* Minor typo fix
2025-02-12 18:43:04 -08:00
Alden Hilton 8d61b56560 Remove Windows test from workflow default (#536) 2024-12-20 09:39:32 -08:00
Alden Hilton e278a37b0f Add baselines folder placeholder (#532) 2024-12-19 17:04:08 -08:00
Alden HiltonandDavid Bui 61d7ad28b2 Add new post-SSO verification control (#493)
* Add 3.2 to common controls

* Adjust spacing

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Clarify org-wide vs other sso profiles.

---------

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
2024-11-06 14:04:36 -08:00
Alden Hilton 3099f4aa59 Revise implementation steps for GWS.COMMONCONTROLS.6.1 (#492)
* revise implementation steps for 6.1

* correct minor misspelling

* Correct additional typos
2024-11-06 07:32:50 -08:00
Alden Hilton 1d5afe9950 Added placeholder code for latest baseline changes (#484) 2024-10-29 16:58:34 -07:00
Alden Hilton c44cff48d8 Implement new password policy (#478) 2024-10-17 18:54:42 -07:00
Alden Hilton 51c439c22e Update sample report for v0.3.0 (#472)
* Update sample report

* Remove sample config for smoke test

* Add example DKIM record

* Add example DKIM record to TestResults.json

* Add example OU IDs
2024-10-14 20:53:09 -07:00
8cc7ff3c45 Add config file support for control omission (#431)
* Update Config.md with section on omitting policies

* Create omit_policies.yaml

* Update Config.md with example config specific to scubagoggles

* Update Config.md minor grammatical changes

* Update Config.md correct link

* Update Config.md correct minor typo

* Add config file support for omitting policies

* Correct some linter errors

* Correct more linter errors

* Move pylint disable comment

* Update Config.md, clarify usage of single config file

* Update omit_policies.yaml, comment about usage of anchors

* Warn for unexpected control ids

* must appease the linter

* Remove commented out code

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Break out omitpolicy validation into separate function.

* Add final newline to file for the linter

* Add special handling for rules

* Remove duplicate word

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>

* Create warn wrapper function to clean tqdm output

---------

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
2024-10-09 16:48:45 -07:00
Alden Hilton 081c129aab Add instructions for upgrading scubagoggles (#433)
* Update Troubleshooting.md with upgrading instructions

* Update DownloadAndInstall.md with link to troubleshooting

* Update README.md

* Update README.md with new upgrading section

* Rework documentation for new upgrading section
2024-10-06 18:05:24 -07:00
Alden Hilton 47494ebce6 Add config file support for existing parameters (#413)
* Add pyyaml to requirements

* Add basic config file support

* Update Parameters.md with config file parameter

* Expand help string for config parameter

* Create Config.md file

* Update README.md with link to config file docs

* Document config file support

* Remove note about config not supporting aliases

* Correct link syntax

* minor grammatical tweak

* Add navigation section

* Reformat notes to make clear not part of any one example

* Pylint corrections

* Refactor ScubaConfig glass into ScubaArgumentParser

* linter tweaks

* Correct return type hint

* Clarify list parameters

* Pin pylint version
2024-09-23 13:49:04 -07:00
Alden Hilton d6b34c4b29 Revert "Updated instructions for Classroom1.2 (#401)" (#405)
This reverts commit df7cf25926.
2024-09-13 09:49:10 -07:00
Alden Hilton 3b2bc94b95 Changed report title and header (#391) 2024-09-10 17:12:43 -07:00
Alden Hilton 8fa9f975fd Correct the "No Such Event" behavior for Gmail policies with multiple settings (#369)
* Invert no such event rule for 7.6

* Invert no such event rule for gmail 5.5

* Change to default per regal rule

* Add new test cases to cover partial no such event edge case
2024-09-05 16:20:57 -07:00
Alden Hilton 55d454d391 Change ScubaGoggles Version Number to 0.3.0 (#363)
* Update the version number

* Delete Testing/Functional/MarkdownTests/validate_baseline_links.py
2024-08-27 06:56:29 -07:00
Alden Hilton 60f51f3215 Rename the baseline markdown files (#354)
* Rename the baseline markdown files

* Remove unused var
2024-08-26 09:57:40 -07:00
Alden Hilton 6a0102130d Add Omit to the Summary Counts (#346)
* Add Omit count to summary

* Add comment
2024-08-21 08:39:43 -07:00
Alden Hilton 2c70b3aba2 Implement 19.2 and 19.3 in rego (#338) 2024-08-05 12:45:20 -07:00
Alden Hilton b0c764ae84 Documentation Rehaul (#319)
* Split up the main README file into separate files, similar to the ScubaGear README 

* Change the OAuth scope list into a comma-separated list
2024-06-20 11:03:21 -07:00
Alden Hilton 03e263895a Update README.md to clarify authentication instructions (#292) 2024-06-03 08:24:30 -07:00
Alden Hilton 123c1ad627 Baseline Review (#293)
Minor baseline revisions based off recent feedback.
2024-05-30 13:29:21 -07:00
Alden Hilton 61d32517a2 Stop execution on invalid OS (#284)
* stop execution on invalid os

* Refactor long line
2024-05-16 09:38:36 -07:00
Alden Hilton f03374be24 Detailed report message for GWS.CHAT.7 (#279)
* Refactor Chat 7.1
* Refactor 7.2
2024-05-16 08:28:13 -07:00
Alden Hilton 168b769fb7 Remove calls to old FilterEvents function (#270) 2024-05-08 11:07:18 -07:00
Alden Hilton f104430e93 Common Controls Rehaul (#246)
* Implemented handling settings at the group level
* Enhanced the report details
* Fixed various bugs relating to Common Controls
2024-03-29 16:14:05 -07:00
Alden Hilton 26b728c731 Add group support for sites (#225) 2024-03-28 09:31:02 -07:00
Alden Hilton f4d33ef45b Fix doh bug (#221)
* Fix doh bug

* Fix linter warnings
2024-03-26 15:39:44 -07:00
fe41a59d84 Refactor Rationales for Calendar, Classroom, and Sites (#218)
* Refactor rationales

* Apply suggestions from code review

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Fixed issues addressed in comment

* Apply suggestions from code review

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Reworded GWS.CLASSROOM.3.1v0.1 rationale

---------

Co-authored-by: jkaufman-mitre <135844572+jkaufman-mitre@users.noreply.github.com>
Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
Co-authored-by: jkaufman-mitre <jkaufman@mitre.org>
2024-03-21 13:41:25 -04:00
Alden Hilton b4f85edb28 Update min opa version (#199) 2024-02-27 16:22:58 -08:00
Alden Hilton 7e65e40509 Calendar group settings fix (#204)
* Refactored calendar/chat for groups fix
2024-02-20 20:07:25 -08:00
Alden Hilton 255ad557ce SPF Baseline Revision (#188)
* Remove original GWS.GMAIL.3.1v0.1
* Clarify that SPF policy should fail for non-approved senders
* Modify rego to check for -all for SPF
* Clarify hard vs soft fail.
* Enhance SPF unit test cases
2024-02-19 12:46:13 -08:00
Alden Hilton 9c0d5704f9 Add Detailed Report Messages to Chat (#176)
* Refactor 1.1

* Update 1.1 unit tests

* Refactor chat 1.2

* Refactor 2.1

* Remove unused variable

* Remove print statement

* Refactor chat 3.1

* Refactor 4

* Refactor 5.1

* Add support to download 0.59.0
2024-02-14 10:10:51 -08:00
Alden Hilton 188586fd00 Add missing step, change double-click to click (#182) 2024-02-12 08:59:40 -08:00
Alden Hilton 56b189070f Enhance Error handling (#163)
* Implement warning for missing output

* Add missing reo spf check

* Add rego check for 10.2

* Add rego check for 15.2

* Add rego check for 16.2

* Add missing rego checks for group 18

* Broke up the run_reporter function to satisfy linter

* Initial commit of error handling code

* Merge latest changes from main

* Fix bad merge

* Simplify Tenant Metadata (#152)

* Simplify tenant metadata section and correct groups bug

* Remove scope that is no longer needed

* Remove unneeded OAUTH scope from readme

* Merge latest changes from #158, Ensure Each Control Is Included in the
Reports

* Fix bad merge

* Correct gmail bug, forgot to preface the dns function calls with self

* Refactor long lines

* Broke out error handling code into separate functions

* correct error with f string

* Add special case prereqs to rego files

* Modify groups prereqs

* Correct typo in reports API reference

* If prereqs not defined, assume dependence on reports api

* Fix error in provider from merge

* Add missing tests for gws 18

* Fix other regressions caused by merge

* Make the linter happy

* Refactor long lines

* Fix groups API reference links

* Refactor services object to a state variable

* Make customer_id and dnsclient state variables

* Ensure the domains() API is called only once

* Changes to satisfy the linter

* Convert API reference to enums

* Correct URL bugs

* Add documentation

* Rename api_reference to types
2024-02-07 14:20:47 -05:00
Alden Hilton ec230546d8 Correct DNS bug (#160) 2024-01-29 12:33:22 -08:00
Alden Hilton 8fbf273fb5 Simplify Tenant Metadata (#152)
* Simplify tenant metadata section and correct groups bug

* Remove scope that is no longer needed

* Remove unneeded OAUTH scope from readme
2024-01-24 18:47:47 -08:00
Alden Hilton 0071e1b248 Refactor DNS Code (#146)
* Remove the hard-dependency on IPv4 for the DoH call
* Adjust the DoH logic so that DoH calls are not made when DoH is blocked
* Adjust DNS query logic so that a retry over DoH is not triggered by NXDOMAIN.
* Refactor DNS code into its own class
* Correct a few stray bugs in the DoH request
2024-01-22 09:01:04 -08:00
Alden HiltonandDavid Bui fa4433c24e Refactor all rego (#141)
* Refactor long lines; refactor GetTopLevelOU function

* Unify comment style

* Remove 'no domain' helper rules

* Change ServiceName to SettingName

* Refactor test cases

* Change lists to sets where possible

* Chat change to for in syntax

* Chat change to rule contains syntax

* Refactor GetTopLevelOU function

* Change lists to sets where possible chat

* Remove trailing whitespace

* Change ServiceName to SettingName

* Standardize comment syntax chat

* Refactor chat unit tests

* Change to for in syntax

* Change to rule contains syntax classroom

* Change ServiceName to SettingName

* Classroom change lists to sets where possible

* Classroom standardize comments

* Refactor GetTopLevelOU function Classroom

* Refactor Classroom unit tests

* Remove stray blank lines classroom

* Refactor common functions Drive

* Drive change to some in syntax

* Remove trailing whitespace

* Remove more trailing whitespace

* Change to rule contains syntax Drive

* Refactor long lines Drive

* Drive standardize comments

* Refactor Drive unit tests

* Refactor drive 2 long lines

* Refactor groups unit tests

* Groups standardize comments

* Rego refactor meet

* Refactor 'or' Drive

* Refactor sites rego

* Refactor utils rego

* Move OUsWithEvents rule to the utils file

* Calendar fill in topLevelOU in test cases with multiple OU as it cannot be blank in those cases

* Chat fill in empty topLevelOU in test cases where needed

* Classroom fill in empty topLevelOU in test cases where needed

* Drive unit tests fill in topLevelOU where required

* Gmail test cases add topLevelOU when needed

* groups test cases add topLevelOU when needed

* Meet test cases add topLevelOU when needed

* Move TopLevelOU rule to utils file

* Remove print statements

* Move GetLastEvent function to utils file

* Moved all shared rego code to the utils file

* Import utils package instead of individual rules

* push unsaved change

* Remove duplicates from list

* Change SettingChangeEvents back to filter by log name for efficiency

* Refactor groups 7

* Ensure test names are unique

* Add regal config file

* Add github workflow for regal

* Add missing ifs

* Bump the version of the regal exe

* Trim trailing whitespace rego/Utils.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Trim trailing whitespace rego/Utils.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Correct the ID used in comment rego/Chat.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Move TopLevelOU comments for consistency

* Remove trailing whitespace rego/Utils.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Add new line for readability and consistency

* Sites change lists to sets

* Remove leading whitespace rego/Groups.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Align whitespace rego/Classroom.rego

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

* Groups align whitespace

* Refactor 'ignore ous without events' comment

* Remove trailing whitespace from Rego unit tests

---------

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
2024-01-15 12:15:27 -08:00
Alden HiltonandDavid Bui 2029d92c33 Refactor Gmail Rego (#118)
* Refactor Gmail Rego to comply with current best practices

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>

---------

Co-authored-by: David Bui <105074908+buidav@users.noreply.github.com>
2023-12-22 08:10:50 -05:00