Skip to content

Add Wave 1-3 toolkit enhancements: workbook parser dependsOn, NRT/lookback defaults, local XDR validators, and lab ARM preflight - #5

Merged
oferInbar merged 5 commits into
Solution-toolkit-masterfrom
solution-toolkit-defender-wbs
Oct 14, 2026
Merged

oferInbar merged 5 commits into
Solution-toolkit-masterfrom
solution-toolkit-defender-wbs

Conversation

@oferInbar

Copy link
Copy Markdown
Owner

Required items, please complete

Change(s):

  • Emit and verify canonical parser dependsOn references ([variables('parserObject<N>')._parserId<N>]) for Defender Workbooks in common/defenderWorkbooks.ps1 and packaging.py.
  • Default hourly Sentinel rules (PT1H frequency and PT1H lookback) to the native 4-hour XDR lookback (PT4H) with eventTimeWindow provenance, map eligible single-table kind: NRT rules to schedule.frequency: "NRT", accept standard _-prefixed built-in ASIM parsers (_ASim_* and _Im_*) in both Custom Detections and Defender Workbooks, and inherit the solution release version in [3.1.0, 4.0.0) while preserving lexical source YAML version strings.
  • Add .script/local-validation/validate-xdr-content.py and integrate xdr-detection and xdr-workbook validators into .script/local-validation/validate.ts and build-and-validate.ps1 with explicit SKIP visibility.
  • Add consolidated batch review helpers (review-packet, consolidated-review-plan), focused next-blocker guidance (nextStepRecommendation, nextBlockerReview), predictable DD-MM-YYYY release-note dates (release_notes.py), default lab-deployment ARM validation preflight (X Sentinel rules, Y workbooks, and Z custom detections), qualification/export readiness audits, status reminders (workflow-status-reminder), single-owner execution leases (workflow-execution-owner), and explicit approval forwarding (workflow-forward-approval).

Reason for Change(s):

  • Deliver Wave 1-3 follow-up enhancements for the Sentinel-to-Defender-XDR V1 PREVIEW toolkit on Solution-toolkit-master.

Version Updated:

  • N/A (toolkit and local-validation infrastructure only; zero Solutions/ content files modified on this branch)

Testing Completed:

  • Yes
  • Full Python test suite:
    PYTHONPATH=Tools/SentinelToXDRMigration:Tools/SentinelToXDRMigration/tests /opt/anaconda3/bin/python3.12 -m pytest -q Tools/SentinelToXDRMigration/tests
    Result: passed (1471 passed, 9 skipped, 2 warnings in 485.37s)
  • PowerShell V3.1 Defender Workbook packaging & parser dependency tests:
    pwsh -NoProfile -Command "Invoke-Pester -Path 'Tools/SentinelToXDRMigration/tests/defenderWorkbooks.Tests.ps1'"
    Result: passed (25 passed, 0 failed)
  • Security review (security-review agent across 5de0ccd73ad299a59c0ef2572726bf1c82bdd0e5..1e883a9b54c31244d0e17466da2383bb9dfcbc49):
    Result: passed (0 vulnerabilities found)

Checked that the validations are passing and have addressed any issues that are present:

  • Yes

oferInbar and others added 5 commits October 14, 2026 21:18
…, validation, and CLI UX

- Emit canonical [variables('parserObject<N>')._parserId<N>] in Defender Workbook dependsOn and verify in packaging.py
- Default 1h (PT1H) Sentinel rules to native 4h (PT4H) XDR lookback with recorded eventTimeWindow provenance
- Map eligible kind: NRT rules to Continuous (NRT) Custom Detections and flag incompatible NRT queries for review
- Accept standard _-prefixed built-in ASIM parsers (_ASim_*, _Im_*) in Custom Detections and Defender Workbooks
- Inherit solution release version in [3.1.0, 4.0.0) and preserve lexical source YAML version text
- Add XDR Detection and Defender Workbook validators to .script/local-validation/ with explicit SKIP reporting
- Add consolidated review-packet CLI subcommand, nextStepRecommendation summaries, and DD-MM-YYYY default release-note dates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5d48e2ad-f67d-4314-b990-7eb2db60a695
…cution leases, and approval forwarding

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5d48e2ad-f67d-4314-b990-7eb2db60a695
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5d48e2ad-f67d-4314-b990-7eb2db60a695
…nge check in local validators

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5d48e2ad-f67d-4314-b990-7eb2db60a695
…tions

- Emit schedule.frequency: PT0S for eligible single-table Continuous (NRT) rules
- Normalize legacy schedule.frequency: NRT to PT0S in Graph payloads and V3.1 ARM packaging
- Verified against Microsoft.Security/detectionRules@2026-06-01-preview in live Azure deployment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5d48e2ad-f67d-4314-b990-7eb2db60a695
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.

1 participant