Skip to content

Add HoneyForge Threat Detection solution v1.0.0 - #14715

Merged
v-atulyadav merged 79 commits into
Azure:masterfrom
johndoebui:add-honeyforge-solution
Oct 22, 2026
Merged

v-atulyadav merged 79 commits into
Azure:masterfrom
johndoebui:add-honeyforge-solution

Conversation

@johndoebui

@johndoebui johndoebui commented Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

Change(s):

  • New solution: HoneyForge Threat Detection v1.0.0 — CEF/Syslog data connector, NRT analytic rule, ASIM NetworkSession parser, 5 hunting queries, operational workbook

Reason for Change(s):

  • New Content Hub solution from BUI for the HoneyForge hardware honeypot SaaS platform. Ingests deception sensor events via CEF syslog and provides out-of-the-box detection, hunting, and operational visibility content.

Version Updated:

  • 1.0.0 (new solution, initial submission)

Testing Completed:

  • Analytic rule KQL validated against CommonSecurityLog schema
  • ASIM parser validated against NetworkSession schema v0.2.6
  • ARM mainTemplate.json and createUiDefinition.json follow Content Hub V3 format
  • All 13 files included: connector, analytic rule, parser, 5 hunting queries, workbook, logo, solution metadata, ARM package

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

  • Package structure follows Content Hub V3 conventions
  • Publisher: BUI | Support: support@bui.co.za

@johndoebui
johndoebui requested review from a team as code owners July 20, 2026 12:19
@johndoebui

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="BUI"

@johndoebui

johndoebui commented Jul 20, 2026 via email

Copy link
Copy Markdown
Contributor Author

@johndoebui

johndoebui commented Jul 20, 2026 via email

Copy link
Copy Markdown
Contributor Author

@johndoebui

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="BUI"

@v-atulyadav
v-atulyadav requested a review from Copilot July 20, 2026 13:12
@v-atulyadav v-atulyadav added the New Solution For new Solutions which are new to Microsoft Sentinel label Jul 20, 2026

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

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new Microsoft Sentinel Content Hub solution (“HoneyForge Threat Detection” v1.0.0) to ingest HoneyForge CEF/Syslog events and provide out-of-box detections, hunting, parsing, and operational visibility.

Changes:

  • Introduces HoneyForge solution metadata, ARM package, and createUiDefinition for Content Hub V3 deployment.
  • Adds workbook content for operational visibility (overview/timeline/top sources/fleet health/severity/protocol/off-hours).
  • Adds an ASIM NetworkSession parser plus an NRT analytic rule and five hunting queries based on CommonSecurityLog.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
Solutions/HoneyForge/Workbooks/HoneyForge.json New operational workbook queries and visualizations for HoneyForge activity.
Solutions/HoneyForge/SolutionMetadata.json Defines the solution’s marketplace metadata, support info, and publish dates.
Solutions/HoneyForge/Parsers/HoneyForgeEvent.yaml Adds ASIM NetworkSession parser function HoneyForgeEvent.
Solutions/HoneyForge/Package/mainTemplate.json ARM template to deploy solution metadata + connector + rule + parser + queries + workbook.
Solutions/HoneyForge/Package/createUiDefinition.json Installer UX definition to select Log Analytics workspace for deployment.
Solutions/HoneyForge/Hunting Queries/HoneyForge_TopAttackingSources.yaml Hunting query to identify top attacking source IPs.
Solutions/HoneyForge/Hunting Queries/HoneyForge_RepeatedProbes.yaml Hunting query to find repeat probes separated into sessions.
Solutions/HoneyForge/Hunting Queries/HoneyForge_OffHoursActivity.yaml Hunting query for off-hours sensor activity.
Solutions/HoneyForge/Hunting Queries/HoneyForge_HighFrequency.yaml Hunting query for burst/high-frequency interactions.
Solutions/HoneyForge/Hunting Queries/HoneyForge_FleetCoverage.yaml Hunting query for per-sensor coverage/health.
Solutions/HoneyForge/Data Connectors/HoneyForge.json Data connector definition + instructions to forward CEF syslog via Linux forwarder.
Solutions/HoneyForge/Analytic Rules/HoneyForge_DeceptionSensorInteraction.yaml NRT analytic rule to alert on HoneyForge sensor interaction.

Comment thread Solutions/HoneyForge/Package/mainTemplate.json Outdated
Comment thread Solutions/HoneyForge/Package/mainTemplate.json Outdated
Comment thread Solutions/HoneyForge/Package/mainTemplate.json Outdated
Comment thread Solutions/HoneyForge/Package/mainTemplate.json Outdated
Comment thread Solutions/HoneyForge/Package/mainTemplate.json Outdated
Comment thread Solutions/HoneyForge/Workbooks/HoneyForge.json Outdated
Comment thread Solutions/HoneyForge/Workbooks/HoneyForge.json Outdated
Comment thread Solutions/HoneyForge/Package/createUiDefinition.json Outdated
Comment thread Solutions/HoneyForge/Parsers/HoneyForgeEvent.yaml Outdated
@v-shukore

Copy link
Copy Markdown
Contributor

Hi johndoebui, please check copilot review comments and implement if required also resolve branch conflicts. Thanks!

@johndoebui
johndoebui requested a review from a team as a code owner July 27, 2026 04:12
@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-shukore, thanks for the review!

Copilot comments: All 9 comments are showing as "Outdated" — the specific lines they referenced were updated in subsequent commits (33feecf and c816951). No further changes are required as the underlying issues were addressed (ARM resource names, workbook TimeRange parameter, createUiDefinition providers, and parser filter logic).

Branch conflicts: Resolved — merged upstream master into the branch (commit 192875a). ValidConnectorIds.json has been updated with both the upstream additions and our HoneyForge entry.

CI is running on the latest commit. Thanks!

@v-shukore

Copy link
Copy Markdown
Contributor

Hi johndoebui, I noticed you’ve created three new solutions. To keep things clear, please include only one solution in this PR and raise separate PRs for the other two. Also, when creating the new solutions, please create just one package with version 3.0.0 and commit the changes. Thanks!

@johndoebui
johndoebui force-pushed the add-honeyforge-solution branch from 84245cd to 63e39cd Compare August 5, 2026 05:09
@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-shukore, thanks for the feedback! I've addressed both points:

  • The branch has been cleaned up — this PR now contains only the HoneyForge solution (13 files, single commit). The other two solutions that were accidentally included have been removed.
  • The package version has been updated to 3.0.0 across SolutionMetadata.json and mainTemplate.json.

Please let me know if anything else needs adjusting. Thanks!

@johndoebui johndoebui closed this Aug 5, 2026
@johndoebui johndoebui reopened this Aug 5, 2026
@v-shukore

Copy link
Copy Markdown
Contributor

Hi johndoebui, please resolve branch conflicts. Thanks!

@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-shukore, branch conflicts resolved — merged latest upstream master into the branch. ValidConnectorIds.json now includes 340 entries (339 upstream + HoneyForge). No other conflicts. Please approve the workflow run when you get a chance. Thanks!

@v-shukore

Copy link
Copy Markdown
Contributor

Hi johndoebui,

please use the V3 tool to package this new solution and create a new package at version 3.0.0.
https://github.com/Azure/Azure-Sentinel/blob/master/Tools/Create-Azure-Sentinel-Solution/V3/README.md.

Please let us know which type of connector you are using for this solution. We would also be happy to help migrate your solution to CCF. To review the available options, please contact the Microsoft Sentinel Partners at AzureSentinelPartner@microsoft.com. If this connector is needed, please obtain approval from the azure app assure team by email and share the screenshot with us so we can proceed.

Thanks!

@johndoebui

Copy link
Copy Markdown
Contributor Author

ARM-TTK Validation Fixes

Addressed the 3 ARM-TTK failures from the "Arm-ttk Validations, Attempt #2" run:

1 & 2. IDs Should Be Derived From ResourceIDs (x2)

  • Root cause: CustomerID and SensorID keys in customDetails end in "ID", which ARM-TTK flags as resource ID fields with literal string values
  • Fix: Renamed keys to Customer and Sensor (values remain CustomerID/SensorID referencing the correct KQL columns)
  • Updated groupByCustomDetails references accordingly
  • Changed in both the analytic rule YAML source and mainTemplate.json

3. Template Should Not Contain Blanks

  • Root cause: groupByAlertDetails: [] at line 632 in mainTemplate — empty arrays are flagged; the entrypoint.ps1 only exempts blanks on requiredDataConnectors lines
  • Fix: Removed groupByAlertDetails: [] from both the YAML source and mainTemplate.json

Commits:

  • 48472a19 — Fix analytic rule YAML (customDetails keys + remove groupByAlertDetails)
  • 69794e8c — Fix mainTemplate.json (same changes)
  • 25b96eb0 — Rebuild Package.zip with updated mainTemplate.json

All three source changes were made in the YAML source file as required; Package.zip was rebuilt accordingly.

@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-maheshbh (@v-maheshbh),

All CI checks on the latest commit (25b96eb0) are now passing:

  • ✅ ARM-TTK - HoneyForge — passed (the 3 failures have been resolved)
  • ✅ SolutionValidations — passed
  • ✅ YamlFileValidation, ContentValidations, JsonFileValidation — all passed
  • ✅ All other checks — passed, neutral, or skipped

The ARM-TTK fixes (renaming CustomerID/SensorID customDetails keys and removing the empty groupByAlertDetails) were applied to both the source YAML and mainTemplate.json, with Package.zip rebuilt accordingly.

The PR is ready for your review and merge. Could you please proceed when you get a chance? Thank you!

@v-maheshbh

Copy link
Copy Markdown
Contributor

Hi johndoebui

image

This mapping is not correct
Kindly update the MITRE ATT&CK mapping by replacing LateralMovement with InitialAccess, as T1190 maps to InitialAccess.

image Kindly add the missing Reconnaissance tactic.

Thanks!

@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-maheshbh (@v-maheshbh), thank you for the review!

Both issues have been addressed:

  1. LateralMovement → InitialAccess: Replaced LateralMovement with InitialAccess in the tactics mapping for T1190 (Exploit Public-Facing Application) across both the analytic rule YAML and the package's mainTemplate.json.
  2. Reconnaissance tactic: Already present in the YAML; confirmed it is now correctly reflected in mainTemplate.json as well.

The package has been rebuilt and pushed. Please let me know if there is anything else to address.

@v-maheshbh

Copy link
Copy Markdown
Contributor

Hi johndoebui

As mentioned in the earlier review comments, changes to the main template are not recommended. Kindly make the required changes in the respective source files and repackage the solution accordingly.

Thanks!

@johndoebui

Copy link
Copy Markdown
Contributor Author

Hi v-maheshbh (@v-maheshbh), apologies for the earlier direct template edit — I've corrected the approach.

All MITRE ATT&CK fixes have been made in the respective source YAML files:

  • HoneyForge_DeceptionSensorInteraction.yaml (analytic rule) — tactics: Reconnaissance, InitialAccess (T1190 correctly mapped)
  • HoneyForge_HighFrequency.yaml — removed incorrect LateralMovement, now Reconnaissance only (T1595, T1590)
  • HoneyForge_OffHoursActivity.yaml — removed incorrect LateralMovement, now Reconnaissance only (T1595)
  • HoneyForge_FleetCoverage.yaml — added missing Reconnaissance tactic (was empty)

The solution has been repackaged accordingly. Please let me know if anything else needs attention.

Add the HoneyForge logo asset and set the solution version to 3.0.0.
Add the 3.0.0 archive and align package versions. Populate workbook metadata and dependencies, add MITRE technique mappings, and fix corrupted Unicode text. Update logo references to the shared Logos path and remove the solution-local SVG.
@v-maheshbh

v-maheshbh (v-maheshbh) commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Hi johndoebui

I have repackaged the solution with version 3.0.0. Kindly custom deploy the main template and provide the connector testing screenshots for validation.

image

Kindly ensure that the WorkbookMetadata changes are relevant to this solution only and remove any unrelated changes.
Thanks!

@johndoebui

johndoebui commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor Author

v-maheshbh (@v-maheshbh) Hi, here is the custom deployment validation as requested.

Deployment Validation

The HoneyForge ARM template (mainTemplate.json) was deployed successfully to the Microsoft Sentinel workspace using Azure Cloud Shell:

Deployment details:

  • Subscription: <subscription-name> ()
    • Resource Group: <resource-group>
    • Workspace: <workspace-name>
    • Region: West Europe
    • Template: mainTemplate.json v3.0.3
      Command used:
az deployment group create \
  --resource-group <resource-group> \
  --template-uri "https://raw.githubusercontent.com/johndoebui/Azure-Sentinel/add-honeyforge-solution/Solutions/HoneyForge/Package/mainTemplate.json" \
  --parameters workspace=<workspace-name> workspace-location=westeurope workbook1-name=HoneyForge

Result: provisioningState: "Succeeded" at 2026-10-19T10:53:48Z

Screenshot 1 — ARM Deployment Succeeded

(image: deployment-succeeded.jpg - see attached)

Screenshot 2 — HoneyForge Connector Listed in Data Connectors

(image: data-connector-listed.jpg - see attached)

Screenshot 3 — Connector Details Panel

(image: connector-details.jpg - see attached)

Screenshot 4 — Full Connector Configuration Page

(image: connector-page.jpg - see attached)


Connector validation confirmed:

  • Provider: BUI
    • Version: 1.0.0
    • Status: Visible in Data Connectors blade for workspace <workspace-name>
    • Content source: HoneyForge
    • Data connector type: GenericUI (DeviceVendor = "BUI", DeviceProduct = "HoneyForge")
      Please let me know if any additional validation is needed.
screenshot-1-deployment-succeeded screenshot-2-data-connector-listed screenshot-3-connector-details screenshot-4-connector-page

Originally posted by johndoebui in #14715 (comment)

@github-actions github-actions Bot added ISV Solution 3P / ISV Partner-authored or Partner-integrated Sentinel solution Solution Solution specialty review needed labels Oct 22, 2026
Relocate the black and white preview images to Workbooks/Images/Preview and normalize their file permissions.
@v-atulyadav
v-atulyadav merged commit c849c15 into Azure:master Oct 22, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ISV Solution 3P / ISV Partner-authored or Partner-integrated Sentinel solution New Solution For new Solutions which are new to Microsoft Sentinel Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants