- PERSONA
- Wazuh / SOC Engineer
- CATEGORY
- Integration
- ENDPOINTS
- 3 used
- UPDATED
- April 2026
Alert enrichment for Wazuh
Raw alerts force manual lookup
- Hundreds of alerts/day, each with IPs or domains needing manual TI lookup.
- No native way for Wazuh to pull external reputation data into an alert before it reaches the analyst.
- Per-source TI integrations mean per-source keys, quotas, and script code — enough friction that most teams skip it entirely.
“Hundreds of alerts/day, each with IPs or domains needing manual TI lookup.”
The endpoints that solve it
Multi-source enrichment endpoint
Accepts an indicators[] array extracted from the Wazuh alert (srcip, dstip, domain, hash). Returns a normalized verdict aggregated across up to 11 integrated sources.
integratord integration
Standard Wazuh `<integration>` block in ossec.conf, optionally scoped to a rule group or minimum level, so you only enrich alerts that warrant a credit spend.
Active-response alternative
Same API call, but triggered as an active-response command on specific rule IDs — useful when you want enrichment only on narrowly scoped detections (e.g. malware-related rule group).
ossec.conf `<integration>` block + a small script
<!-- /var/ossec/etc/ossec.conf -->
<integration>
<name>custom-dfir-platform</name>
<hook_url>https://api.dfir-lab.ch/v1/enrichment/lookup</hook_url>
<api_key>REPLACE_WITH_DFIR_API_KEY</api_key>
<level>7</level>
<group>attacks,malware,ids</group>
<alert_format>json</alert_format>
</integration>- 01Step 01
Declare the integration
Add `<integration>` to ossec.conf scoped by `<level>` and `<group>` so only alerts worth enriching are forwarded to the API.
- 02Step 02
Drop in the script
`/var/ossec/integrations/custom-dfir-platform` — a small Python script that extracts observables, POSTs to /v1/enrichment/lookup with `Authorization: Bearer <api_key>`, and logs the enriched result.
Step-by-step walkthrough with configuration, error handling, and deployment notes.
Pricing that tracks your workload
- 01
Narrow scope — 30 high-level alerts/day, 1 IOC each
30 × 30 × 3 credits = 2,700 credits/monthProfessional ($99, 2,500 credits) with a small top-up. - 02
Typical SOC — 150 filtered alerts/day, 2 IOCs each
150 × 2 × 30 × 3 credits = 27,000 credits/monthEnterprise (custom) — or cache results per indicator with a TTL to cut API volume by 5–10x. - 03
Evaluation — narrow rule group, ~10 alerts/day
10 × 30 × 3 credits = 900 credits/monthStarter ($29, 500) covers about half a month; Professional for steady coverage.
Three ways to evaluate
Frequently asked
- Q / 01
- integratord for broad, alert-volume enrichment (filtered by `<level>` and `<group>`). Active-response for narrow, targeted enrichment tied to specific rule IDs. Many teams deploy both: integratord for the main pipeline, active-response for rules where the enriched result feeds an automated action.
- Q / 02
- Yes. The integration uses the standard integratord daemon shipped with Wazuh Manager 4.x. The article walks through ossec.conf placement, script permissions, and restart procedure.
- Q / 03
- Filter hard at the `<integration>` block — `<level>` and `<group>` cut out the long tail of low-value alerts. Cache enrichment results per indicator for 12–24 hours on disk to avoid re-hitting the API on repeat offenders.
- Q / 04
- Yes — the integration script can write a synthetic alert (or append a `data.dfir_platform` field) back into the Wazuh pipeline so the enrichment shows up alongside the original alert in the dashboard.
Other teams solving adjacent problems
Stop triaging by hand.
Create a free account — 100 credits per month, no credit card. Or keep browsing to find the use case that matches your workflow.