Skip to content

RFPD-77178: log ingestion api (v3.0) - #28

Closed
aommm wants to merge 74 commits into
feat/RFPD-77178-log-ingestion-apifrom
feat/RFPD-77178-log-ingestion-api-2
Closed

RFPD-77178: log ingestion api (v3.0)#28
aommm wants to merge 74 commits into
feat/RFPD-77178-log-ingestion-apifrom
feat/RFPD-77178-log-ingestion-api-2

Conversation

@aommm

@aommm aommm commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

TODO: Once Azure#14714 is merged, close this PR and open towards Microsoft instead

oshezaf and others added 28 commits June 13, 2026 21:55
…ategory taxonomy

Refresh all CSV outputs after merging master. Replace ~430 blanket is_published=true overrides with marketplace lookup-redirects (double-prefix fix, offerId filter-query fallback, pre-check lookup-key redirects). Adds category_primary taxonomy, ARM-expression table-name filter, and override-driven discovered-connector corrections. Net data: +7 solutions, +11 connectors.
…x SlashNext index drop)

Mapper now always emits an empty-table placeholder row when a connector resolves to zero tables (table_detection_failed, parser_tables_only, partial_parser_tables, no_table_definitions), instead of silently dropping the connector and its solution from the index. Restores SlashNext, which a v9.9 reported_table_exclusions override had reduced to zero tables.

Both doc generators (generate_connector_docs.py, generate_interactive_docs.py) now union-seed by_solution from solutions.csv so every solution is indexed even with no mapping rows (also covers deprecated solutions). Updated README v9.9 changelog and script-docs; regenerated CSVs.
…onnectors

- Extract table names from connectorUiConfig.dataTypes for standalone *_ConnectorDefinition.json files
- Establishes dataTypes as Priority 0 (authoritative) source above companion files and query analysis
- Fixes 24 CCF v3 connectors that previously reported zero tables despite having 90+ defined tables
- Primary impact: AlibabaCloudNetworkingConnector now correctly exports 3 tables (VPCFlowLogs, WAFLogs, APIGatewayLogs)
- Updated README.md v9.9 changelog with priority hierarchy details
- Regenerated sentinelninja connector docs with extracted table corrections
…'outputStream' fields

- Priority 2 DCR extraction now checks both standard 'streams' array and legacy 'outputStream' field
- Fixes missed tables in connectors using Azure DCR standard format (e.g., AlibabaCloudNetworking_DCR.json)
- Enables Priority 2 to properly extract 'Microsoft-Sentinel*' prefixed stream names from dataFlows
- Improves robustness for connectors that may only have DCR files without ConnectorDefinition.json
- AlibabaCloudNetworking now correctly extracts all 3 tables from dataTypes (Priority 0) regardless
- DCR table extraction now strips leading Sentinel token after Microsoft-/Custom- prefix normalization
- Supports stream forms like Microsoft-Sentinel<TableName> and maps to canonical table names
- Aligns DCR-derived tables with connector dataTypes for CCF connectors (Alibaba Cloud Networking now matches)
- Update mapper script-docs to document outputStream/streams handling and normalization behavior
- Add TABLE_SCHEMA_REFERENCES mapping for SecurityAlert, DnsEvents, DnsInventory, AMA_DNS
- Implement get_schema_references() function with table-specific and fallback logic
- Add 'Schema References' section to generated table documentation pages
- Include schema references in Table of Contents generation
- Update script documentation with configuration details
- Update version history to v9.10
Adds the HoneyLabs solution: honeypot-derived threat intelligence
ingested through the built-in Threat Intelligence - TAXII data
connector against the HoneyLabs TAXII 2.1 server. Includes a data
connector page with copyable configuration values, three TI-map
analytic rules (IP to CommonSecurityLog, IP to SigninLogs, URL to
CommonSecurityLog), and an incident enrichment playbook that comments
the full HoneyLabs verdict on IP entities. Package generated with the
V3 packaging tool.
DetectionTemplateSchemaValidation rejected the custom connectorId
HoneyLabsThreatIntelligenceTAXII in the analytic rules'
requiredDataConnectors (not in ValidConnectorIds.json). Indicators
arrive through the built-in ThreatIntelligenceTaxii connector, which
the rules already require, so the custom id is removed from all three.
SolutionValidations flagged bare 'Sentinel'; the connector description
now says 'Microsoft Sentinel'. Package regenerated.
…XII setup, and remove a false-positive source in the CommonSecurityLog rule

- Data connector: one server entry using the new combined 'all indicators'
  collection instead of two, dropping setup from 5 steps to 4.
- Workbook: feed health, confidence-band tuning, top source networks and
  countries, and matches in the customer's own logs ordered by evidence.
- CommonSecurityLog rule no longer matches IPs extracted from the free-text
  Message field, which produced false positives on incidental mentions.
- Indicators now carry graduated confidence and asn/country/type tags, so a
  SOC can pick an alerting threshold instead of muting the feed.
…aden SOC coverage

Microsoft's current guidance is that threat indicators live in the
ThreatIntelIndicators table, which is the basis for Analytics, Hunting and
Workbooks; the legacy ThreatIntelligenceIndicator table is on its way out. All
queries now target the new table, following the idiom used by shipped solutions.

- Four analytic rules (CommonSecurityLog, SigninLogs, URL, and a new ASIM
  _Im_NetworkSession rule so workspaces without CEF are covered).
- Three hunting queries: first contact with a high-evidence indicator, outbound
  contact with a loader/C2 URL, and one indicator spraying several hosts.
- Workbook: feed health, confidence-band tuning, top source networks and
  countries, and matches in the customer's own logs ordered by evidence.
- Indicators carry graduated Confidence (90 = 100+ observed attacks) and
  asn/country/type labels, so a SOC can set a threshold rather than mute the feed.
- Restores the analytic rules to the generated package: the previous
  regeneration silently dropped them because the packaging container lacked the
  powershell-yaml module, so every rule failed to deserialize.
- Connector now points at the attacker-IP collection: source addresses observed
  attacking the sensors, which is what the 30M-probe corpus is actually about.
  Malware infrastructure moves to an optional second entry; those URLs are a
  VirusTotal-enriched extraction from payloads, a smaller and different signal
  that was previously diluting the primary feed.
- Paid plans receive CVE probers through the same collection, each indicator
  labelled with the CVE ids that source went after. Workbook gains a
  most-probed-CVEs panel and a fourth hunting query cross-references those
  sources against your own logs, so patch prioritisation gets an in-the-wild
  signal rather than a vendor severity score.
- Playbook now only comments when HoneyLabs actually knows the address, tags the
  incident, and raises severity for a malicious verdict (the real verdict value;
  an earlier draft compared against a value the API never returns).
run-arm-ttk failed on CreateUIDefinition Must Not Have Blanks. The generated
workbook1 section carried label: null and options.text: null, because the
packaging tool had no title or description to render: the workbook was listed
in Solution_HoneyLabs.json but never registered in Workbooks/WorkbooksMetadata.json,
which is where the tool reads them from. GreyNoiseThreatIntelligence is
registered there, which is why the same section is populated in its package.

Adds the WorkbooksMetadata entry (logoFileName points at Logos/HoneyLabs.svg,
which already exists), gives the solution a WorkbookDescription the way other
solutions do, and fills the two null values in the generated
createUiDefinition.json to match.

Verified: no blank or null values remain anywhere in createUiDefinition.json,
and every mainTemplate parameter without a defaultValue is present in the UI
outputs, which is the second rule that failed.
… to ThreatIntelIndicators, and regenerate the V3 package bundle
…et/scope_name last-entry-wins bug in authorize events (v3.0.6)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f8374209-6203-4a25-ad41-5cd2c8c4f2e6
honeylabshq and others added 2 commits August 14, 2026 09:20
# Conflicts:
#	Workbooks/WorkbooksMetadata.json
Deploying the package into a live Sentinel workspace showed the playbook
content template registering as v1.0, not v1.0.0. The playbook's
azuredeploy.json carries no version field, so the packaging tool falls
back to 1.0. Match the release notes to what actually installs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ErikMangstenRecFut
ErikMangstenRecFut force-pushed the feat/RFPD-77178-log-ingestion-api branch from 405ad33 to 2d32fc6 Compare August 14, 2026 08:41
oshezaf and others added 25 commits August 14, 2026 02:38
… drop Git Trees API + index file

collect_table_info.py now flags categoryless Azure Monitor tables (e.g. ApiManagementGatewayLlmLog) via source_feature_support instead of the rate-limited GitHub Git Trees API, correcting the flag/link in-memory before writing tables_reference.csv. Removes fetch_azure_monitor_table_index(), the two Git Trees API constants, and the azure_monitor_tables_index.txt companion file. map_solutions_connectors_tables.py consumes the corrected flags directly. Proven equivalent (identical 919 Azure Monitor tables). CSVs/docs regenerated via full --force-refresh=all run.
…g-ingestion-api

Recorded Future Identity: Migrate from Data Collector API
New solution: HoneyLabs threat intelligence (TAXII)
Parameterize Recorded Future alert ID
* Update Cisco Umbrella solution to version 3.3.0

- Bump version number in Solution_CiscoUmbrella.json and mainTemplate.json to 3.3.0.
- Add new package 3.3.0.zip for the updated solution.
- Update data connector versions and descriptions to reflect changes in schema version 16.
- Enable Gzip decompression for all log streams.
- Introduce new columns: DestinationSgtOriginId and FwBlockReason in CiscoUmbrellaCloudFirewall, and IsolationProfileId in CiscoUmbrellaWebTraffic.
- Add connector instruction notes regarding optional headers and support for Cisco-managed/customer-managed Amazon S3 buckets.
- Update ReleaseNotes.md to document changes for version 3.3.0.

* Update Cisco Umbrella parser to version 1.0.4

- Incremented version to 1.0.4 and updated last modified date.
- Added 'IsolationProfileId' to the output of the Cisco Umbrella threat query.
- Enhanced Cisco Umbrella Cloud Firewall view by including 'DestinationSgtOriginId' and 'FwBlockReason' fields.
…-audit-connector

Add combined Datadog CCF connector
Co-authored-by: Srikar Shastry <Srikar.Sistla@microsoft.com>
Solutions Analyzer v9.11: parser, table discovery, and mapping accuracy
…ogleWS

Gighub Issue Fix Azure#14387 - Google Workspace Reports
Co-authored-by: Dhanunjaya Bedudooru <v-dhbedu@microsoft.com>
…ata-file

Cisco ASA: Update package version in data input file
They are anyway hardcoded within DCE/DCR, no need for params
@ErikMangstenRecFut
ErikMangstenRecFut force-pushed the feat/RFPD-77178-log-ingestion-api-2 branch from 28417f2 to 1f9f172 Compare August 19, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.