opentide

CrowdStrike Falcon (`platform::crowdstrike::1.0`)

`configurations.crowdstrike` is a CrowdStrike Falcon correlation rule. The detection text is the correlation filter. There is no query validator: `opentide validate query --platform crowdstrike` reports unsupported. CrowdStrike assigns the remote rule id; opentide stores it per tenant in [deployment state](../deploymen

Summary

configurations.crowdstrike is a CrowdStrike Falcon correlation rule. The detection text is the correlation filter. There is no query validator: opentide validate query --platform crowdstrike reports unsupported. CrowdStrike assigns the remote rule id; opentide stores it per tenant in deployment state.

Shared fields are defined in platforms. contributors on this block are joined into the update comment. When the list is empty, deploy uses metadata.author.

Requirements

  • Static validation MUST require details, schedule, and a non-blank query.
  • details.trigger and details.outcome MUST be present for validation. They are unconstrained strings at validation time.
  • schedule.frequency and schedule.lookback MUST be present for validation.
  • Deploy MUST reject outcome unless, after lowercasing, it is detection or incident.
  • Deploy MUST reject trigger unless, after lowercasing, it is verbose or summary.
  • Deploy MUST reject severity unless it is Informational, Low, Medium, High, or Critical.
  • The block MUST NOT contain rule_id_bundle, rule_id, or rule_id::<tenant>. Each fails external_id_in_rule (External rule ids).
  • schedule.start and schedule.end MAY be omitted. When set, they SHOULD be UTC timestamps YYYY-MM-DDTHH:MM:SSZ. An unquoted YAML timestamp MUST be rewritten to that form before it is sent.

Definition

Block

FieldTypeRequiredDefaultDescription
detailsCrowdstrikeDetailsyes—Correlation outcome, trigger mode, and alert metadata.
scheduleCrowdstrikeScheduleyes—How often the correlation search runs and how far it looks back.
querystringyes—Correlation filter. Multiline. Sent as the rule filter.

details (CrowdstrikeDetails)

FieldTypeRequiredDescription
triggerstringyesverbose or summary, any case. Deploy lowercases the value.
outcomestringyesdetection or incident, any case. Deploy lowercases the value.
namestringoptionalFalcon rule name. Deploy uses the Tide rule name when omitted.
descriptionstringoptionalFalcon description. Deploy uses the Tide rule description when omitted.
severitystringoptionalInformational, Low, Medium, High, or Critical. Deploy uses response.alert_severity when omitted.
tacticstringoptionalFalcon tactic. Sent as given.
techniquestringoptionalFalcon technique. Sent as given.

Severity is sent as an integer:

Tide severityFalcon severity
Informational10
Low30
Medium50
High70
Critical90

schedule (CrowdstrikeSchedule)

FieldTypeRequiredDescription
frequencystringyesRun interval. Deploy sends it as @every <frequency> (@every 1h).
lookbackstringyesHow far back each run searches. Sent as the search lookback.
startstringoptionalDo not run before this UTC time.
endstringoptionalStop running at this UTC time.

Deploy

The customer id is the tenant customer_id with the segment after the first hyphen removed, lowercased.

Block status strategyCrowdStrike result
DISABLEMENTUpdate the bound remote rule with Falcon status inactive; without a binding, report external_id_missing and make no HTTP call.
DELETIONDelete the bound remote rule and remove the binding after successful deletion; without a binding, report external_id_missing.
any otherFalcon status active. Update when a binding exists; otherwise create and durably record the returned id.

The binding is the tenant's entry under crowdstrike in .opentide/states/deployment/<uuid>.json, the create-response id verbatim. A create is refused when the shard directory is gitignored or the run cannot persist state. The decision order and codes are in deployment-state.md.

The rule comment records the contributors and that opentide performed the update.

Relationships

Defaults & overrides

FieldDefault
Name and descriptionTide rule name and description
Severityresponse.alert_severity
Comment authorscontributors, else metadata.author
Schedule definition@every plus frequency

Examples

configurations:
  crowdstrike:
    enabled: true
    schema: platform::crowdstrike::1.0
    status: STAGING
    query: |
      event_simpleName=ProcessRollup2 FileName=cmd.exe
    details:
      trigger: summary
      outcome: detection
      severity: High
      tactic: Execution
      technique: T1059
    schedule:
      frequency: 1h
      lookback: 2h
      start: "2026-04-15T19:00:00Z"

Fixture: fixtures/platforms/crowdstrike.yaml.

History

VersionDateNotes
1.02026-09-30Initial field contract from the CrowdStrike configuration model and deployer.
1.12026-10-16rule_id_bundle and the rule_id::<tenant> alias are removed and fail external_id_in_rule. Deploy reads and writes the Falcon rule id in deployment state. DISABLEMENT updates the bound rule as inactive and every other deployed strategy sends active, matching deployment.md; the note recording the reversed mapping is removed. DISABLEMENT and DELETION without a binding report external_id_missing (RFC 0010). Schema id unchanged.

On this page