Skip to content

v2.2 Release - Exposure Management, TI Update and more#181

Merged
piaudonn merged 46 commits intomainfrom
build_v2.1_update1
May 16, 2025
Merged

v2.2 Release - Exposure Management, TI Update and more#181
piaudonn merged 46 commits intomainfrom
build_v2.1_update1

Conversation

@briandelmsft
Copy link
Copy Markdown
Owner

@briandelmsft briandelmsft commented Apr 22, 2025

briandelmsft and others added 30 commits February 18, 2025 09:43
Adding friendly error to base module body input errors
Exposure Management - Initial Feedback
Minor bug fixes with on prem only accounts, comment cleanup
Exposure comments cleanup, test cases
Adding entities to output with no path found
@briandelmsft briandelmsft requested a review from Copilot April 22, 2025 19:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR is a major release update (v2.2) focused on improving exposure management, enhancing the Threat Intelligence (TI) functionality, and migrating the TI module to new table formats while also deprecating the MDCA module. Key changes include:

  • Addition of new tests and modules for user and device exposure.
  • Updates to TI module queries and related alerts processing.
  • Removal/deprecation of MDCA endpoint support across various modules.

Reviewed Changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/test_stat_exposure.py New tests for user and device exposure modules added.
tests/test_rest.py Deprecated MDCA endpoint tests commented out.
tests/test_data.py Additional tests for new data helper functions added.
shared/rest.py MDCA endpoint and related token logic now commented out.
shared/data.py New helper functions (list_to_string, parse_kv_string) added.
modules/* Updates for exposure, TI, UEBA and related alerts modules.
modules/mdca.py MDCA module deprecation message updated.
modules/base.py Updated EntitiesCount and IP enrichment logic.
classes/init.py New properties for on-premises account data added.
Files not reviewed (1)
  • modules/version.json: Language not supported
Comments suppressed due to low confidence (1)

modules/base.py:551

  • The word 'depreation' is misspelled. It should be 'deprecation'.
self.Warning = "The Sentinel Triage AssistanT's (STAT) Microsoft Defender for Cloud Apps module has been deprecated. This is due to Microsoft's depreation of the MDCA investigation score. Please remove the MDCA module from your STAT Analysis."

Comment thread modules/mdca.py
@briandelmsft briandelmsft marked this pull request as ready for review April 22, 2025 20:02
@briandelmsft briandelmsft requested a review from piaudonn April 22, 2025 20:02
@piaudonn
Copy link
Copy Markdown
Collaborator

piaudonn commented Apr 23, 2025

While we are at it,

| where Parameters has_any (IDs) or UserId in~ (UPNs)
has an issue with unresolved entities. When IDs is a table of one empty string, it makes the query match all operations.

perhaps using this logic to avoid getting record when all IDs are empty

...   
| extend FilterIDs = IDs   
| mv-apply FilterIDs on ( where isnotempty(FilterIDs) )   
| where Parameters has_any (IDs) or UserId in~ (UPNs)   
...   

@briandelmsft
Copy link
Copy Markdown
Owner Author

@piaudonn good catch, I fixed it higher up in the KQL query:

let UPNs = accountEntities | where isnotempty(UserPrincipalName) | project UserPrincipalName;
let IDs = accountEntities | where isnotempty(AADUserId) | project AADUserId;

@briandelmsft
Copy link
Copy Markdown
Owner Author

briandelmsft commented Apr 30, 2025

@piaudonn the exposure modules will need an update due to the deprecation of the dot notation for variable length edges.

https://techcommunity.microsoft.com/blog/azuredataexplorer/deprecation-of-variable-length-edge-dot-notation-in-graph-match/4399470

#182

@briandelmsft
Copy link
Copy Markdown
Owner Author

This now also fixes #182

@briandelmsft
Copy link
Copy Markdown
Owner Author

@piaudonn I made an update to add the criticality rules that matched to the incident tags, also small update to the file module to add hyperlinks to the file page in security.microsoft.com

@briandelmsft briandelmsft requested a review from Copilot May 6, 2025 17:14
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request implements several new features and updates around exposure management, threat intelligence queries, and related modules while deprecating support for the MDCA module. Key changes include new tests for the data parsing functions, modifications to REST endpoint handling to drop MDCA support, and several updates to the BaseModule and related exposure modules to support unsynced entities.

Reviewed Changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_data.py New tests added for list-to-string and key-value parsing.
shared/rest.py Removed MDCA endpoint and adjusted token caching logic.
shared/data.py Updated utility functions with new parameters and features.
shared/coordinator.py Extended module initiations with new exposure modules.
modules/* Updated various modules (watchlist, ueba, ti, etc.) to support unsynced entity enrichment; MDCA deprecation message updated.
modules/files/*.kql New KQL queries for exposure-user and exposure-device analysis.
modules/base.py Several changes to IP enrichment, account enrichment, and inclusion of unsynced accounts.
debug/debug.py Extended debug functionality to support incident comment debugging.
classes/init.py Expanded BaseModule initialization and added new exposure module classes.
Files not reviewed (1)
  • modules/version.json: Language not supported

Comment thread shared/data.py
Comment thread modules/base.py
@piaudonn piaudonn merged commit 079600d into main May 16, 2025
3 checks passed
@piaudonn piaudonn deleted the build_v2.1_update1 branch May 16, 2025 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment