sentinel-xdr-dependency-helper
Skill6.2k starsChanged 16 days agoMITView on GitHub
Help authors review and fill XDR YAML workload and connector dependencies using exact-query Log Analytics lab metadata. Conversion remains offline.
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 7 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use workbook-review with --plan, --decisions, --plan-sha256, --actor, --reference, and a new run-local --output-dir to emit reviewed …
- Distinctive: line 20
Do not execute unresolved workbook parameters or reuse detection consent for workbook queries.
- Distinctive: line 23
Prefer modern connectors over deprecated alternatives only with reviewed recommendation/lifecycle evidence.
- Distinctive: line 43
Use this skill when YAML prerequisites are missing or uncertain, or when a user requests lab-assisted dependency validation.
- Very specific: line 59
Only independently reviewed mappings are built in.
- Distinctive: line 74
If that capability is absent or the provider fails, use the Azure CLI runner skill for the approved Log Analytics REST query:
- Distinctive: line 84
Use a run-local JSON body file, not shell interpolation of KQL.
- Distinctive: line 88
Do not fall back after a genuine KQL failure, partial result, auth failure from the direct provider, or any failed REST response.
- Distinctive: line 94
Keep raw successful metadata and provider/target evidence in ignored run-local files.
- Very specific: line 110
Never use response tables (output rows/schema) as input lineage.
- Very specific: line 136
After explicit approval, update only the detection YAML's contentProvenance.requiredWorkloads and contentProvenance.requiredDataConnectors, …
- Very specific: line 153
Do not add packageId/packageVersion/contentId/contentVersion to authored YAML.
- Very specific: line 158
Run offline validate, then repeat the imported lab comparison when applicable.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review detection dependency provenance
For workbook gaps, use the same explicit accept/change/defer experience with
individual query pointers and hashes. Workbook proposals/configuration are
separate from the detection-only dependency-plan command. Static/manual review
starts with workbook-dependency-plan --solution "<path>" --run-id "<run-id>".
Use workbook-review with --plan, --decisions, --plan-sha256, --actor,
--reference, and a new run-local --output-dir to emit reviewed conversion
configuration and a receipt. These commands do not edit source content or
authenticate. A reviewed removal request is a pending parser-change action,
not proof of an applied removal. convert --overwrite-workbooks can replace
unchanged hash-bound managed workbook drafts without authorizing detection
overwrites. Static/manual review
and explicitly approved lab metadata discovery are available in either profile.
Do not execute unresolved workbook parameters or reuse detection consent for
workbook queries. Show underlying data types, workload mappings, connector
alternatives, function prerequisites, and all remaining technical failures.
Prefer modern connectors over deprecated alternatives only with reviewed
recommendation/lifecycle evidence. Never require both by default.
Reviewed Sentinel workspace functions can be preserved for workbooks and AH,
not Custom Detections. Standard built-in ASIM parsers starting with _ (such
as _ASim_* and _Im_*) are accepted by Defender XDR Advanced Hunting and can
be used in both Custom Detections and Defender Workbooks; do not reject them as
unsupported workspace-saved functions. Keep exact packaged function-definition
hashes in contentProvenance.requiredWorkspaceFunctions; function aliases are
not tables.
_GetWatchlist is a supported built-in in Sentinel/AH; do not surface it as a
missing parser or add saved-search installation dependencies for it.
Watchlist is platform reference data, not a connector-fed telemetry data type.
Preserve raw lineage but exclude it from required workload/connector data types;
do not ask the user to choose a connector for it.
Required parsers must be installed before the workbook. Optional vendor branches
can remain unavailable with explicit warnings and incomplete coverage. Offer
keep/remove/defer; removal needs a scoped parser-change preview and approval,
not deletion of shared functions or automatic clearance of technical blockers.
Use this skill when YAML prerequisites are missing or uncertain, or when a user requests lab-assisted dependency validation. This is a validation helper, not deployment, ingestion, qualification, or permission to change toolkit code.
Offline proposal
Run sentinel-xdr-migration dependency-plan --solution "<solution-path>".
It reads the original Sentinel queries, converted queries, source connector
declarations, and current table mappings. It makes no Azure call and does not
modify YAML.
Conversion never requires Log Analytics authentication or availability.
Inspect each proposal and unresolved reason. The workload vocabulary is:
mde, mdo, mdi, mda, mdc, entraid, purview, appgovernance,
sentinel, mtp. These are toolkit telemetry prerequisites, not Graph
serviceSource values or a claimed public contentProvenance API enum.
Only independently reviewed mappings are built in. Do not copy private catalogs.
In particular, SecurityAlert does not establish a specific Defender product
or connector. Preserve authoritative source connector declarations.
Approved lab metadata
For Authoring or Qualification, ask for explicit bounded read-only approval covering the exact original queries, tenant, subscription, and lab workspace before executing them. Use the existing locked target in Qualification; Authoring requires an explicitly selected lab. Do not reinterpret existing Advanced Hunting consent as Sentinel-query permission. No authentication, permission changes, environment writes, or Qualification gates are authorized.
Inspect advertised official Sentinel Triage MCP tools first. Use one only if
it can request Prefer: include-dataSources=true and return input metadata.
If that capability is absent or the provider fails, use the Azure CLI runner
skill for the approved Log Analytics REST query:
POST https://api.loganalytics.io/v1/workspaces/<workspace-id>/query
Prefer: include-dataSources=true
Content-Type: application/json
{"query": "<exact sentinelQuery from dependency-plan>"}Use a run-local JSON body file, not shell interpolation of KQL. Run only against
the approved workspace with an already authenticated identity verified against
the approved tenant/subscription. Do not sign in automatically. Do not replace
the original query with getschema, add a time range, or otherwise change it.
Do not fall back after a genuine KQL failure, partial result, auth failure from
the direct provider, or any failed REST response. Record the failure explicitly.
The SDK source-validation runner also requests input metadata, but its existing Qualification target and consent gates remain unchanged.
Keep raw successful metadata and provider/target evidence in ignored run-local files. Normalize one result per detection:
{
"results": [{
"detection": "Example.yaml",
"status": "passed",
"workspaceId": "<approved workspace customer GUID>",
"querySha256": "<sentinelQuerySha256 from the plan>",
"dataSources": [{"tables": [{"name": "DeviceEvents"}]}],
"error": null
}]
}Never use response tables (output rows/schema) as input lineage. Import the
complete current family with:
sentinel-xdr-migration dependency-plan --solution "<solution-path>" --results "<metadata.json>" --workspace-id "<approved-workspace-id>"The backend accepts 1-10 distinct underlying tables. More than 10, or missing/
empty metadata from a successful query, triggers the conservative scanner.
It records the method, fallback reason, original table list and query hash.
It also scans the converted query for added table references and reports
targetDataTypes and targetDiscoveryMethod. Source API metadata is not a
claim that Graph returned input lineage for the converted query.
Malformed metadata and failed/stale/cross-workspace results are errors, not
successful empty dependency lists.
Review and YAML update
Present proposed records, fallback use, unknown mappings, and live comparison
errors. Ask the user to supply unresolved data types, workload mappings and
connectors. If nothing resolves, leave arrays empty and explicitly mark the
provenance dependencyReviewRequired: true; never describe it as verified.
Native XDR rules can legitimately have no Sentinel connector prerequisite.
Reviewed no-prerequisite arrays are valid; unknown empty arrays are not a
review decision.
After explicit approval, update only the detection YAML's
contentProvenance.requiredWorkloads and
contentProvenance.requiredDataConnectors, preserving source, conversion,
identities, versions, source rule bytes, tactics and disabled status. Clear
dependencyReviewRequired only after the missing information is reviewed.
Records have the following form:
contentProvenance:
requiredWorkloads:
- workload: mde
dataTypes: [DeviceEvents]
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
dataTypes: [DeviceEvents]Do not add packageId/packageVersion/contentId/contentVersion to authored YAML. Packaging derives them from solution metadata and the canonical detection identity/version. Dependencies belong to the full Content Hub record, not the lightweight deployed rule record.
Run offline validate, then repeat the imported lab comparison when applicable.
Retain evidence tied to the exact query and current declarations. YAML edits
invalidate previous package/validation evidence. Metadata verifies table
prerequisites, not connector installation or availability, alert parity,
marketplace registration, or public Graph support for contentProvenance.
Trending
More talk lately.about the whole repository
Who's talking about Azure/Azure-Sentinel
- @github-trending.bsky.social“📦 Azure / Azure-Sentinel ⭐ 4,774 (+3) 🗒 Python Cloud-native SIEM for intelligent security analytics for …”Bluesky · Feb 12, 2025 · 2 likes
- pulumi/pulumi-cloud-requests“Logs automated export into Azure Storage Account and/or Log Analytics Workspace”GitHub · Aug 9, 2024 · 2 reactions
- octocat/Spoon-Knife“**Describe the bug**”GitHub · Jun 11, 2022 · 2 reactions
- redaliscbe/Azure-Sentinel“Feature 1”GitHub · Jul 8, 2026 · 1 reactions
- Stack Overflow“How do I search through the in Sentinel Workbooks stored queries?”Stack Overflow · Aug 12, 2024 · 1 votes
The biggest 5 of 57 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 57
Talked about on GitHub, Stack Overflow and Bluesky (57 times).
On GitHub · 43
- Aug 9, 2024Logs automated export into Azure Storage Account and/or Log Analytics Workspace — pulumi/pulumi-cloud-requests2 reactions · 1 comment
- Jun 11, 2022**Describe the bug** — octocat/Spoon-Knife2 reactions
- Jul 8, 2026Feature 1 — redaliscbe/Azure-Sentinel1 reaction
- Dec 3, 2020Updat the Entity eum to include all the new types — wortell/AZSentinel1 reaction
- Oct 29, 2026Daily catalog: Iwatobi, SCuBA, AI scanning, and GCP detections — amcamillo/Cybersecurity_Tools0 reactions
38 more on GitHub
- Oct 15, 2026Support reviewed workbook updates with clean public artifacts and local audit evidence — oferInbar/Azure-Sentinel0 reactions
- Sep 28, 2026Mxdr 5375 v1 sentinel ccf multitenant — V1ManagedServices/Azure-Sentinel0 reactions
- Sep 22, 2026Main to master — idoshabi07/Azure-Sentinel0 reactions
- Sep 22, 2026Main — idoshabi07/Azure-Sentinel0 reactions
- Sep 15, 2026Release/3.75.0 — ccx-mss/Azure-Sentinel0 reactions
- Sep 14, 2026Release/3.75.0 — ccx-mss/Azure-Sentinel0 reactions · 1 comment
- Sep 9, 2026Create connector-builder-agent configuration — fuqing04/Azure-Sentinel0 reactions
- Aug 16, 2026Add dual-signal containment gate community plugin — Azure/Security-Copilot0 reactions
- Aug 16, 2026Add dual_signal_containment_gate custom function — phantomcyber/playbooks0 reactions
- Aug 10, 2026Semperis Lightning 4.1.0: merge CCF into existing offer (Function App + CCF) — MitchellGulledge3/Azure-Sentinel0 reactions · 5 comments
- Aug 10, 2026RFPD-77178: log ingestion api (v3.0) — recordedfuture/Azure-Sentinel0 reactions
- Jun 4, 2026Change api — adutt-commvault/Azure-Sentinel0 reactions
- May 21, 2026Update README with contribution guidelines and resources — vikorium/Azure-Sentinel0 reactions
- May 18, 2026Add weekly Azure Sentinel connector report workflow — fuqing04/sentinel-agent-runner0 reactions
- Mar 17, 2026Feat sar 46819 — sonraisecurity/Azure-Sentinel0 reactions
- Feb 27, 2026Update requirements.txt — daneshelias01/Azure-Sentinel0 reactions
- Jan 20, 2026test — BC-47/Azure-Sentinel0 reactions
- Jan 16, 2026Add new entry to ExclusionListForASimTests.csv — v-sabiraj/Azure-Sentinel0 reactions
- Mar 13, 2025Create Cholitas — GravityFallsInc/GravityFalls_Sentinel0 reactions
- Sep 10, 2024Patch-1 — mpmisha/Azure-Sentinel0 reactions
- Jul 11, 2024 - added metadata tags to incident description — synack/Azure-Sentinel0 reactions
- Jan 12, 2024Added local changes for test — SmitR01/Azure-Sentinel0 reactions
- Nov 9, 2023Create dsdsadasda — aviatam/Azure-Sentinel0 reactions · 1 comment
- Aug 24, 2023Praveenthepro patch 1 1 — praveenthepro/Azure-Sentinel0 reactions
- Jul 31, 2023seraphic security connector — LihiAtzmoni1/Azure-Sentinel0 reactions · 1 comment
- Jun 1, 2023Automation test — cohesity/Azure-Sentinel0 reactions
- May 4, 2023Just a demo branch to show right structure of the installation and co… — cohesity/Azure-Sentinel0 reactions
- Dec 6, 2022Cmmc2.0 — cwling75/AzureSentinel0 reactions
- Dec 2, 2022Just initialize this new branch for Cohesity internal collaboration/r… — cohesity/Azure-Sentinel0 reactions · 4 comments
- Aug 5, 2022Create intrigus-lgtm.txt — intrigus-lgtm/Azure-Sentinel0 reactions
- Jun 7, 2022Yaronfr/log4j 1 — qusaiismail/Sentinel0 reactions
- May 30, 2022test new script — sivanguetta/Azure-Sentinel0 reactions · 1 comment
- May 30, 2022test — sivanguetta/Azure-Sentinel0 reactions · 1 comment
- May 26, 2022Run ASIM testers on 'eco-connector-test' workspace — sivanguetta/Azure-Sentinel0 reactions · 1 comment
- May 19, 2022Run ASIM testers on 'eco-connector-test' workspace — sivanguetta/Azure-Sentinel0 reactions · 1 comment
- May 2, 2022[Asim] test kqlFuncYaml2Arm on ASimProcessEvent folder — sivanguetta/Azure-Sentinel0 reactions · 1 comment
- Apr 26, 2022Test GitHub action that generates ARM templates from KQL — sivanguetta/Azure-Sentinel0 reactions
- Feb 14, 2022Google Workspace connector: Don't use pickle — r4vi/Azure-Sentinel0 reactions
On Stack Overflow · 13
- Aug 12, 2024How do I search through the in Sentinel Workbooks stored queries?1 vote
- Apr 3, 2019Azure log analytics: monitoring successful sign-ins following repeated sign-in failures1 vote
- Sep 29, 2024KQL for exfiltration of files/data ...almost there but slightly wrong0 votes · 1 answer
- Aug 8, 2024How do I search through the in Sentinel Workbooks stored queries?0 votes
- May 1, 2024Trying to set Azure Activity Log from Tenant Root(all subscriptions) getting Resource Provider Error0 votes · 1 answer
8 more on Stack Overflow
- Apr 11, 2024Azure Sentinel Incident Trigger in Logic Apps Automation Delay0 votes
- Nov 17, 2023Need Assistance with collecting O365 Audit Logs with function app and directing them to Event Hub0 votes · 1 answer
- Oct 21, 2022Azure Sentinel Sample data CSV0 votes · 1 answer
- Oct 12, 2022AZURE sentinel query to log off Azure remote session for user0 votes
- Feb 4, 2022Integration issues with Microsoft Sentinel and ServiceNow and Get Etag0 votes
- Dec 13, 2021How to detect when a security incident occurs0 votes
- Jul 1, 2021Download multiple file from GitHub public repos without git0 votes
- Feb 13, 2020Creating a Pull Request in Azure sentinel Repository0 votes · 1 answer
On Bluesky · 1
- Feb 12, 2025📦 Azure / Azure-Sentinel ⭐ 4,774 (+3) 🗒 Python Cloud-native SIEM for intelligent security analytics for your entire enterprise. — @github-trending.bsky.social2 likes and reposts
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- Tools/Microsoft-Sentinel-Classic-CLv1-Tables-Impact-Assessment/.github/copilot-instructions.mdCopilot instructions
- .cursor/rules/sentinel-xdr-migration.mdcCursor rule
- sentinel-xdr-migrationSkill
- asim-parser-create-parameter-parserSkill
- asim-parser-create-parserSkill
- asim-parser-creator-orchestratorSkill
- asim-parser-filter-validatorSkill
- asim-parser-github-pr-packagerSkill
- asim-parser-la-deployerSkill
- asim-parser-pr-reviewerSkill
- asim-parser-user-prompterSkill
- asim-parser-validatorSkill
- az-cli-command-runnerSkill
- azure-monitor-logs-ingestionSkill
- log-analytics-workspace-queryerSkill
- run-solution-analyzerSkill
- sentinel-solution-mock-data-generationSkill
- sentinel-solution-optional-testingSkill
- sentinel-xdr-alert-parity-validatorSkill
- sentinel-xdr-detection-validatorSkill
- sentinel-xdr-end-to-end-orchestratorSkill
- sentinel-xdr-migration-orchestratorSkill
- sentinel-xdr-rule-converterSkill
- sentinel-xdr-solution-deployerSkill
- sentinel-xdr-solution-packagerSkill
- solution-release-notes-updaterSkill
- update-solution-analyzerSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

