PAGES
← all tools
◆ Endpoint Security (EDR/XDR)

Lynis

3.1.7 open-source

Security auditing and hardening tool for UNIX-based systems that performs in-depth scans and provides system hardening tips.

Summary

Lynis is an open-source command-line tool for auditing and hardening security on UNIX-based systems, including Linux, macOS, and BSD, and it is free to use. It runs directly on the host it scans, checking configuration, installed software, and known vulnerabilities against hardening benchmarks and compliance frameworks such as ISO27001, PCI-DSSPCI-DSSThe Payment Card Industry Data Security Standard, security requirements for protecting payment account data. It covers organizations that store, process or transmit that data and relevant service providers., and HIPAAHIPAAA US federal law enacted in 1996 that sets privacy and security requirements for protected health information, giving cyber tools a compliance baseline to enforce or audit against.. Its documentation describes system administrators, auditors, and security officers as typical users, alongside penetration testers who now include it in their toolkit. Rather than positioning itself against a named competitor, it sits in the general system-hardening and compliance-auditing space, with checks that grow to cover new distributions, malware scanners, and platform-specific controls like macOS FileVaultFileVaultApple's full-disk encryption feature built into macOS, using XTS-AES-128 to encrypt the startup volume so that data is unreadable without the user's credentials.. First committed in 2013 and maintained by 284 contributors, it remains active with a release in the last two months.

Security auditing and hardening tool for UNIX-based systems that performs in-depth scans and provides system hardening tips.

How Lynis helps

Which hardening gaps on this machine should I fix first?

runs an in-depth scan of configuration, installed software, and running services against its hardening database and lists findings as concrete suggestions rather than a raw pass/fail score

Does this system meet the controls auditors will ask about?

maps its checks to frameworks like ISO27001, PCI-DSS, and HIPAA so gaps show up against the specific control they fail, before an external auditor looks

Which installed packages have known vulnerabilities?

inventories installed software package by package and flags entries matching known vulnerable versions

Is my firewall and logging setup actually catching what it should?

inspects live iptables rules and accepted logging targets, and checks for a defined log file location, then reports where accounting or audit trails are missing

Are the antivirus and intrusion-detection agents on this host actually running?

looks for known malware scanners, antivirus products, and agents like Wazuh by process and installation footprint, and reports whether the ones present are active

Is this platform's support status something I should worry about?

checks the detected distribution and version against an end-of-life database and flags the finding directly when a platform's support status is unclear or expired

all 21 features, with the evidence for each →

Languages

French, German, Greek, Indonesian, Italian, Japanese, Norwegian, Portuguese, Russian, Slovak, Spanish, Turkish Release notes: French, German, Greek, Indonesian, Italian, Japanese, Norwegian, Portuguese, Russian, Slovak, Spanish, Turkish Japanese added in 3.1.6 (Oct 23, 2025) · Portuguese added in 3.1.4 (Jan 28, 2025) · Italian, Russian, Spanish added in 3.1.3 (Dec 16, 2024) · German, Turkish added in 3.1.2 (Sep 26, 2024) · Indonesian added in 3.1.0 (Mar 11, 2024)

Features

21 capabilities · 2 backed by code, an API document or a real run

Built from Lynis's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Lynis covers 1 of the 11 endpoint investigation and controls capabilities we track.

What Lynis offers you

  • Command-line interface3
  • Scheduled jobs1
Security baseline assessment 5 features Endpoint investigation and controls since 2014
Security control validation shipped Executes specific compliance checks for cryptography, malware detection, firewall configuration, and account management. 52 releases · 4 other sources · first seen Oct 2014

Shared capability: Security baseline assessment

release 52 total

  • FIRE-4586: Accepts NFLOG as a valid logging target when auditing iptables firewall rules. 3.1.6 · Oct 2025 · source · release history
  • ACCT-9634: Defines a default auditd log file location for accounting checks. 3.1.6 · Oct 2025 · source · release history
  • New test CRYP-7932 checks macOS FileVault full-disk encryption status. 3.1.2 · Sep 2024 · source · release history
  • Extends CONT-8104 to detect errors (not only warnings) in docker info output. 3.1.2 · Sep 2024 · source · release history
  • SSH-7408 test logic refined to only evaluate Compression if sshd version is < 7.4 3.0.9 · Aug 2023 · source · release history
  • Adds TOOL-5130 check for active Suricata daemon 3.0.2 · Dec 2020 · source · release history

example

  • Verify Postfix configuration integrity using the new detection module. lynis audit system --test MAIL-8817 2.4.4 · Mar 2017 · source
  • Run a system scan to detect MongoDB presence and verify its auth configuration lynis audit system --tests DBS-1818,DBS-1820 2.4.2 · Feb 2017 · source
  • Run a full system scan but limit the tests to those within the AUTH category for a faster authentication-focused review. lynis audit system --tests-from-group AUTH 2.3.2 · Aug 2016 · source
  • Save the audit report to a specific file instead of the default directory. lynis audit system --report-file /tmp/lynis_audit.txt 2.0.0 · Feb 2015 · source
Scan execution control shipped Provides options to modify the audit execution flow, such as filtering tests by category, enabling quick mode, and specifying binary directories. 10 releases · 4 other sources · first seen Aug 2016

Shared capability: Security baseline assessment

release 10 total

  • --slow-warning flag allows tests more time before showing a warning message during scan execution 3.0.1 · Oct 2020 · source · release history
  • Adds lynis generate systemd-units subcommand to generate systemd service units for Lynis. 3.0.0 · Jun 2020 · source · release history
  • Lynis now runs non-interactive by default; the previous --quick behavior is now the default, and you must use --wait to pause for input. 3.0.0 · Jun 2020 · source · release history
  • Adds --devops, --forensics, and --pentest flags to activate specialized audit modes that change the scan behavior based on intent. 3.0.0 · Jun 2020 · source · release history
  • Adds system-groups option to the profile configuration file for enterprise environments 2.6.1 · Jan 2018 · source · release history
  • Supports skip-test=KRNL-6000:<sysctl-key> to skip specific sysctl keys within the KRNL-6000 test. 2.5.9 · Jan 2018 · source · release history

example

  • Run Lynis with extended timeout for slow systems to prevent premature warnings lynis audit system --slow-warning 3.0.1 · Oct 2020 · source
  • Generate a systemd service file for automated Lynis execution. lynis generate systemd-units 3.0.0 · Jun 2020 · source
  • Skip a specific sysctl key check within the kernel network test if it is irrelevant to your environment. lynis audit system --skip-test=KRNL-6000:net.ipv4.ip_forward 2.5.9 · Jan 2018 · source
  • Run Lynis silently without any console output, using the new short flag. lynis audit system --silent 2.5.7 · Oct 2017 · source
Boot loader security analysis shipped Executes specific checks for boot loader configuration and security posture, including rEFInd presence and systemd-analyze security assessments. 5 releases · first seen Oct 2014

Shared capability: Security baseline assessment

release

  • BOOT-5140 - Check for ELILO boot loader presence 3.0.4 · May 2021 · source · release history
  • Adds BOOT-5109 test to check for rEFInd boot loader presence. 3.0.0 · Jun 2020 · source · release history
  • Adds BOOT-5264 test to run systemd-analyze security. 3.0.0 · Jun 2020 · source · release history
  • BOOT-5104 now runs on macOS for boot sector checks 2.5.1 · May 2017 · source · release history
  • Adds grub2-install to the list of required binaries for boot loader testing. 1.6.3 · Oct 2014 · source · release history
Audit suggestion and context enhancement shipped Provides external links to documentation and clarifies ambiguous platform states in the audit output. 2 releases · first seen Sep 2016

Shared capability: Security baseline assessment

Also counts toward: Command-line interface

release

  • Adds links to blog posts and articles within suggestions to provide context for missing control information. 3.1.3 · Dec 2024 · source · release history
  • Adds lynis show details <test_id> to display relevant test sections directly via CLI 2.3.4 · Sep 2016 · source · release history
Non-privileged scan mode shipped Allows users to run the cyber tool without root permissions, triggering a reduced-scope scan instead of failing. 1 release · first seen Oct 2014

Shared capability: Security baseline assessment

release

  • Adds non-privileged scan mode: running Lynis without root permissions now starts a reduced-scope scan instead of failing. 1.6.3 · Oct 2014 · source · release history
Other / not yet classified 16 features Features we have not matched to a capability yet. A suggested match is marked.
Operating system and distribution detection shipped Supports auditing across a wide variety of Linux distributions, BSDs, macOS versions, and container base images. 21 releases · first seen Nov 2014

release 21 total

  • Supports three new platforms: CachyOS, macOS Tahoe, and OpenMandriva Lx. 3.1.6 · Oct 2025 · source · release history
  • Adds full audit support for OpenWrt, including HostID and HostID2 generation on that platform. 3.1.5 · Jul 2025 · source · release history
  • Recognizes openSUSE Tumbleweed-Slowroll as a distinct distribution. 3.1.5 · Jul 2025 · source · release history
  • Adds macOS Sequoia to the list of recognized platforms for auditing. 3.1.4 · Jan 2025 · source · release history
  • Adds OS detection for Buildroot, Fedora Linux Asahi Remix, Garden Linux, and Peppermint OS. 3.1.3 · Dec 2024 · source · release history
  • Extends Slackware support with installed-package querying via functionPackageIsInstalled(). 3.1.2 · Sep 2024 · source · release history
Package inventory and verification shipped Queries installed packages and applications to verify system state and integrity. 20 releases · first seen Sep 2014

release 20 total

  • New test PKGS-7305 queries macOS applications in /Applications and CoreServices. 3.1.2 · Sep 2024 · source · release history
  • Adds version numbers to Homebrew package output in PKGS-7303. 3.1.2 · Sep 2024 · source · release history
  • Extends Slackware support with installed-package querying via functionPackageIsInstalled(). 3.1.2 · Sep 2024 · source · release history
  • DBS-1820 updated to recognize the newer style format for Mongo authorization settings 3.0.9 · Aug 2023 · source · release history
  • FILE-6410 check now includes plocate locations for system database queries 3.0.9 · Aug 2023 · source · release history
  • ACCT-9670 - Detection of cmd tooling 3.0.4 · May 2021 · source · release history
End-of-life status monitoring shipped Checks platform and package end-of-life dates against a known database to flag unsupported software. 16 releases · 1 other source · first seen Sep 2014

release 16 total

example

  • Check if the current OS is approaching end-of-life status lynis show eol 2.7.2 · Mar 2019 · source
Antivirus and endpoint protection detection shipped Identifies installed antivirus or malware scanning agents across different operating systems. 13 releases · first seen Sep 2014

release 13 total

  • MALW-3280: Improved detection of the Wazuh agent. 3.1.6 · Oct 2025 · source · release history
  • Detects Bitdefender antivirus installations on Linux during security audits. 3.1.5 · Jul 2025 · source · release history
  • Adds Wazuh as a recognized malware scanner, antivirus, and rootkit detection tool (MALW/LOGG checks). 3.1.2 · Sep 2024 · source · release history
  • Adds Microsoft Defender Antivirus detection to MALW-3291. 3.1.2 · Sep 2024 · source · release history
  • Adds ESET Endpoint Antivirus detection to MALW-3200. 3.1.2 · Sep 2024 · source · release history
  • Adds support for integrating with Bro and Suricata intrusion detection systems 2.7.5 · Jun 2019 · source · release history
System and kernel inspection shipped Examines kernel modules, JBD drivers, service managers, and hardware architecture support. 12 releases · first seen Sep 2014

release 12 total

  • Extends kernel module checks to also scan under /usr/lib/modules.d. 3.1.5 · Jul 2025 · source · release history
  • New test FILE-6398 checks whether the JBD (Journal Block Device) kernel driver is loaded. 3.1.2 · Sep 2024 · source · release history
  • New test FINT-4344 checks whether the Wazuh agent is running. 3.1.2 · Sep 2024 · source · release history
  • Adds HRDN-7231 check for registered non-native binary formats 3.0.3 · Jan 2021 · source · release history
  • Adds support for Solaris svcs service manager 3.0.2 · Dec 2020 · source · release history
  • Adds detection for BSD-style (rc.d) init systems on Linux hosts 2.7.5 · Jun 2019 · source · release history
