Zeek

zeek.org
Zeek

Zeek (formally Bro) Passively monitors network traffic and looks for suspicious activity.

Open Source

Zeek Source Code

Author

zeek

Description

Zeek is a powerful network analysis framework that is much different from the typical IDS you may know.

#bro#dfir#ndr#network-monitoring#nsm#pcap#security#zeek

Homepage

https://www.zeek.org

Repository

  • LicenseOther
  • Created06 Jul 12
  • Primary languageC++
  • Size282,943 KB
  • Stars7,932
  • Forks1,408
  • Watchers7,932

Language Usage

Language Usage

Project Health

  • Last commit5 days ago
  • Open issues249
  • Latest releasev9.1.0-dev

Recent Commits

  • Arne Welzel(03 Sept 26)

    Merge remote-tracking branch 'origin/topic/awelzel/5795-ldap-del-abandon-fix' * origin/topic/awelzel/5795-ldap-del-abandon-fix: btest/Traces: Use Scapy for new ldap generator scripts ldap: Fix DelRequest using implicit tagging ldap: Fix AbandonRequest using implicit tagging

  • Evan Typanski(02 Sept 26)

    Merge branch 'topic/jumptoskyfree/gh-5825-vector-oob-write' of https://github.com/jumptoskyfree/zeek * 'topic/jumptoskyfree/gh-5825-vector-oob-write' of https://github.com/jumptoskyfree/zeek: vector: Fix OOB assignment leading to crash in VectorVal::Assign

  • JumpToSkyFree(28 Aug 26)

    vector: Fix OOB assignment leading to crash in VectorVal::Assign vector: Fix OOB assignment in detail::copy_vec_elem

  • Benjamin Bannier(02 Sept 26)

    Merge branch 'topic/bbannier/docker-multistage'

  • Benjamin Bannier(11 Aug 26)

    Use regular Dockerfile instead of shell-orchestrated build pipeline We previously used a rather complicated setup of building multiple Docker images, all orchestrated by a `Makefile`. This seems to have been done to be able to use ccache when building the images in CI. At the same time, this made local running without the `Makefile` hard and pretty obscure (e.g., exact sequence of shell commands required, but `docker` hardcoded in `Makefile` and little regard for existing tags or tag pollution). This patch replaces what we have with a less unusual setup where on can directly invoke e.g., `docker build -f docker/Dockerfile ...` to produce a working container image. The only feature we loose is reliable caching of compiler artifacts in CI, but we keep that functionality for local runs by using a layer cache. Given that we only rebuild the Docker image for merges to `master` this seems an acceptable trade-off to me, especially since the local workflow becomes less awkward. Other than caching this should produce identical images.

  • Arne Welzel(01 Sept 26)

    Merge remote-tracking branch 'origin/topic/awelzel/minor-btest-broker-remote-id-fixup' * origin/topic/awelzel/minor-btest-broker-remote-id-fixup: btest/broker/remote_id: Remove Broker::PEER_UNAVAILABLE errors from stderr

  • Arne Welzel(01 Sept 26)

    Merge branch 'topic/dmodium-corelight/fix-readerfrontend-fmt-reentrancy' of https://github.com/dmodium-corelight/zeek * 'topic/dmodium-corelight/fix-readerfrontend-fmt-reentrancy' of https://github.com/dmodium-corelight/zeek: Modernize ReaderFrontend::name to std::string

  • Arne Welzel(01 Sept 26)

    btest/Traces: Use Scapy for new ldap generator scripts This was done by Opus 4.8. There's a Scapy API for LDAP, but it said the Abandon and Delete requests didn't work out.

  • Arne Welzel(01 Sept 26)

    ldap: Fix DelRequest using implicit tagging Similar to AbandonRequest, the DelRequest directly contains the LDAPDN octetstring. PCAP generator script taken from #5795 directly.

  • Arne Welzel(01 Sept 26)

    ldap: Fix AbandonRequest using implicit tagging The integer is encoded directly within an AbandonRequest. The included messageId is at most 4 bytes long (32 bit). PCAP generator script taken from #5795 directly.

  • Devendra Modium(24 Aug 26)

    Modernize ReaderFrontend::name to std::string Replace the raw char* name member with std::string, removing the manual copy_string/delete[] lifecycle and the dependency on util::fmt()'s static buffer.

  • Arne Welzel(01 Sept 26)

    btest/broker/remote_id: Remove Broker::PEER_UNAVAILABLE errors from stderr When sender peers too early, it produces the following output on stderr: Broker error (Broker::PEER_UNAVAILABLE): (00000000-0000-0000-0000-000000000000, *127.0.0.1:1618, "unable to connect to remote peer") Remove it via TEST_DIFF_CANONIFIER from stderr as done elsewhere.

  • zeek-bot(01 Sept 26)

    Docs: Regenerated via GitHub workflow [nomail] [skip ci]

  • Tim Wojtulewicz(31 Aug 26)

    Merge remote-tracking branch 'origin/topic/timw/clarify-ai-assisted-contribution-guidance' * origin/topic/timw/clarify-ai-assisted-contribution-guidance: Clarify AI-assisted contribution guidance

  • Tim Wojtulewicz(27 Aug 26)

    Clarify AI-assisted contribution guidance

  • Tim Wojtulewicz(31 Aug 26)

    Merge remote-tracking branch 'origin/topic/timw/document-security-model' * origin/topic/timw/document-security-model: Document Zeek security model GHCI: Skip builds for branches on changing Markdown files and NEWS

  • kyle-elliott-tob(31 Jul 26)

    Document Zeek security model

  • Tim Wojtulewicz(26 Aug 26)

    GHCI: Skip builds for branches on changing Markdown files and NEWS

  • Arne Welzel(31 Aug 26)

    Merge remote-tracking branch 'origin/topic/awelzel/dict-too-far-to-reach-include-call-stack' * origin/topic/awelzel/dict-too-far-to-reach-include-call-stack: Func/render_call_stack: Avoid null dereferences for global statements Dict: Switch location info to get_current_script_location() or no_location Dict: Include better location info for distance-too-far error Func/render_call_stack: Support skipping args rendering Func: Add get_current_script_location()

  • Arne Welzel(31 Aug 26)

    Func/render_call_stack: Avoid null dereferences for global statements Frame might not have a valid function during execution of global global / top-level statements.

  • Evan Typanski(31 Aug 26)

    Merge remote-tracking branch 'origin/topic/etyp/delay-test-fix' * origin/topic/etyp/delay-test-fix: Fix flaky timing test (hopefully)

  • Christian Kreibich(31 Aug 26)

    Merge branch 'topic/christian/5833-disable-broker-identifier-updates' * topic/christian/5833-disable-broker-identifier-updates: Disable Broker's identifier updates by default

  • Christian Kreibich(28 Aug 26)

    Disable Broker's identifier updates by default Zeek now drops transmission and receipt of Broker `IndentifierUpdate` messages by default, to prevent one class of unintended runtime updates to Zeek configuration settings. Reporter errors result instead. The new `Broker::enable_identifier_updates` toggle, defaulting to false, allows restoring the original behavior. The Control framework's `configuration_update` command, the sole known user of identifier updates, now errors out in the controller when updates are disabled.

  • Evan Typanski(28 Aug 26)

    Fix flaky timing test (hopefully) Coded by GPT-5.5.

  • Arne Welzel(28 Aug 26)

    Merge remote-tracking branch 'origin/topic/awelzel/build-status-badge' * origin/topic/awelzel/build-status-badge: README.md: Fix build status badge

  • Tim Wojtulewicz(28 Aug 26)

    Merge remote-tracking branch 'origin/topic/awelzel/revert-python-venv-dependency-additons' * origin/topic/awelzel/revert-python-venv-dependency-additons: Revert "Fix missing python3-venv in a few builds" Revert "CI: Add python3-venv to all of the Ubuntu/Debian dockerfiles"

  • Arne Welzel(28 Aug 26)

    README.md: Fix build status badge

  • Arne Welzel(28 Aug 26)

    Dict: Switch location info to get_current_script_location() or no_location detail::GetCurrentLocation() is for parse time location information and not better than no_location.

  • Arne Welzel(26 Aug 26)

    Dict: Include better location info for distance-too-far error The new detail::get_current_script_location() only works in non-ZAM environments, use no-location as a fallback otherwise. Will still include the script call stack.

  • Arne Welzel(28 Aug 26)

    Revert "Fix missing python3-venv in a few builds" This reverts commit d2cd5e2c69f0990143f79bb20b4d06ff82911619.

