Discover / Security
Zeek
by zeekC++
Powerful network analysis framework for security monitoring.
Maturity: stable because 14y old, v8.0.9 released 24d ago. Derived from release and commit history, not a rating.
- Stars
- 7.8k
- Forks
- 1.4k
- Downloads / mo
- —
- Last commit
- 2026-07-31
- License
- NOASSERTION
- Open issues
- 243
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · medium confidenceSignature only intrusion detection gives too little context about what actually happened on the monitored network.
Use it when
When you need deep protocol level logs and custom detection logic on a high performance monitored network.
Not the right pick when
Wrong pick if you want a drop in binary, since the README expects you to configure, make and install with all dependencies in place.
Capabilities
- analyzers for many protocols enabling application layer analysis
- domain specific scripting language for site specific monitoring policies
- targets high performance networks used at large sites
- keeps extensive application layer state and a high level activity archive
Requirements
- build dependencies in place before running ./configure && make
Cost: Free and open source
Video walkthroughs
Cybersecurity Tool for Network Analysis - Zeek
Zero to Zeek: Build a Network Sensor Fast and Easy w/ Troy Wojewoda
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v8.0.9
Published 2026-07-10
Thank you to Jan Grashöfer (@J-Gras), h4r4kIR1, Javid Khan (@dxbjavid), @jmestwa-coder,
and @uwezkhan for their contributions to this release.
This release fixes the following security issues:
- HIGH: The NVT, Rlogin, and RSH analyzers have received fixes to avoid unbounded state
growth. Due to the fact that these packets can be received from remote hosts, these are
considered DoS risks. The fixes include additional length-checking when processing
packets, as well as a new set of weirds for when the standard Content-Line limits are
exceeded.
- HIGH: A specially crafted WebSocket payload can cause the Spicy WebSocket analyzer to
use excessive memory when processing close, ping, and pong frames. Due to the fact that
these packets can be received from remote hosts, these are considered a DoS risk. The
fix caps the size of those frames as per RFC 6455 (to 125 bytes) and adds a new weird
for when that limit is exceeded.
- HIGH: A specially crafted series of Finger packets can cause the Spicy Finger analyzer
to use excessive amounts of memory and potentially crash Zeek. Due to the fact that
these packets can be received from remote hosts, this is considered a DoS risk. The fix
includes a new Finger::max_line_length script constant. Spicy will report protocol
violations if this limit is exceeded.
- HIGH: A specially crafted Kerberos packet can cause the Kerberos analyzer to enter an
invalid state and potentially crash Zeek. Due to the fact that these packets can be
received from remote hosts, this is considered a DoS risk. The fix includes additional
checks for the state reported by the Kerberos packets.
- HIGH: A specially crafted series of RDP packets can cause the RDP analyzer to use
excessive amounts of memory and potentially crash Zeek. Due to the fact that these
packets can be received from remote hosts, this is considered a DoS risk. The fix
includes a new rpc_max_pending_calls script constant. If this limit is exceeded, a
new rpc_discarded_pending_calls event is emitted and a weird is reported.
- HIGH: A specially crafted IP packet can cause the IP analyzer to read past the end of
the contents of the packet when emitting the packet_contents event and possibly
crash. Due to the fact that these packets can be received from remote hosts, this is
considered a DoS risk. The fix changes how Zeek checks the remaining length of the
packet when emitting the event. The packet_contents event typically isn't used in
production setups.
- HIGH: A specially crafted IP packet can cause the packet discarding code to read off the
end of the packet when looking for follow-on header data. This may potentially lead to a
crash of Zeek. Due to the fact that these packets can be received from remote hosts,
this is considered a DoS risk. Note that this only applies if the user enables the
discarder by implementing one of the discarder_check_* script functions. The fix
includes additional length checks to the IP_HDr::ToPktHdrVal method to skip looking
for additional headers if there isn’t enough data.
- HIGH: A specially crafted series of Gnutella packets may cause Zeek to continue
accumulating memory and eventually crash. Due to the fact that these packets can be
received from remote hosts, this is considered a DoS risk. Note that the Gnutella
analyzer is disabled by default. The fix includes new Gnutella::max_line_length and
Gnutella::max_header_length script constant values to control the maximum size of data
processed, as well as new weirds for when the limits are exceeded.
- MEDIUM: A specially crafted ICMPv6 packet can cause the ICMP analyzer to skip part of
the packet and not report corresponding events and logs. Due to the fact that these
packets can be received from remote hosts, this is considered an evasion risk. The fix
includes additional length-checking and five new weirds to c
Tags
README
<h1 align="center">
The Zeek Network Security Monitor
</h1><h4 align="center">
A powerful framework for network
traffic analysis and security monitoring.
_Key Features_ —
_Getting Started_ —
_Development_ —
_License_
</h4>
Key Features
- __In-depth Analysis__
Zeek ships with analyzers for many protocols, enabling high-level semantic
analysis at the application layer.
- __Adaptable and Flexible__
Zeek's domain-specific scripting language enables site-specific monitoring
policies and means that it is not restricted to any particular detection
approach.
- __Efficient__
Zeek targets high-performance networks and is used operationally at a variety
of large sites.
- __Highly Stateful__
Zeek keeps extensive application-layer state about the network it monitors
and provides a high-level archive of a network's activity.
Getting Started
The best place to find information about getting started with Zeek is
our web site www.zeek.org, specifically the
documentation section
there. On the web site you can also find downloads for stable
releases, tutorials on getting Zeek set up, and many other useful
resources.
You can find release notes in NEWS,
and a complete record of all changes in CHANGES.
To work with the most recent code from the development branch of Zeek,
clone the master git repository:
git clone --recursive https://github.com/zeek/zeek
With all dependencies
in place, build and install:
./configure && make && sudo make install
Write your first Zeek script:
# File "hello.zeek"
event zeek_init()
{
print "Hello World!";
}
And run it:
zeek hello.zeek
For learning more about the Zeek scripting
language, try.zeek.org is a great resource.
Development
Zeek is developed on GitHub by its community. We welcome
contributions. Working on an open source project like Zeek can be an
incredibly rewarding experience and, packet by packet, makes the
Internet a little safer. Today, as a result of countless
contributions, Zeek is used operationally around the world by major
companies and educational and scientific institutions alike for
securing their cyber infrastructure.
If you're interested in getting involved, we collect feature requests
and issues on GitHub here and
you might find
to be a good place to get started. More information on Zeek's
development can be found
here, and information
about its community and mailing lists (which are fairly active) can be
found here.
License
Zeek comes with a BSD license, allowing for free use with virtually no
restrictions. You can find it here.
Tooling
We use the following tooling to help discover issues to fix, amongst a number of
others.
- Clang-Tidy
- Coverity
- PVS-Studio - static analyzer for C, C++, C#, and Java code.