-
Notifications
You must be signed in to change notification settings - Fork 71
Development Workflow
Osmany Montero edited this page Jan 16, 2026
·
1 revision
This guide outlines the standard process for creating and deploying new detection logic and parsing filters.
- Identify the Threat: Research the specific attack pattern (e.g., MITRE ATT&CK technique).
- Analyze the Logs: View sample logs in the UTMStack Log Explorer to identify unique identifiers for the threat.
-
Draft the YAML: Create a new rule file. Define metadata (
id,name,impact). -
Implement Conditions: Write the
whereexpression and define any requiredafterEventscorrelation. - Local Validation: Test the YAML syntax using a YAML linter.
- Deployment: Upload the rule to the rules directory of the EventProcessor.
- Simulation: Generate "attack" logs and verify that an alert is generated and properly deduplicated.
- Source Discovery: Identify a new log source (e.g., a new firewall brand).
- Schema Mapping: Map the raw log fields to the UTMStack Common Schema.
-
Pipeline Construction:
- Start with a
jsonorkvstep if the log is structured. - Use
grokfor unstructured strings. - Add
caststeps for types andrenamefor standardization.
- Start with a
-
Enrichment: Add
dynamicsteps for geolocation or TI lookups. -
Sanitization: Add a final
deletestep to remove the raw message. - Testing: Use the UTMStack Preview feature (if available) or deploy to a dev environment and check the "Log Explorer" to ensure fields appear correctly.
- Check Logs: Monitor the EventProcessor logs for "parsing error" or "rule evaluation failed" messages.
- Isolate: If a filter is failing, comment out steps one by one to find the culprit.
-
Validate Schema: Ensure that the types you
castto match the expected types in the rules (e.g., don't compare a string IP to a rule expecting a keyword).