Zeek Security

6.9/10

Repo Security Summary

Updated 24 Aug 26 Fuzz tested

  • Code-Review6/10
  • Maintained10/10
  • CII-Best-Practices0/10
  • License9/10
  • Security-Policy9/10
  • Branch-ProtectionN/A
  • Dangerous-Workflow10/10
  • Signed-Releases8/10
  • Token-Permissions0/10
  • Packaging10/10
  • Fuzzing10/10
  • SAST0/10
  • Binary-Artifacts10/10
  • Pinned-Dependencies2/10

Security Advisories (25)

Zeek Website

Website

429 Too Many Requests

Redirects

Does not redirect

Security Checks

2 security checks failed (63 passed)

  • HTTP Status Error
  • HTTP Client Error

Server Details

  • IP Address192.0.78.150
  • LocationSan Francisco,California,United States of America,NA
  • ISPAutomattic Inc
  • ASNAS2635

Associated Countries

  • USUS
  • CACA

Safety Score

Website marked as safe

100%

Blacklist Check

zeek.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

Zeek Reviews

More Intrusion Detection

  • An 802.11 layer2 wireless network detector, sniffer, and intrusion detection system.

  • OSSEC is an Open Source host-based intrusion detection system, that performs log analysis, integrity checking, monitoring, rootkit detection, real-time alerting and active response.

  • picosnitch helps protect your security and privacy by "snitching" on anything that connects to the internet, letting you know when, how much data was transferred, and to where. It uses BPF to monitor network traffic per application, and per parent to cover those that just call others. It also hashes every executable, and will complain if some mischievous program is giving it trouble.

  • SNARE (System iNtrusion Analysis and Reporting Environment) is a series of log collection agents that facilitate centralized analysis of audit log data. Logs from the OS are collected and audited. Full remote access, through a web interface easy to use manually, or by an automated process.

    Not Open Source

About the Data: Zeek

Edit Zeek Data

You can edit Zeek's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access Zeek's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/zeek

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Zeek

Help your friends compare Intrusion Detection, and pick privacy-respecting software and services.
Share Zeek and Awesome Privacy with your network!