Skip to content

feat: Cisco Secure Firewall SnortML GID411 and dual-signal corroboration samples - #1206

Open
AAH20 wants to merge 2 commits into
splunk:masterfrom
AAH20:feat/dual-signal-snortml-samples
Open

feat: Cisco Secure Firewall SnortML GID411 and dual-signal corroboration samples#1206
AAH20 wants to merge 2 commits into
splunk:masterfrom
AAH20:feat/dual-signal-snortml-samples

Conversation

@AAH20

@AAH20 AAH20 commented Aug 16, 2026

Copy link
Copy Markdown

Details

Adds unit-test datasets for dual-signal triage:

  • `intrusion_event_snortml/` — IntrusionEvent samples with `GeneratorID=411` (SnortML ML-only)
  • `dual_signal_corroboration/` — paired classic Snort intrusion + high EVE ConnectionEvent sharing `ConnectionID`

Supports ESCU detections proposed in splunk/security_content#4220

Notes

  • Synthetic / documentation-range IPs only
  • CLA: will confirm signature on the linked security_content issue before merge

Made with Cursor

…ion samples

Add unit-test datasets for ML-only (GeneratorID=411) intrusion events and
classic signature + high EVE pairs sharing ConnectionID.

Co-authored-by: Cursor <cursoragent@cursor.com>
@AAH20

AAH20 commented Aug 16, 2026

Copy link
Copy Markdown
Author

CLA: signed (same contributor as security_content #4221 / issue #4220).

@nasbench nasbench 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.

The log files have to be uploaded as lfs, and a corresponding yaml file needs to be provided. Please check out other entries in this repo for reference.
Here is the template for the YAML - https://github.com/splunk/attack_data/blob/master/datasets/TEMPLATE.yml

Also to me these seems like fake log. Were these generated by evidence forge?

Since I am seeing an EVE but no fingerprint for example, the URL field is missing for connection events, also the initiator port is reversed seeing that this is HTTP traffic.

This looks like slop to me :)

Addresses @nasbench's review on splunk#1206 -- every specific technical
point was correct, verified against this repo's own real
connection_event/connection_events.log (same author) as ground truth:

- InitiatorPort/ResponderPort were reversed on every entry. For
  client-to-server HTTPS, the initiator (client) uses a high ephemeral
  port and the responder (server) uses 443 -- these samples had it
  backwards, which is exactly the kind of tell that reveals
  unvalidated synthetic data.
- The ConnectionEvent was missing EVE_Fingerprint (the TLS ClientHello
  fingerprint Encrypted Visibility Engine detection is actually keyed
  on) and URL, both present on every real EVE-tagged connection event
  in this repo.
- Also added the SSL_* fields (CertFingerprint, CipherSuite,
  FlowStatus, Version, ServerCertStatus, ActualAction, ExpectedAction)
  and Ingress/EgressInterface+Zone that accompany EVE telemetry in the
  real reference file, rather than a partial fix.
- Replaced README.md with a proper dataset .yml (author/id/date/
  description/mitre_technique/datasets), matching the convention every
  other cisco_secure_firewall_threat_defense sibling dataset uses.
- Re-added the .log files through Git LFS per .gitattributes
  (datasets/**/*.log is LFS-tracked; they were previously committed as
  plain blobs).

Signed-off-by: aah20 <aah20@users.noreply.github.com>
@AAH20

AAH20 commented Aug 18, 2026

Copy link
Copy Markdown
Author

@nasbench Fair callout, and correct on every point — I checked each one against this repo's own real reference data (datasets/cisco_secure_firewall_threat_defense/connection_event/connection_events.log, which you authored) rather than taking your word for it, and confirmed:

  • Ports were reversed. InitiatorPort had 443 and ResponderPort had the high port — backwards for a client-initiated HTTPS connection. Fixed on every entry in both files (initiator now has the ephemeral port, responder has 443).
  • EVE_Fingerprint was missing despite the record claiming Encrypted Visibility Engine detection (ClientAppDetector: "Encrypted Visibility", EVE_Process). EVE detection is keyed on the TLS ClientHello fingerprint — a record can't claim EVE without one. Added, plus the SSL_* fields (CertFingerprint, CipherSuite, FlowStatus, Version, ServerCertStatus, ActualAction, ExpectedAction) that accompany it in every real EVE-tagged connection event in this repo.
  • URL was missing. Added.
  • LFS + YAML: the .log files were committed as plain blobs instead of going through LFS per .gitattributes, and there was no dataset .yml. Fixed — re-committed through LFS, added .yml metadata matching the convention every sibling cisco_secure_firewall_threat_defense dataset uses (I used react2shell.yml/static_tundra.yml as the template), removed the ad hoc README.mds.

On "slop" — you're right that it was. Reversed ports on synthetic data is exactly the kind of thing that only survives if nobody checked it against a real capture or a real reference in the same repo, and I hadn't. I have now, and the specific numbers above are why I'm not going to push back on the assessment. Ready for another look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants