Integrating Zeek With Third-Party Applications
Where
Talks
hack.lu 2025
Duration
31 min
Shows how external applications plug into a running Zeek cluster through events, APIs, storage and telemetry integrations.
Summary
Christian Kreibich, tech lead of the Zeek project, explains how external applications can be connected to a running Zeek deployment. He first outlines the architecture: packet parsing produces events, which a scripting layer processes, and the processes of a cluster exchange those events over publish-subscribe message buses. Any application that speaks websockets can join this bus through a port on the manager node, subscribe to topics, and publish events as if it were a Zeek process.
The middle of the talk covers integration patterns from real deployments. A large university used enrichment data, such as which department or Wi-Fi network an address range belongs to, to add context to its logs. Machine learning verdicts came back through paired events acting like remote procedure calls, and a host agent added user and application details to connection logs. Other examples included YARA file analysis fed by a job queue, blocking abusive hosts at a research lab, and threat indicator import from MISP. Older file-based frameworks and the database-backed storage framework were also covered.
The closing advice favours the event interface with the provided client libraries over the legacy Broker library, and a single websocket connection rather than many. The Q&A added that Zeek does not deduplicate traffic and that packet sampling at the tap removes the detail needed for parsing. The speaker invited developers building integrations to get in touch with the project.
Related talks
Talks·24 min
Peter Manev · Eric Leblond
Covers Suricata 8's new detection keywords, transactional rules, IOC context matching and firewall mode.
Talks·31 min
Christian Kreibich
Walks through recent Zeek releases, covering JavaScript scripting, Spicy parsers, faster runtime and a pluggable cluster backend.
Talks·24 min
Anje Knottnerus
Shows how simple statistics over endpoint logs can expose C2 beaconing on macOS using callback and jitter estimates.


