Snapshot of cisagov/Sparrow: 1.4k★, PowerShell. Sparrow.ps1 was created by CISA's Cloud Forensics team to help detect possible compromised accounts and applications in the Azure/m365 environment.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This repo is archived as of 27 Dec 2022 - and is no longer being maintained.
Aviary
Aviary is a new dashboard that CISA and partners developed to help visualize and analyze outputs from its Sparrow detection tool released in December 2020. Sparrow helps network defenders detect possible compromised accounts and applications in Azure/Microsoft O365 environments. CISA created Sparrow to support hunts for threat activity following the SolarWinds compromise. Aviary--a Splunk-base dashboard--facilitates analysis of Sparrow data outputs.
To download Aviary, visit releases.
Sparrow.ps1
Sparrow.ps1 was created by CISA's Cloud Forensics team to help detect possible compromised accounts and applications in the Azure/m365 environment. The tool is intended for use by incident responders, and focuses on the narrow scope of user and application activity endemic to identity and authentication based attacks seen recently in multiple sectors. It is neither comprehensive nor exhaustive of available data, and is intended to narrow a larger set of available investigation modules and telemetry to those specific to recent attacks on federated identity sources and applications.
Sparrow.ps1 will check and install the required PowerShell modules on the analysis machine, check the unified audit log in Azure/M365 for certain indicators of compromise (IoC's), list Azure AD domains, and check Azure service principals and their Microsoft Graph API permissions to identify potential malicious activity. The tool then outputs the data into multiple CSV files that are located in the user's default home directory in a folder called 'ExportDir' (ie: Desktop/ExportDir).
For more guidance on how to use Sparrow and Aviary, please see: https://us-cert.cisa.gov/ncas/alerts/aa21-008a
Requirements
The following AzureAD/m365 permissions are required to run Sparrow.ps1, and provide it read-only access to the Tenant.
Azure Active Directory:
Security Reader
Security and Compliance Center:
Compliance Administrator
Exchange Online Admin Center: Utilize a custom group for these specific permissions:
Mail Recipients
Security Group Creation and Membership
User options
View-Only Audit log
View-Only Configuration
View-Only Recipients
To check for the MailItemsAccessed Operation, your tenant organization requires an Office 365 or Microsoft 365 E5/G5 license.
Unified Audit Logs will need to be enabled.
Installation
Sparrow.ps1 does not require any extra steps for installation once the permissions detailed in Requirements are satisfied.
The function, Check-PSModules, will check to see if the three required PowerShell modules are installed on the system and if not, it will use the default PowerShell repository on the system to reach out and install. If the modules are present but not imported, the script will also import the missing modules so that they are ready for use.
If you have issues using the code, open an issue on the repository!
You can do this by clicking "Issues" at the top and clicking "New Issue" on the following page.
Contributing
We welcome contributions! Please see here for details.
License
This project is in the worldwide public domain.
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.
Legal Disclaimer
NOTICE
This software package (“software” or “code”) was created by the United States Government and is not subject to copyright. You may use, modify, or redistribute the code in any manner. However, you may not subsequently copyright the code as it is distributed. The United States Government makes no claim of copyright on the changes you effect, nor will it restrict your distribution of bona fide changes to the software. If you decide to update or redistribute the code, please include this notice with the code. Where relevant, we ask that you credit the Cybersecurity and Infrastructure Security Agency with the following statement: “Original code developed by the Cybersecurity and Infrastructure Security Agency (CISA), U.S. Department of Homeland Security.”
USE THIS SOFTWARE AT YOUR OWN RISK. THIS SOFTWARE COMES WITH NO WARRANTY, EITHER EXPRESS OR IMPLIED. THE UNITED STATES GOVERNMENT ASSUMES NO LIABILITY FOR THE USE OR MISUSE OF THIS SOFTWARE OR ITS DERIVATIVES.
THIS SOFTWARE IS OFFERED “AS-IS.” THE UNITED STATES GOVERNMENT WILL NOT INSTALL, REMOVE, OPERATE OR SUPPORT THIS SOFTWARE AT YOUR REQUEST. IF YOU ARE UNSURE OF HOW THIS SOFTWARE WILL INTERACT WITH YOUR SYSTEM, DO NOT USE IT.
No homepage URL was recorded for cisagov/Sparrow in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does cisagov/Sparrow have any tags?
TopGit's last sync did not record any GitHub topics for cisagov/Sparrow. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on cisagov/Sparrow?
The most recent commit recorded on cisagov/Sparrow was 3.8 years ago, based on the GitHub push timestamp. The repository has 186 forks — one of the better signals of community interest.
How many stars does cisagov/Sparrow have?
cisagov/Sparrow has 1.4k GitHub stars — refresh the page for the live number, or check github.com/cisagov/Sparrow. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is cisagov/Sparrow written in?
cisagov/Sparrow is written primarily in PowerShell. GitHub's language field is based on the largest share of bytes in the default branch.
What license does cisagov/Sparrow use?
cisagov/Sparrow is released under the CC0-1.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about cisagov/Sparrow?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/cisagov/Sparrow is the definitive source.
Read full README in the tab above.
Curious whether Sparrow is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about Sparrow.