Audit configuration inspection shipped Lists and dumps available audit options and configuration settings for the current installation. 6 releases · 3 other sources · first seen Feb 2015

release

  • Adds the generate subcommand to create configuration files from the current system state 2.7.4 · Apr 2019 · source · release history
  • Adds [MAIL-8804] test to verify Exim configuration settings 2.6.5 · Jun 2018 · source · release history
  • Adds ROOTDIR variable to replace fixed paths in configuration 2.5.0 · May 2017 · source · release history
  • Adds lynis show categories and lynis show groups commands to list available classification schemes for tests 2.3.2 · Aug 2016 · source · release history
  • Adds lynis show [options|commands|version|settings] helper subcommand to display help, available commands, version, and active configuration values 2.3.0 · Jul 2016 · source · release history
  • Adds --dump-options to dump all available audit options to stdout. 2.0.0 · Feb 2015 · source · release history

example

  • List all security groups available in your current Lynis installation to plan a targeted audit. lynis show groups 2.3.2 · Aug 2016 · source
  • View which settings are currently active after merging default and custom profiles lynis show settings 2.3.0 · Jul 2016 · source
  • List all available configuration options for the current Lynis installation. lynis audit system --dump-options 2.0.0 · Feb 2015 · source
Plugin execution control verified Allows users to suppress plugin execution when running the tool. 2 releases · 4 other sources · first seen Jan 2018

Also counts toward: Command-line interface

release

  • Adds disable-plugin profile option in .lynisrc or custom profiles to disable specific plugins. 3.0.0 · Jun 2020 · source · release history
  • --noplugins flag allows skipping plugin execution entirely. 2.5.9 · Jan 2018 · source · release history

docs

  • Security auditing and hardening tool for UNIX-based systems that performs in-depth scans and provides system hardening tips.

command line

example

  • Run Lynis without any external plugins for a faster, isolated scan. lynis audit system --noplugins 2.5.9 · Jan 2018 · source
  • Run a full system security audit ./lynis audit system
Virtualization detection shipped Detects if the system is running inside a virtual machine or container environment. 5 releases · 1 other source · first seen Sep 2014

release

  • Adds allow-auto-purge option in the Lynis profile configuration to automatically purge data on short-lived systems 2.5.8 · Dec 2017 · source · release history
  • Enhances OS-level detection capabilities for Linux Containers (LXC) 2.5.3 · Aug 2017 · source · release history
  • Adds hostid and hostid2 configuration options to the Lynis profile for custom host identification 2.4.1 · Feb 2017 · source · release history
  • Initial automatic updater implemented to allow scheduled updates from trusted sources 2.1.1 · Jul 2015 · source · release history
  • Adds IsVirtualMachine function to detect running systems in various VM/container environments (Bochs, KVM, LXC, VMware, etc.) 1.6.2 · Sep 2014 · source · release history

example

  • Display the current system's hardware and container status. lynis show environment 2.4.0 · Oct 2016 · source
Output localization and internationalization shipped Provides translated messages and localized status indicators for non-English users. 4 releases · 1 other source · first seen Feb 2017

release

  • Adds STATUS_NOT_ACTIVE variable to translation files for localizing inactive status messages 3.1.0 · Mar 2024 · source · release history
  • Adds Slovak language translations to the UI. 2.7.1 · Jan 2019 · source · release history
  • Adds norwegian translation for Lynis interface and reports 2.5.4 · Sep 2017 · source · release history
  • Allows colored output tuning via the colors=yes/no profile option in .lynisrc 2.4.3 · Feb 2017 · source · release history

example

  • Change the UI language to Slovak before running an audit. LANG=sk_SK.UTF-8 ./lynis audit system 2.7.1 · Jan 2019 · source
Custom audit report output shipped Allows saving the audit report to a specific file path instead of the default location. 3 releases · 2 other sources · first seen Feb 2015

Also counts toward: Command-line interface

release

  • Adds lynis upload-only subcommand to upload audit data without running a full audit. 2.4.0 · Oct 2016 · source · release history
  • Adds proxy configuration support in the profile to allow report uploads via HTTP or SOCKS proxies 2.2.0 · Mar 2016 · source · release history
  • Adds --report-file <path> to override the default audit report output location. 2.0.0 · Feb 2015 · source · release history

example

  • Upload only the audit results to a remote server without executing a full scan. lynis upload-only 2.4.0 · Oct 2016 · source
  • Save the audit report to a specific file instead of the default directory. lynis audit system --report-file /tmp/lynis_audit.txt 2.0.0 · Feb 2015 · source
Legal banner compliance shipped Checks system banners against defined strings for legal or policy requirements. 2 releases · first seen Mar 2019

release

  • Adds prosecute and report to LEGAL_BANNER_STRINGS for legal banner checks. 3.1.2 · Sep 2024 · source · release history
  • Adds detection for Lynis being scheduled (e.g. cronjob) 2.7.3 · Mar 2019 · source · release history
Working directory configuration verified Allows the tool to be run from the current working directory rather than a default or project root. 1 release · 1 other source · first seen Jun 2020

release

  • Adds --usecwd flag to force Lynis to run from the current working directory. 3.0.0 · Jun 2020 · source · release history

command line

Report content customization shipped Allows users to configure what information is included in the audit report, such as enabling solution descriptions or managing warning visibility. 2 releases · first seen Aug 2016

release

  • Improves report output to display atomic test results (e.g. Show atomic test in report) 2.4.8 · Mar 2017 · source · release history
  • Adds new setting 'show-report-solution' to include solutions in reports 2.3.3 · Aug 2016 · source · release history
Automated scan scheduling shipped Provides systemd templates and example files to help users automate and schedule periodic scans. 1 release · 1 other source · first seen Oct 2014

Also counts toward: Scheduled jobs

release

  • Adds systemd service and timer example file to help users automate scheduled scans. 1.6.3 · Oct 2014 · source · release history

example

  • Automate nightly Lynis scans using the provided systemd templates. cp etc/lynis/systemd/* /etc/systemd/system/ systemctl daemon-reload systemctl enable lynis.timer 1.6.3 · Oct 2014 · source
Data upload configuration shipped Allows users to configure whether scan data is uploaded, supporting centralized collection or privacy control. 1 release · first seen Feb 2017

release

  • Enables configuring whether to upload scan data via a new profile option (typically upload_data) 2.4.3 · Feb 2017 · source · release history
Docker build auditing utility shipped suggested Provides a helper utility specifically for auditing Docker build files. 1 release · first seen Feb 2015

Suggested capability: Security baseline assessment. This is our guess, not confirmed.

release

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Lynis, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Lynis puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

cisofy.com, every change

CISOfy's home, pricing and product pages and 6 more pages as they looked each month from September 2021 to October 2026: 26 renders, 1 change of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

53 entries

  1. June 20261
  2. October 20251
  3. July 20251
  4. January 20251
  5. December 20241
  6. September 20241
  7. March 20242
  8. August 20231
  9. January 20221
  10. July 20212
  11. May 20211
  12. January 20211
  13. December 20201
  14. October 20201
  15. June 20201
  16. June 20191
  17. April 20191
  18. March 20192
  19. January 20191
  20. October 20181
  21. June 20181
  22. May 20181
  23. January 20182
  24. December 20171
  25. October 20171
  26. September 20171
  27. August 20171
  28. July 20171
  29. May 20172
  30. March 20174
  31. February 20173
  32. October 20161
  33. September 20161
  34. August 20162
  35. July 20161
  36. March 20161
  37. July 20151
  38. April 20151
  39. February 20151
  40. November 20141
  41. October 20141
  42. September 20141
    Show

    53 entries

    Project health

    Issue, contributor and maintainer activity in CISOfy/lynis, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 24 −1 vs prior 12 months
    2. Maintainers 1 +0 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 40 days first maintainer reply 36 hours
    6. Open backlog 171 of 958 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 171
    3. Contributors / month 4
    4. Commits / month 8
    5. Stars 16,335
    Issue themes, last 12 months
    • bugs 2%
    • features 4%
    • other 94%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →