Skip to content

TacitRed-IOC-CrowdStrike v3.0.1: Fix deployment errors and missing playbook template#13641

Merged
v-atulyadav merged 1 commit intoAzure:masterfrom
Data443:feature/tacitred-crowdstrike-v3.0.1
Feb 17, 2026
Merged

TacitRed-IOC-CrowdStrike v3.0.1: Fix deployment errors and missing playbook template#13641
v-atulyadav merged 1 commit intoAzure:masterfrom
Data443:feature/tacitred-crowdstrike-v3.0.1

Conversation

@mazamizo21
Copy link
Contributor

Summary

Fix three bugs preventing the TacitRed CrowdStrike IOC Automation playbook from deploying and appearing in Sentinel Automation.

Bugs Fixed

1. InvalidResourceLocation — location parameter in inner template

Inner template had location as a parameter with the concat trick defaultValue. Content Hub passes the literal string [resourceGroup().location] instead of evaluating it. 489/492 solutions use variables('workspace-location-inline') instead.

Fix: Remove location parameter, use existing variable.

2. Missing hidden-Sentinel tags — playbook template not visible

The Logic App resource was missing hidden-SentinelTemplateName and hidden-SentinelTemplateVersion tags. Sentinel uses these to discover playbook templates in the Automation > Playbook templates view. Without them, the template is invisible even though the solution shows as installed.

Fix: Add hidden-SentinelTemplateName: TacitRedToCrowdStrike and hidden-SentinelTemplateVersion: 1.0 tags.

3. TacitRed_Domain filter — unnecessary UI parameter

TacitRed_Domain was exposed in deployment wizard with domains[]= hardcoded in API URI. Playbook should fetch all findings by default.

Fix: Remove from all parameter locations and API URI.

Files Changed

File Change
Package/mainTemplate.json Remove location + domain params, add hidden tags, bump version
Playbooks/TacitRedToCrowdStrike_Playbook.json Remove domain param + filter from standalone
Data/Solution_TacitRedCrowdStrikeAutomation.json Version → 3.0.1
ReleaseNotes.md Add v3.0.1 entry
Package/3.0.1.zip New package (3.0.0 preserved)

…aybook template

- Remove non-standard 'location' parameter from inner template, use
  variables('workspace-location-inline') matching 489 other solutions
- Add missing hidden-SentinelTemplateName and hidden-SentinelTemplateVersion
  tags so playbook template appears in Sentinel Automation page
- Remove TacitRed_Domain parameter from deployment UI, Logic App params,
  and API URI — playbook now fetches all findings without domain filter
- Update standalone playbook template to match
- Bump version to 3.0.1
- Preserve 3.0.0 zip package
@mazamizo21 mazamizo21 requested review from a team as code owners February 17, 2026 01:43
@mazamizo21
Copy link
Contributor Author

Detailed Bug Report & Evidence

Issue Reported

After installing the TacitRed-IOC-CrowdStrike solution from Content Hub, the playbook template does not appear in Sentinel > Automation > Playbook templates. Searching for "TacitRedToCrowdStrike" returns "No results." The resource group shows no deployments, and the installation wizard never prompted for resource group or workspace selection.

Content Hub shows the solution as "Installed" with "Configuration needed" warning, but clicking Configuration navigates to an empty Automation page with no deployment wizard.


Root Cause Analysis

Bug 1: Missing hidden-SentinelTemplateName and hidden-SentinelTemplateVersion tags (PRIMARY)

This is why the playbook template is invisible. Sentinel uses these hidden tags on Microsoft.Logic/workflows resources to discover and display playbook templates in the Automation page. Without them, Sentinel cannot link the installed contentTemplate to the Playbook templates UI.

Survey of 482 solutions with playbook contentTemplates:

  • ✅ 330 solutions have all 3 hidden tags (hidden-SentinelTemplateName, hidden-SentinelTemplateVersion, hidden-SentinelWorkspaceId)
  • ⚠️ 152 solutions are missing TemplateName and/or TemplateVersion — many of these likely have the same invisible-template issue

Our CrowdStrike template only had hidden-SentinelWorkspaceId. Compare with a working solution (Cybersixgill):

// ✅ Working (Cybersixgill) — all 3 tags
"tags": {
  "hidden-SentinelTemplateName": "CybersixgillAlertStatusUpdate",
  "hidden-SentinelTemplateVersion": "1.0",
  "hidden-SentinelWorkspaceId": "[[variables('workspaceResourceId')]"
}

// ❌ Broken (CrowdStrike v3.0.0) — missing 2 tags
"tags": {
  "hidden-SentinelWorkspaceId": "[[variables('workspaceResourceId')]"
}

Fix: Added hidden-SentinelTemplateName: TacitRedToCrowdStrike and hidden-SentinelTemplateVersion: 1.0.


