Releases: cisagov/Malcolm
Malcolm v25.12.1
Malcolm v25.12.1 contains a few critical bug fixes and component version updates.
idaholab/Malcolm@v25.12.0...v25.12.1
- ✨ Features and enhancements
- Installer splash screen shows "HEDGEHOG" when using Hedgehog run profile
- ✅ Component version updates
- supercronic to v0.2.40
- Alpine (Docker base image) to v3.23
- NetBox to v4.4.8
- urllib3 to v2.6.0 (CVE-2025-66471, 8.9 High, GHSA-2xpw-w6gg-jr37)
- 🐛 Bug fixes
- Changed field used in Threat Intelligence dashboard's file type table from
zeek.intel.file_mime_typetofile.mime_typeso filters created from it can work on other dashboards - link for threat intelligence URL doesn't work correctly from dashboards (behind reverse proxy) (#832)
- self-signed certificates not accepted by Chrome (#833)
- Malcolm ISO installer's automatic partitioning may create too-small
/varpartition (#835)
- Changed field used in Threat Intelligence dashboard's file type table from
- 🧹 Code and project maintenance
- Added new Analytics section to documentation
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
Malcolm v25.12.0
Malcolm v25.12.0 includes a unification of the Malcolm and Hedgehog Linux ISO-installed base OS platform, component updates, other new features and improvements, and several bug fixes.
- ✨ Features and enhancements
- Reduce Hedgehog Linux complexity/duplicate code by running Malcolm in "hedgehog run profile" mode
- We're moving Hedgehog Linux toward using the same containerized architecture as the Malcolm ISO, dramatically simplifying builds, upgrades, and ongoing maintenance. Today, Hedgehog runs tools like Arkime, Zeek, and Suricata as traditional system processes, but by shifting to the standard Malcolm container-based workflow - using the existing Hedgehog run-profile - we can eliminate large amounts of duplicated code while ensuring consistent performance and feature parity. This change will also streamline configuration and installation by unifying ISO build logic and leveraging the new Malcolm installation/configuration script. Overall, this consolidation promises a significantly cleaner codebase and a simpler experience for both users and maintainers going forward.
- A few items of note:
- The documentation for Hedgehog Linux installation and configuration is now unified with Malcolm's. The Hedgehog-specific items for configuring communication between Hedgehog and Malcolm can be found here. Unfortunately, the YouTube videos covering installation and configuration for Hedgehog Linux are now obsolete.
- There are still two ISOs available for download, they are just generated from the same build workflow and script with slightly different arguments to preconfigure the environment for the correct run profile.
- Configuring network interfaces is now done using NetworkManager rather than the old
configure-interfacesscript. New installations of Malcolm and Hedgehog Linux will not automatically request IP addresses using DHCP. - There should not be any difference in performance between the old Hedgehog Linux platform and the new one, as the same tuning optimizations are available for both platforms.
- There isn't an upgrade path from previous installations of Hedgehog Linux to the new platform. It's recommended to back up
/opt/sensor/sensor_ctl/control_vars.confand any other relevant data or system configuration from existing sensors before overwriting them with this version. For the time being, older (recent) releases of Hedgehog Linux will be able to forward to the latest version of Malcolm. - We're still working on the Hedgehog Linux Raspberry Pi image, so it won't be included in this release.
- If we missed something, you encounter problems, or you have suggestions, please start a discussion or create an issue.
- include a few more types in the default netbox enrichment log set to improve the enrichments used when tracking lateral movement (often done over protocols like rdp, vnc, ssh, etc.)
- integrate new SMILE analytics visualizations
- Connections Tree (update)
- BACnet Trends (new)
- DNP3 Trends (new)
- Modbus Trends (new)
- RDP Connections Tree (new)
- SSH Connections Tree (new)
- Improvements to how self-signed certificates are generated during
auth_setup - Hedgehog Linux kiosk-mode server now runs as non-root user
- Numerous documentation improvements
- Reduce Hedgehog Linux complexity/duplicate code by running Malcolm in "hedgehog run profile" mode
- ✅ Component version updates
- Arkime to v5.8.3
- Supercronic to v0.2.39
- yq to v4.49.2
- NetBox to v4.4.6
- KeyCloak to v26.4.7
- Fluent Bit to v4.2.0
- Capa to v9.3.1
- Zeek to v8.0.4
- Python packages throughout the project:
- beautifulsoup4 to v4.14.2
- certifi to v2025.11.12
- click to v8.3.0
- cryptography to v46.0.3
- dateparser to v1.2.2
- distro to v1.9.0
- elasticsearch to v8.19.2
- Flask to v3.1.2
- GitPython to v3.1.45
- gunicorn to v23.0.0
- idna to v3.11
- MarkupSafe to v3.0.3
- opensearch-py to v3.1.0
- paramiko to v4.0.0
- patool to v4.0.2
- pillow to v12.0.0
- psutil to v7.1.3
- psycopg2 to v2.9.11
- pycryptodome to v3.23.0
- pymisp to v2.5.17.2
- pynetbox to v7.5.0
- python-dotenv to v1.2.1
- pyyaml to v6.0.3
- pyzmq to v27.1.0
- regex to v2025.11.3
- requests to v2.32.5
- setuptools to v80.9.0
- supervisor to v4.3.0
- urllib3 to v2.5.0
- vt-py to v0.22.0
- wheel to v0.45.1
- yara-python to v4.5.4
- 🐛 Bug fixes
- HTTP 400 errors with some NetBox API operations
- NetBox autopopulation of sites provided by remote sensors doesn't always happen correctly
- all URL field formatters, and "extracted file downloads" visualization in Files dashboard, are broken on Kibana
file-monitor'sprune_files.shmay get uninitialized variableinstall.pyconfigure script does not populate the default for exposing the opensearch port correctly- redis service using wrong directory for persistence
- some configuration items are not preserved on export/import
- fixes to how the
arkimeandarkime-livecontainers use WISE (WISE is only run in thearkimecontainer on a Malcolm instance running themalcolmrun profile; other configurations connect to the container running WISE) - various fixes and improvements for the Hedgehog run-profile to support the ISO platform convergence discussed above
- 🧹 Code and project maintenance
- Removed the deprecated
./scripts/legacy_install.pyinstaller script in favor of the newinstall.py. - Improved the GitHub build workflows for building the container images and ISOs.
- Removed the osd_transform_vis from Dashboards, as visualizations made with it would not work for Elastic/Kibana-based Malcolm installations.
- Removed unused `VIRTUA...
- Removed the deprecated
Malcolm v25.11.0
Malcolm v25.11.0 includes an overhaul of the install.py installation/configuration script, a few bug fixes, and some component version updates.
- ✨ Features and enhancements
- We're in the process of majorly overhauling our install.py script (#395) used for setting up a Linux or MacOS system to run Malcolm and for configuring Malcolm's runtime options. There are future updates still to come (#766) but for now the command-line and dialog-based interfaces' functionality and backend are in place. The step-by-step wizard has been replaced with a menu-based interface that allows for changing individual values without having to step through the whole set of questions. The Docker-based Malcolm installation example on Ubuntu and end-to-end installation example have useful information about this change, as does the command-line arguments document. We've done a lot of testing on what's a complete rewrite of this, but there is a possibility we missed something; if you find an issue with the new install/configure script, please open a discussion or log a bug and let us know. For the next release or so, we're leaving the legacy installer in place as
scripts/legacy_install.pywhich could be used in a pinch (e.g., runscripts/legacy_install.py --configurefor the old configuration menu). - We've incorporated a new "Connections Tree" visualization. This visualization tracks the potential of lateral movement based on the observed communications between all devices that reach a root node, identified by IP address. It gives a high-level view showing both direct and indirect connetions between the root IP and all of its destinations, regardless of time, along with enriched data for each endpoint and connection.
- Updates to the Validated Design Architecture Review (VADR) dashboards.
- The OpenSearch container now includes the
repository-s3plugin, useful for those who wish to configure OpenSearch's snapshots to save to S3-compatible buckets.
- We're in the process of majorly overhauling our install.py script (#395) used for setting up a Linux or MacOS system to run Malcolm and for configuring Malcolm's runtime options. There are future updates still to come (#766) but for now the command-line and dialog-based interfaces' functionality and backend are in place. The step-by-step wizard has been replaced with a menu-based interface that allows for changing individual values without having to step through the whole set of questions. The Docker-based Malcolm installation example on Ubuntu and end-to-end installation example have useful information about this change, as does the command-line arguments document. We've done a lot of testing on what's a complete rewrite of this, but there is a possibility we missed something; if you find an issue with the new install/configure script, please open a discussion or log a bug and let us know. For the next release or so, we're leaving the legacy installer in place as
- ✅ Component version updates
- 🐛 Bug fixes
- 🧹 Code and project maintenance
- Refactored a number of Python functions to reduce cyclomatic complexity (#765, work ongoing)
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm and incontrol_vars.conffor Hedgehog Linux. The Malcolm control script (e.g.,./scripts/status,./scripts/start, etc.) should take care of creating new variables and migrating existing ones as needed based on the rules in./config/env-var-actions.ymlwithout intervention on the user's part.
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
Malcolm v25.09.0
Malcolm v25.09.0 includes new features and available customizations, improvements to Threat Intelligence, component version updates, and several important bug fixes.
- ✨ Features and enhancements
- improve Modbus register tracking with new
modbus_detailed.log(#762) - add non-LVM option(s) for Malcolm/Hedgehog Linux ISO installers (#725)
- allow configuring default search time frame for OpenSearch Dashboards (#724)
- allow customizing maximum upload file size (#769)
- add Arkime capture statistics to the Packet Capture Statistics dashboard (#703)
- integrate Validated Architecture Design Review (VADR) dashboards (#780)
- Threat Intelligence improvements
- support Google Threat Intelligence feed for building Zeek intel source (#758)
- renamed Zeek Intelligence dashboard to Threat Intelligence and improved it
- links from context menu items in Arkime and Dashboards (like reference URLs for IOCs) now ask the user before navigating to external sites
- Added icons with links to "ready" and "ingest statistics" APIs to landing page
- Include
tx-rx-secure.shin files packaged bymalcolm_appliance_packager.sh
- improve Modbus register tracking with new
- ✅ Component version updates
- 🐛 Bug fixes
- Python code handling
X-Forwarded-headers should do case insensitive lookup (#764) - uploaded PCAPs that result in no filename-derived tags erroneously end up with internal tags on them (#774)
- installer option for encrypted storage are not marking secondary data/artifact storage for encryption (#779)
- Malcolm/Hedgehog Linux ISO-installed environments'
auditdservice fails to start (#761) - Failed shard query error on Overview dashboard (#754)
- Python code handling
- 🧹 Code and project maintenance
- refactor GitHub build actions for Malcolm Docker images to reduce duplication (#717)
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm and incontrol_vars.conffor Hedgehog Linux. The Malcolm control script (e.g.,./scripts/status,./scripts/start, etc.) should take care of creating new variables and migrating existing ones as needed based on the rules in./config/env-var-actions.yml.- Malcolm
PCAP_UPLOAD_MAX_FILE_GBadded toupload-common.envto allow configuring maximum PCAP upload size (#769)DASHBOARDS_TIMEPICKER_FROMandDASHBOARDS_TIMEPICKER_TOadded todashboards-helper.envto allow configuring default search time frame for OpenSearch Dashboards (#724)
- Malcolm
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
Malcolm v25.08.1
Malcolm v25.08.1 consists of several major component updates and a few bug fixes.
If you are updating from a version older than v25.06.0, please read those release notes prior to updating to this version.
- ✨ Features and enhancements
- ✅ Component version updates
- Beats to v8.19.2
- Debian to v13 (cisagov/Malcolm#744) for ISO installer images and Debian-based containers
- Fluent Bit to v4.0.8
- Logstash to v8.19.2
- NetBox to v4.3.6
- OpenSearch and OpenSearch Dashboards to v3.2.0 (cisagov/Malcolm#751)
- Supervisor to v4.3.0
- Zeek to v8.0.1 (cisagov/Malcolm#750)
- 🐛 Bug fixes
- Query workbench (SQL and PPL) is broken due to something to do with network index pattern field aliases (cisagov/Malcolm#746)
- Zeek containers need to be limited in max number of open files or memory grows very large (cisagov/Malcolm#747)
- avoid OpenSearch search shard failures by including
unspecifiedroles in indexes during NetBox enrichment #(cisagov/Malcolm#749) - differences in MISP object/attribute formatting cause Malcolm to ignore some threat feed indicators (cisagov/Malcolm#753)
- NetBox sites used for development testing included in release artifacts (cisagov/Malcolm#755)
wipescript no longer removes.gitignorefiles
- 🧹 Code and project maintenance
- Standardized the way Python scripts in Malcolm (both in the containers and the control scripts) do debug/informational logging (increase logging level with
-v,-vv,-vvv, etc.) - Removed
vagrant-sshfsrequirement from vagrant-based ISO builds in favor of Vagrant's builtinrsyncmechanism
- Standardized the way Python scripts in Malcolm (both in the containers and the control scripts) do debug/informational logging (increase logging level with
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
Malcolm v25.08.0
Malcolm v25.08.0 is a minor release fixing a regression bug inadvertently introduced in v25.07.0.
If you are updating from a version older than v25.06.0, please read those release notes prior to updating to this version.
- ✨ Features and enhancements
- Performance improvements to the
clean-processed-folder.pyscript in thefilebeatcontainer responsible for pruning already-processed Zeek and Suricata log files (#736)
- Performance improvements to the
- 🐛 Bug fixes
- Malcolm fields are not created in Arkime (#735)
- Due to this commit, the order in which the Arkime fields database was initialized and the WISE service started was switched, which resulted in the initial run of
capture(responsible for populating Malcolm's custom fields) failing. The order of these operations has been corrected.
- Due to this commit, the order in which the Arkime fields database was initialized and the WISE service started was switched, which resulted in the initial run of
- Malcolm fields are not created in Arkime (#735)
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm. The Malcolm control script (e.g.,./scripts/status,./scripts/start, etc.) should take care of creating new variables and migrating existing ones as needed based on the rules in./config/env-var-actions.yml.FILEBEAT_CLEANUP_VERBOSITYand added tofilebeat.envto control the verbosity of theclean-processed-folder.pyscript mentioned above in relation to #736. For example, settingFILEBEAT_CLEANUP_VERBOSITY=-vvvvcorresponds to theDEBUGlog level, and will produce output like this once per minute:
filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Found 2099 Zeek processed directory files to consider. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Found 135 Zeek live directory files to consider. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Checked 2099 Zeek processed directory files at a rate of 10804 files/second. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Checked 135 Zeek live directory files at a rate of 1411 files/second. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Found 161 Suricata files to consider. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Checked 161 Suricata files at a rate of 18018 files/second. filebeat-1 | 2025-08-07T20:23:00Z /usr/local/bin/clean-processed-folder.py: Finished pruning files.
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
#Malcolm #HedgehogLinux #Zeek #Arkime #NetBox #OpenSearch #Elasticsearch #Suricata #PCAP #NetworkTrafficAnalysis #networksecuritymonitoring #OT #ICS #icssecurity #CyberSecurity #Cyber #Infosec #INL #DHS #CISA #CISAgov
Malcolm v25.07.0 (see note about regression bug)
NOTE: A regression has been found (#735) in v25.07.0 that can cause the Malcolm fields to not get populated in Arkime's fields database when a new Malcolm instance is initialized. A fix is in the works. It's recommended you wait to upgrade until v25.08.0 (which should be released 2025-08-06).
Malcolm v25.07.0 includes quite a few new features and enhancements, performance improvements, bug fixes, and component version updates.
If you are updating from a version older than v25.06.0, please read those release notes prior to updating to this version.
- ✨ Features and enhancements
- Add IANA service name and description enrichment to Zeek's
known_services.log(#705) - Improve the speed of pruning files (#710)
- allow multiple instance of Suricata in PCAP processing mode via UNIX socket (#707)
- expose Arkime WISE tagging features to the user (#377)
- handle comma- or semicolon-separated directories for
PCAP_PROCESSED_DIRECTORY(to support new live PCAP processing method in Malcolm-Helm) (#702) - handle new OPCUA Binary summary logs (#709)
- incorporate new ANSI C12.22 parser and add corresponding dashboard (#708)
- overhauled instructions for Deploying Malcolm on Amazon Web Services (AWS) including deploying Malcolm on Amazon Elastic Kubernetes Service (EKS) in Auto Mode
install.pyscript is now a bit more robust in trying to help ensure the correct packages and Python libraries are installed
- Add IANA service name and description enrichment to Zeek's
- ✅ Component version updates
- Fluent Bit to v4.0.5
- Arkime v5.7.1
- Supercronic v0.2.34
- OpenSearch and OpenSearch Dashboards v3.1.0
- Keycloak v26.2.5
- yq v4.47.1
- NetBox v4.3.4
- Zeek v7.2.2
- Spicy v1.13.2
- urllib3 Python Library to v2.5.0 (addresses CVE-2025-50181)
- ICSNPP Zeek network analyzer updates
- BACnet parser fixes for previously unsupported services (see cisagov/icsnpp-bacnet#50 and cisagov/icsnpp-bacnet#51)
- Ethernet/IP various fixes (cisagov/icsnpp-enip#34 (partial); cisagov/icsnpp-enip#35; cisagov/icsnpp-enip#36; cisagov/icsnpp-enip#37; cisagov/icsnpp-enip#38)
- GENISYS minor updates (cisagov/icsnpp-genisys#25)
- OPCUA Binary summary logs (cisagov/icsnpp-opcua-binary#102)
- S7comm fixes for ACK message processing (cisagov/icsnpp-s7comm#19; cisagov/icsnpp-s7comm#20)
- 🐛 Bug fixes
- zeek logs not cleaned by clean-processed-folder.py due to MIME type mismatch (#712)
- packet capture statistics dashboard not working in Kibana (#704)
- need to adjust shared object creation script (e.g., dashboards import) for new versions of Kibana (#713)
- log fingerprinting needs to be examined to avoid unintentional collisions (#715)
- install.py issues in Rocky Linux, Almalinux (#385)
- OpenSearch container health check issue when OpenSearch is disabled (#716)
- investigate NetBox API access via Malcolm's netbox endpoint and mapi endpoint (#701)
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm and incontrol_vars.conffor Hedgehog Linux. The Malcolm control script (e.g.,./scripts/status,./scripts/start, etc.) should take care of creating new variables and migrating existing ones as needed based on the rules in./config/env-var-actions.yml.- Malcolm
VIEWERremoved fromarkime-live.envas its behavior is handled internally and should not be user-settableVIEWERandWISEremoved fromarkime-offline.envas its behavior is handled internally and should not be user-settableARKIME_WISE_CONFIG_PIN_CODEand its default value added toarkime-secret.env, used for making changes to the WISE config in the WISE GUIARKIME_WISE_SERVICE_URLand its default value added toarkime-secret.envfor specifying the connection to the WISE serviceARKIME_EXPOSE_WISE_GUIandARKIME_ALLOW_WISE_GUI_CONFIGadded toarkime.envto control the WISE GUI viewer/editor capabilityLS_JAVA_OPTSinlogstash.envchanged its default heap size from2500mto3gREMOTE_AUTH_HEADER,REMOTE_AUTH_USER_EMAIL,REMOTE_AUTH_USER_FIRST_NAME, andREMOTE_AUTH_USER_LAST_NAMEvalues (not really used) changed innetbox.envas part of some reverse proxy HTTP header standardizationSURICATA_AUTO_ANALYZE_PCAP_PROCESSESadded with its default, and the meaning and default ofSURICATA_AUTO_ANALYZE_PCAP_THREADSchanged insuricata-offline.envas part of #707ZEEK_DISABLE_IANA_LOOKUPadded tozeek.envas part of #705- variables related to ANSI C12.22 added to
zeek.envto control analyzer and log output as part of #708
- Hedgehog Linux
ARKIME_WISE_PLUGINandARKIME_WISE_URLadded as part of #377ZEEK_DISABLE_IANA_LOOKUPadded as part of #705- variables related to ANSI C12.22 added as part of #708
- Malcolm
- 🧹 Code and project maintenance
- remove duplication and consolidate navigation pane content across all dashboards (#718)
- standardized
X-Forwarded-headers used internally by reverse proxy for RBAC - some cleanup/standardization of Ruby code used by Logstash to make it more idiomatic
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 ([release_cleaver.sh](https://github.com/cisagov/Ma...
Malcolm v25.06.0
Malcolm v25.06.0 includes a some new and oft-requested features, bug fixes, and component version bumps.
NOTE: As this Malcolm release enables the OpenSearch Security Plugin as described below, even inter-container access to OpenSearch must now be authenticated when using Malcolm's embedded OpenSearch instance. To accomplish this, an internal-use-only account and password is used for connecting to OpenSearch by Malcolm's other components as needed. This credential (saved in .opensearch.primary.curlrc in the Malcolm installation directory) needs to be generated before Malcolm starts up the first time after upgrading. To do so, please run ./scripts/auth_setup and select (Re)generate internal passwords for local primary OpenSearch instance. This credential is only used internally for OpenSearch and cannot be used to remotely access Malcolm.
- ✨ Features and enhancements
- This release adds role-based access control (RBAC) to Malcolm (#460).
- Malcolm's RBAC feature is based on Keycloak realm roles and is implemented in to layers:
- Whenever possible, Malcolm's backend Keycloak realm roles are mapped to the roles/groups/permissions features provided by the components that make up Malcolm, for example:
- For other Malcolm components that don't implement their own permission management systems, Malcolm handles the enforcement roles based on request URIs in its NGINX proxy layer.
- This is an optional feature. RBAC is only available when the authentication method is
keycloakorkeycloak_remote. With other authentication methods such as HTTP basic or LDAP, or when RBAC is disabled, all Malcolm users effectively have administrator privileges. - Because the OpenSearch Security Plugin requires TLS even internally, Malcolm's internal connections to the embedded OpenSearch instance, when used, are now all performed over HTTPS. However, this is all handled internally and should not behave or appear different to the user than it did in previous versions.
- See the role-based access control documentation for more information on this feature.
- Malcolm's RBAC feature is based on Keycloak realm roles and is implemented in to layers:
- Malcolm's embedded KeyCloak instance now automatically creates and configures the default client by ID, if specified in
./config/keycloak.env. - Allow user to specify subnet filters for NetBox autopopulation (#634)
- This feature is especially useful for excluding dynamic address ranges such as those used by DHCP, which should generally not trigger autopopulation in NetBox. Since these addresses can change frequently and aren't tied to specific devices, including them could result in inaccurate or noisy inventory data. By fine-tuning which private subnets are included or excluded, users can ensure that only meaningful, typically static assignments are autopopulated.
- Expose init arguments for Arkime's
db.pland also use them for Malcolm's creation of its own index templates (#692) - Extend Zeek's
intel.logwith additional fields using corelight/ExtendIntel (part 1) (#502)- This integrates the corelight/ExtendIntel plugin into Malcolm internally but does not significantly change how Malcolm presents
intel.logto the user. Further work to do so will be continued in #695.
- This integrates the corelight/ExtendIntel plugin into Malcolm internally but does not significantly change how Malcolm presents
- Some internal tweaks to the PCAP processing pipeline that are going to be leveraged by the Malcolm-Helm project (idaholab#630)
- Handle a fix in the ICSNPP OPCUA-Binary plugin that adds a new
sec_token_idfield (cisagov/icsnpp-opcua-binary#101) - Moved the configuration for Zeek's use of the zeek-kafka plugin to its own file (
kafka.zeek) to make it easier to override in Docker using a volume bind mount or in K8s using a configMap. - Changed some internal objects used for NetBox enrichment caching from Ruby's
Concurrent::HashtoConcurrent::Mapfor better performance - Minor improvements to the icons, shortcuts, and convenience bash functions in the ISO-installed Malcolm desktop environment
- NGINX now generates a
robots.txtfile to avoid web crawlers
- This release adds role-based access control (RBAC) to Malcolm (#460).
- ✅ Component version updates
- Alpine base Docker image to v3.22.0
- Arkime to v5.7.0
- capa to v9.2.1
- flask-cors Python library to v6.0.0 to address CVE-2024-6839, CVE-2024-6844, and CVE-2024-6866
- OpenSearch and OpenSearch Dashboards to v3.0.0
- opensearch-py Python library to v3.0.0
- osd_transform_vis Dashboards visualization library to v3.0.0
- requests Python library to v2.32.4 to address CVE-2024-47081
- YARA to v4.5.3
- Zeek to v7.2.1
- 🐛 Bug fixes
- NetBox autodiscovery no longer populating host name from DNS, DHCP, NTLM (regression, #699)
- documentation served at
/readmeis trying to pull fonts from use.fontawesome.com (#694) - support fractional gigabytes correctly when generating Arkime's
config.inisettingmaxFileSizeGfromPCAP_ROTATE_MEGABYTES - Improved logstash filters that calculate unique hashes used as document IDs for Zeek and Suricata logs to better prevent duplicate logs from being written to the document store
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm and incontrol_vars.conffor Hedgehog Linux. The Malcolm control script (e.g.,./scripts/status,./scripts/start, etc.) should take care of creating new variables and migrating existing ones as needed based on the rules in./config/env-var-actions.yml.arkime.env'sOPENSEARCH_MAX_SHARDS_PER_NODEhas been moved toopensearch.envand renamed toCLUSTER_MAX_SHARDS_PER_NODEauth-common.env'sNGINX_LDAP_TLS_…variables have been moved tonginx.env- [
auth-common.env](https://github.com/cisagov/Malcolm/b...
Malcolm v25.05.0
Malcolm v25.05.0 adds support for the Emerson ROC Plus protocol (including a Zeek analyzer and corresponding dashboard), component updates, and bug fixes.
- ✨ Features and enhancements
- Added support for ROC Plus (#661)
- Make Zeek metrics port configurable (thanks to @divinehawk) (cherry-picked from #668)
- Improve ability to upload PCAP files via cURL
- Minor UI improvements to desktop environment for Malcolm and Hedgehg Linux ISO-installed instances
- ✅ Component version updates
- 🐛 Bug fixes
- race condition in suricata offline container between pcap processing and suricata socket (#667)
- NetBox autopopulation not working with prefixes correctly (#670) (regression)
- ensure Arkime's
queryExtraIndicesconfig.inisetting is only set when Zeek/Suricata logs are using a different index pattern - set
number_of_replicascluster setting to0for embedded single-node OpenSearch instance to avoid yellow state
- 📄 Configuration changes (in environment variables in
./config/) for Malcolm and incontrol_vars.conffor Hedgehog Linux- added
ZEEK_METRICS_PORT(default blank, meaning use the default port) inzeek.envandcontrol_vars.conffor #668 - added
ZEEK_DISABLE_ICS_ROC_PLUS(default blank, meaning not disabled) inzeek.envandcontrol_vars.conffor #661
- added
- 🧹 Code and project maintenance
- minor slides and documentation updates
- Replace AWS Fargate documentation with AWS EKS Auto documentation
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.
Malcolm v25.04.1
Malcolm v25.04.1 contains only one change: updating Arkime to v5.6.4 which mitigates newly-discovered remote code execution (RCE) vulnerabilities.
- ✅ Component version updates
- Arkime v5.6.4 to resolve RCE vulnerabilities, as described below in the #announcements channel on the Arkime slack:
- possible to bypass forced expressions for some API calls
- direct access to OpenSearch/Elasticsearch could be used to create session documents that hang viewer or have viewer execute code
- since Arkime 5.1.0 any arkimeUser user could create OpenSearch/Elasticsearch documents in any index that viewer had access to
- Arkime v5.6.4 to resolve RCE vulnerabilities, as described below in the #announcements channel on the Arkime slack:
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.