Skip to content

Consolidate Learning Mode analyzer coverage - #759

Open
Richie Gomez (richiemsft) wants to merge 4 commits into
mainfrom
consolidate-learning-mode-analyzer
Open

Consolidate Learning Mode analyzer coverage#759
Richie Gomez (richiemsft) wants to merge 4 commits into
mainfrom
consolidate-learning-mode-analyzer

Conversation

@richiemsft

@richiemsft Richie Gomez (richiemsft) commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📖 Description

Consolidates Learning Mode block and permissive-event analysis behind the canonical ETL analyzer.

  • centralizes the Event 27 UI-violation vocabulary and maps every current JOB_OBJECT_UILIMIT_* value;
  • makes block and allow traces use the same provider/event filtering and denial composition;
  • recovers capability denials from permissive Event 14 DACL ACEs, including the flattened TDH shape emitted by real V2 traces;
  • resolves capability SIDs to policy names while ignoring unrelated token-level CapabilitySid properties;
  • accepts only allowed ACEs with nonzero access masks and omits unidentified capability events.

🔗 References

🔍 Validation

  • cargo test -p learning_mode_windows --all-targets — 140 passed.
  • cargo fmt --all -- --check
  • cargo clippy -p learning_mode_windows --all-targets -- -D warnings

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task
Microsoft Reviewers: Open in CodeFlow

Centralize Event 27 UI vocabulary, cover every Job UI limit, and make block/allow composition tests provider-accurate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 52e48fee-23e1-4b05-803c-522812fcdda2
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 52e48fee-23e1-4b05-803c-522812fcdda2
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 52e48fee-23e1-4b05-803c-522812fcdda2
Copilot AI balanced review requested due to automatic review settings August 6, 2026 16:34
@richiemsft
Richie Gomez (richiemsft) requested a review from a team as a code owner August 6, 2026 16:34
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@richiemsft

Copy link
Copy Markdown
Contributor Author

@richiemsft

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Consolidates Learning Mode ETL analysis so block/permissive traces share the same canonical UI vocabulary and capability-denial extraction (including permissive Event 14 DACL-derived capability denials).

Changes:

  • Added a canonical UI violation vocabulary module and updated Learning Mode violation extraction to use it.
  • Extended TDH decoding to render binary properties as hex: strings and added capability recovery from permissive Event 14 DACL data.
  • Updated ETL analyzer composition/tests to include recovered capability denials and enforce provider/event vocabulary.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/backends/learning_mode/windows/src/ui.rs Introduces canonical Event 27 UI violation naming and tests.
src/backends/learning_mode/windows/src/tdh_decode.rs Adds TDH_INTYPE_BINARY formatting as hex: for downstream parsing.
src/backends/learning_mode/windows/src/lib.rs Registers new capability_dacl and ui modules on Windows.
src/backends/learning_mode/windows/src/extractors.rs Switches Event 27 parsing to numeric category/detail and canonical UI names; adds tests.
src/backends/learning_mode/windows/src/etl_decode.rs Composes DACL-derived capability denials alongside canonical extraction; updates tests/helpers.
src/backends/learning_mode/windows/src/capability_dacl.rs New module to recover capability denials from permissive Event 14 DACL/ACE data with tests.

Comment thread src/backends/learning_mode/windows/src/capability_dacl.rs
Comment thread src/backends/learning_mode/windows/src/capability_dacl.rs
Comment thread src/backends/learning_mode/windows/src/tdh_decode.rs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 52e48fee-23e1-4b05-803c-522812fcdda2
Copilot AI review requested due to automatic review settings August 6, 2026 17:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants