-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add Vaikora AI Agent Signals to SentinelOne — Microsoft Sentinel Solution v1.0.0 #13985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
f3ea143
c1fb7ee
15f845d
28cac8d
65bbf3f
f3fc74e
600f2e8
e59bd4e
c03ea78
60b0010
a94b17c
cf4bfa8
4127256
00ad837
1273f95
6082969
4ba4fce
e6ddcb4
07b43da
0e8026c
6d21c13
bbb0829
d963933
9b2146d
5697164
0fbecc2
39d2608
42dc29f
40e141a
d3acb2c
05f1397
17ef226
c60228d
c643360
2d3f7e2
50fe410
96ba480
6e6c492
372b96f
f97452d
1f12a86
1e6e258
d59d11d
7fb5d1e
0b71b0f
4891903
6209f5b
438556e
eef24d1
a4ceab5
8e2e3ec
ffbc10a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,14 @@ | ||||||||||
| { | ||||||||||
| "Name": "Vaikora-SentinelOne-ThreatIntelligence", | ||||||||||
| "Author": "Data443 Risk Mitigation, Inc. - support@data443.com", | ||||||||||
| "Logo": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Workbooks/Images/Logos/data443_logo.svg\" width=\"75px\" height=\"75px\">", | ||||||||||
| "Description": "The Vaikora SentinelOne Threat Intelligence solution polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.", | ||||||||||
|
||||||||||
| "Description": "The Vaikora SentinelOne Threat Intelligence solution polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.", | |
| "Description": "The Vaikora SentinelOne Threat Intelligence solution for Microsoft Sentinel polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.\n\n**Underlying Microsoft Technologies used:**\n\nThis solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\n\na. [Microsoft Sentinel Playbooks](https://learn.microsoft.com/azure/sentinel/automation/playbooks)\n\nb. [Azure Logic Apps](https://learn.microsoft.com/azure/logic-apps/logic-apps-overview)", |
Copilot
AI
Apr 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For solution data files, version 3.*.* must have "TemplateSpec": false. Also, the field name must be exactly "Is1PConnector" (capital “C”)—"Is1Pconnector" may be ignored by tooling. Set TemplateSpec to false and correct the property name to Is1PConnector.
| "TemplateSpec": true, | |
| "Is1Pconnector": false | |
| "TemplateSpec": false, | |
| "Is1PConnector": false |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,165 @@ | ||
| { | ||
| "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#", | ||
| "handler": "Microsoft.Azure.CreateUIDef", | ||
| "version": "0.1.2-preview", | ||
| "parameters": { | ||
| "config": { | ||
| "isWizard": false, | ||
| "basics": { | ||
| "description": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Workbooks/Images/Logos/data443_logo.svg\" width=\"75px\" height=\"75px\">\n\n**Note:** Please refer to the following before installing the solution: \n\n\u2022 Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/Vaikora-SentinelOne-ThreatIntelligence/ReleaseNotes.md)\n\n \u2022 There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe Vaikora SentinelOne Threat Intelligence solution polls the Vaikora AI Agent Security API for high-severity and anomaly agent actions, then pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.\n\n**Playbooks:** 1\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", | ||
| "subscription": { | ||
| "resourceProviders": [ | ||
| "Microsoft.OperationsManagement/solutions", | ||
| "Microsoft.OperationalInsights/workspaces/providers/alertRules", | ||
| "Microsoft.Insights/workbooks", | ||
| "Microsoft.Logic/workflows" | ||
| ] | ||
| }, | ||
| "location": { | ||
| "metadata": { | ||
| "hidden": "Hiding location, we get it from the log analytics workspace" | ||
| }, | ||
| "visible": false | ||
| }, | ||
| "resourceGroup": { | ||
| "allowExisting": true | ||
| } | ||
| } | ||
| }, | ||
| "basics": [ | ||
| { | ||
| "name": "getLAWorkspace", | ||
| "type": "Microsoft.Solutions.ArmApiControl", | ||
| "toolTip": "This filters by workspaces that exist in the Resource Group selected", | ||
| "condition": "[greater(length(resourceGroup().name),0)]", | ||
| "request": { | ||
| "method": "GET", | ||
| "path": "[concat(subscription().id,'/providers/Microsoft.OperationalInsights/workspaces?api-version=2020-08-01')]" | ||
| } | ||
| }, | ||
| { | ||
| "name": "workspace", | ||
| "type": "Microsoft.Common.DropDown", | ||
| "label": "Workspace", | ||
| "placeholder": "Select a workspace", | ||
| "toolTip": "This dropdown will list only workspace that exists in the Resource Group selected", | ||
| "constraints": { | ||
| "allowedValues": "[map(filter(basics('getLAWorkspace').value, (filter) => contains(toLower(filter.id), toLower(resourceGroup().name))), (item) => parse(concat('{\"label\":\"', item.name, '\",\"value\":\"', item.name, '\"}')))]", | ||
| "required": true | ||
| }, | ||
| "visible": true | ||
| } | ||
| ], | ||
| "steps": [ | ||
| { | ||
| "name": "playbooks", | ||
| "label": "Playbooks", | ||
| "subLabel": { | ||
| "preValidation": "Configure the playbooks", | ||
| "postValidation": "Done" | ||
| }, | ||
| "bladeTitle": "Playbooks", | ||
| "elements": [ | ||
| { | ||
| "name": "playbooks-text", | ||
| "type": "Microsoft.Common.TextBlock", | ||
| "options": { | ||
| "text": "This solution installs the Playbook templates to help implement your Security Orchestration, Automation and Response (SOAR) operations. After installing the solution, these will be deployed under Playbook Templates in the Automation blade in Microsoft Sentinel. They can be configured and managed from the Manage solution view in Content Hub." | ||
| } | ||
| }, | ||
| { | ||
| "name": "playbooks-link", | ||
| "type": "Microsoft.Common.TextBlock", | ||
| "options": { | ||
| "link": { | ||
| "label": "Learn more", | ||
| "uri": "https://docs.microsoft.com/azure/sentinel/tutorial-respond-threats-playbook?WT.mc_id=Portal-Microsoft_Azure_CreateUIDef" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "name": "VaikoraApiKey", | ||
| "type": "Microsoft.Common.PasswordBox", | ||
| "label": { | ||
| "password": "Vaikora API Key", | ||
| "confirmPassword": "Confirm Vaikora API Key" | ||
| }, | ||
| "toolTip": "The Vaikora API Key used for X-API-Key authentication when polling agent actions.", | ||
| "constraints": { | ||
| "required": true | ||
| }, | ||
| "options": { | ||
| "hideConfirmation": false | ||
| }, | ||
| "visible": true | ||
| }, | ||
| { | ||
| "name": "VaikoraAgentId", | ||
| "type": "Microsoft.Common.TextBox", | ||
| "label": "Vaikora Agent ID", | ||
| "defaultValue": "", | ||
| "toolTip": "The Vaikora Agent ID to poll for security actions.", | ||
| "constraints": { | ||
| "required": true, | ||
| "regex": "^[a-zA-Z0-9_-]+$", | ||
| "validationMessage": "Agent ID must contain only alphanumeric characters, hyphens, or underscores." | ||
| }, | ||
| "visible": true | ||
| }, | ||
| { | ||
| "name": "SentinelOne_BaseUrl", | ||
| "type": "Microsoft.Common.TextBox", | ||
| "label": "SentinelOne Console URL", | ||
| "defaultValue": "", | ||
| "toolTip": "Your SentinelOne console URL (e.g. https://usea1-021.sentinelone.net). Log in to SentinelOne and copy the URL from your browser address bar.", | ||
| "constraints": { | ||
| "required": true, | ||
| "regex": "^https://.*sentinelone\\.net$", | ||
| "validationMessage": "Enter the full SentinelOne console URL (e.g. https://usea1-021.sentinelone.net)." | ||
| }, | ||
| "visible": true | ||
| }, | ||
| { | ||
| "name": "SentinelOne_ApiToken", | ||
| "type": "Microsoft.Common.PasswordBox", | ||
| "label": { | ||
| "password": "SentinelOne API Token", | ||
| "confirmPassword": "Confirm SentinelOne API Token" | ||
| }, | ||
| "toolTip": "SentinelOne API Token for authenticating IOC push requests.", | ||
| "constraints": { | ||
| "required": true | ||
| }, | ||
| "options": { | ||
| "hideConfirmation": false | ||
| }, | ||
| "visible": true | ||
| }, | ||
| { | ||
| "name": "SentinelOne_AccountId", | ||
| "type": "Microsoft.Common.TextBox", | ||
| "label": "SentinelOne Account ID", | ||
| "defaultValue": "", | ||
| "toolTip": "SentinelOne Account ID. Required for all IOC push requests (filter.accountIds).", | ||
| "constraints": { | ||
| "required": true, | ||
| "regex": "^[0-9]+$", | ||
| "validationMessage": "Account ID must be numeric." | ||
| }, | ||
| "visible": true | ||
| } | ||
| ] | ||
| } | ||
| ], | ||
| "outputs": { | ||
| "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (filter) => and(contains(toLower(filter.id), toLower(resourceGroup().name)),equals(filter.name,basics('workspace')))), (item) => item.location))]", | ||
| "location": "[location()]", | ||
| "workspace": "[basics('workspace')]", | ||
| "VaikoraApiKey": "[steps('playbooks').VaikoraApiKey]", | ||
| "VaikoraAgentId": "[steps('playbooks').VaikoraAgentId]", | ||
| "SentinelOne_BaseUrl": "[steps('playbooks').SentinelOne_BaseUrl]", | ||
| "SentinelOne_ApiToken": "[steps('playbooks').SentinelOne_ApiToken]", | ||
| "SentinelOne_AccountId": "[steps('playbooks').SentinelOne_AccountId]" | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
Namefield must contain only alphanumeric characters and spaces. Update this to a display name likeVaikora SentinelOne Threat Intelligence(and keep the folder name independent if needed).