Bug 2: location parameter in inner template → InvalidResourceLocation

Inner template had location as a parameter with the concat trick default:

"location": { "type": "string", "defaultValue": "[concat('[resourceGroup().locatio', 'n]')]" }

Content Hub passes the literal string [resourceGroup().location] instead of evaluating it, causing InvalidResourceLocation errors on deployment.

Survey: 489/492 solutions with Playbook contentTemplates use variables('workspace-location-inline') instead of a location parameter.

Fix: Removed location parameter, Logic App now uses [[variables('workspace-location-inline')].


Bug 3: TacitRed_Domain parameter — unnecessary UI friction

TacitRed_Domain was exposed in the deployment wizard with domains[]= hardcoded in the API URI. This forces users to provide a domain filter value that most won't need. The playbook should fetch all findings by default.

Fix: Removed TacitRed_Domain from all parameter locations (inner template params, Logic App properties, workflow definition params) and cleaned the API URI to fetch all findings.


Changes Summary

File Change
Package/mainTemplate.json Remove location param, remove TacitRed_Domain param + filter, add hidden tags, bump to 3.0.1
Playbooks/TacitRedToCrowdStrike_Playbook.json Remove domain param + filter from standalone template
Data/Solution_TacitRedCrowdStrikeAutomation.json Version → 3.0.1
ReleaseNotes.md Add v3.0.1 entry
Package/3.0.1.zip New package (3.0.0.zip preserved)

mazamizo21 added a commit to Data443/Azure-Sentinel that referenced this pull request Feb 17, 2026
mazamizo21 added a commit to Data443/Azure-Sentinel that referenced this pull request Feb 17, 2026
@mazamizo21
Copy link
Contributor Author

Screenshots — Observed Bugs

Content Hub: Solution shows "Installed" with "Configuration needed"

Content Hub Installed

The solution appears installed (v3.0.0, 1 content item), playbook pb-tacitred-to-crowdstrike shows status "Installed" with ⚠️ Configuration needed. Clicking Configuration navigates to the Automation page instead of showing a deployment wizard — because the template is invisible.


Automation > Playbook Templates: Template not found

Playbook Templates Empty

Searching "TacitRedToCrowdStrike" in Playbook templates returns "No results." Root cause: missing hidden-SentinelTemplateName and hidden-SentinelTemplateVersion tags on the Logic App resource.


Active Playbooks: Empty — playbook never deployed

Active Playbooks Empty

No active playbooks found. Since the template is invisible, users cannot deploy it from the Configuration wizard.


Resource Group: No resources, no deployments

Resource Group Empty

CrowdStrike-Marketplace resource group shows 0 resources and 0 deployments. The installation never prompted for resource group selection because the hidden-Sentinel* tags were missing, preventing the Configuration wizard from launching.

@v-shukore v-shukore self-assigned this Feb 17, 2026
@v-shukore v-shukore added the Solution Solution specialty review needed label Feb 17, 2026
@v-atulyadav v-atulyadav merged commit 843888f into Azure:master Feb 17, 2026
33 checks passed
mazamizo21 added a commit to Data443/Azure-Sentinel that referenced this pull request Feb 26, 2026
…and deployment fixes

Changes from 3.0.0 to 3.0.1:
- Added hidden-SentinelTemplateName and hidden-SentinelTemplateVersion tags
  (without these, playbook template does not appear in Automation > Playbook templates)
- Fixed location parameter: removed hardcoded location, use workspace-location-inline
- Removed unused TacitRed_Domain parameter and URI filter
- Fixed solutionId to match Partner Center offer ID
- Updated API versions from future-dated 2025-09-01 to 2023-04-01-preview
- Updated publisher name to Data443 Risk Mitigation, Inc.

Note: PR Azure#13641 (v3.0.1) was previously merged but only included the Solution JSON —
the Package/mainTemplate.json and zip were not part of that merge. This PR adds them.
mazamizo21 added a commit to Data443/Azure-Sentinel that referenced this pull request Mar 2, 2026
…and deployment fixes

Changes from 3.0.0 to 3.0.1:
- Added hidden-SentinelTemplateName and hidden-SentinelTemplateVersion tags
  (without these, playbook template does not appear in Automation > Playbook templates)
- Fixed location parameter: removed hardcoded location, use workspace-location-inline
- Removed unused TacitRed_Domain parameter and URI filter
- Fixed solutionId to match Partner Center offer ID
- Updated API versions from future-dated 2025-09-01 to 2023-04-01-preview
- Updated publisher name to Data443 Risk Mitigation, Inc.

Note: PR Azure#13641 (v3.0.1) was previously merged but only included the Solution JSON —
the Package/mainTemplate.json and zip were not part of that merge. This PR adds them.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants