Open source

Free security tools for small teams

Open source tools for engineers at companies without a security team, one pick for each job. Every tool is under an open source license and free to use; where the project also sells a paid tier, it says so. Each tool's last commit, latest release, license, GitHub stars and OpenSSF Scorecard score are checked daily. Stars show how widely a tool is used, not that it is safe; the Scorecard score rates how the project protects its own code and releases.

01

Keep backups you can restore after ransomware

Ransomware encrypts the backups it can reach. Keep an encrypted copy somewhere the server cannot delete, and test a restore.

Pickfreecommand line

restic

restic/restic

Encrypted, deduplicated backups to a local disk, SFTP or S3-compatible storage. One binary.

Try it

restic init --repo /srv/backup
License
BSD-2-Clause
Last commit
2026-10-18
Latest release
v0.19.1 · 2026-07-05
GitHub stars
36.9K
OpenSSF Scorecard
7.3 / 10 · 2026-10-19
Alternativefreecommand line

BorgBackup

borgbackup/borg

Encrypted, deduplicated backups over SSH, with append-only repositories a compromised client cannot erase.

License
BSD-3-Clause
Last commit
2026-10-27
Latest release
1.4.5 · 2026-07-18
GitHub stars
13.9K
OpenSSF Scorecard
6.4 / 10 · 2026-10-26
02

Find unpatched packages on your servers

Outside scans cannot see backported fixes. A package inventory from inside the server can, which is how you confirm a PHP or OpenSSL fix landed.

Pickfreecommand line

Vuls

future-architect/vuls

Agentless vulnerability scanner for Linux and FreeBSD that reads the installed packages over SSH and matches them to advisories.

License
GPL-3.0
Last commit
2026-10-28
Latest release
v0.42.0 · 2026-10-15
GitHub stars
12.3K
OpenSSF Scorecard
8.1 / 10 · 2026-10-28
Alternativefree, with a paid tiercommand line

Lynis

CISOfy/lynis

Audits a Linux or macOS host's configuration and lists concrete hardening steps. Runs from a git checkout with nothing to install.

Try it

cd lynis && ./lynis audit system
License
GPL-3.0
Last commit
2026-09-16
Latest release
3.1.7 · 2026-06-25
GitHub stars
16.6K
OpenSSF Scorecard
5.2 / 10 · 2026-10-26
03

Find known vulnerabilities in your dependencies

Most of the code you ship is someone else's. Check lockfiles against public advisories on every change.

Pickfreecommand line

OSV-Scanner

google/osv-scanner

Reads lockfiles for npm, Composer, PyPI, Go, Maven and more, and matches them against the OSV.dev database.

Try it

osv-scanner scan source -r .
License
Apache-2.0
Last commit
2026-10-28
Latest release
v2.7.0 · 2026-10-12
GitHub stars
11.3K
OpenSSF Scorecard
8.6 / 10 · 2026-10-28
04

Scan container images before you deploy them

A base image you pulled a year ago carries a year of unpatched packages.

Pickfreecommand line

Grype

anchore/grype

Scans a container image or a project directory for vulnerable packages.

Try it

grype alpine:latest
License
Apache-2.0
Last commit
2026-10-27
Latest release
v0.121.0 · 2026-10-19
GitHub stars
13.1K
OpenSSF Scorecard
8.2 / 10 · 2026-05-18
Alternativefreecommand line

Trivy

aquasecurity/trivy

Finds vulnerable packages, leaked secrets and misconfigurations in images, file systems and IaC files.

Try it

trivy image python:3.4-alpine
License
Apache-2.0
Last commit
2026-10-28
Latest release
v0.76.1 · 2026-10-21
GitHub stars
38.8K
OpenSSF Scorecard
6.4 / 10 · 2026-03-16

Security incident ·

Attackers with stolen project credentials published a malicious Trivy v0.69.4, malicious Docker Hub images v0.69.5 and v0.69.6, and rewrote the trivy-action and setup-trivy tags to steal CI secrets (CVE-2026-33634). v0.69.3 and earlier, trivy-action 0.35.0 and the Homebrew formula were not affected. If a pipeline ran an affected version, rotate the secrets it could read, and pin GitHub Actions to commit SHAs.

Advisory
05

Keep dependencies up to date without doing it by hand

A fix only helps once you have upgraded to it. A bot that opens the upgrade pull requests keeps the gap short.

PickfreeCI or bot

Renovate

renovatebot/renovate

Opens pull requests that update dependencies, grouped and scheduled the way you configure. Works with GitHub, GitLab, Bitbucket and others.

License
AGPL-3.0
Last commit
2026-10-28
Latest release
44.192.2 · 2026-10-28
GitHub stars
22.9K
OpenSSF Scorecard
6.7 / 10 · 2026-10-28
06

Find passwords and API keys committed to git

A key deleted in a later commit is still in the history. Scan the whole history once, then every commit.

Pickfreecommand line

Gitleaks

gitleaks/gitleaks

Scans git history, directories or stdin for secrets. Runs as a pre-commit hook or in CI.

Try it

gitleaks git -v
License
MIT
Last commit
2026-10-23
Latest release
v8.30.1 · 2026-03-21
GitHub stars
30.5K
OpenSSF Scorecard
not scored
Alternativefree, with a paid tiercommand line

TruffleHog

trufflesecurity/trufflehog

Finds secrets and checks whether each one still works, so you rotate the live ones first.

Try it

trufflehog git file://. --results=verified
License
AGPL-3.0
Last commit
2026-10-28
Latest release
v3.99.7 · 2026-10-24
GitHub stars
28.8K
OpenSSF Scorecard
7.9 / 10 · 2026-10-19
07

Catch insecure patterns in your own code

SQL built from strings, unescaped output and shell calls with user input are cheap to catch in review and expensive in production.

Pickfree, with a paid tiercommand line

Pattern-based static analysis for over 30 languages. The free engine checks one file at a time; cross-file analysis is in the paid platform.

License
LGPL-2.1
Last commit
2026-10-28
Latest release
v1.182.0 · 2026-10-20
GitHub stars
17.3K
OpenSSF Scorecard
not scored
Alternativefreecommand line

Opengrep

opengrep/opengrep

A community fork of Semgrep's engine, kept fully open source. Bring your own rules.

Try it

opengrep scan -f rules code
License
LGPL-2.1
Last commit
2026-10-28
Latest release
v1.33.0 · 2026-10-27
GitHub stars
3.3K
OpenSSF Scorecard
not scored
08

Check your GitHub Actions workflows

A workflow that runs untrusted input or an unpinned action can hand your deploy keys to anyone who opens a pull request.

Pickfreecommand line

zizmor

zizmorcore/zizmor

Static analysis for GitHub Actions: template injection, unpinned actions, credential leaks and over-broad permissions.

Try it

zizmor .github/workflows/
License
MIT
Last commit
2026-10-28
Latest release
v1.31.1 · 2026-10-15
GitHub stars
6.8K
OpenSSF Scorecard
not scored
AlternativefreeCI or bot

OpenSSF Scorecard

ossf/scorecard

Scores a repository's security practices, such as branch protection, pinned dependencies and signed releases. Also useful for judging a dependency.

Try it

scorecard --repo=github.com/ossf/scorecard
License
Apache-2.0
Last commit
2026-10-28
Latest release
v5.6.0 · 2026-10-12
GitHub stars
5.8K
OpenSSF Scorecard
8.6 / 10 · 2026-10-28
09

Test your own web app for common holes

Run it against your own staging site, never someone else's. A baseline scan only looks; an active scan sends attacks.

Pickfreecommand line

ZAP

zaproxy/zaproxy

A web app scanner and intercepting proxy. The baseline scan reports missing headers, cookie flags and similar issues without attacking.

Try it

docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t https://staging.example.com
License
Apache-2.0
Last commit
2026-10-28
Latest release
v2.17.0 · 2025-12-15
GitHub stars
16.1K
OpenSSF Scorecard
6.8 / 10 · 2026-10-19
Alternativefree, with a paid tiercommand line

Nuclei

projectdiscovery/nuclei

Template-based scanner with community templates for known CVEs, exposed panels and misconfigurations.

License
MIT
Last commit
2026-10-28
Latest release
v3.11.1 · 2026-08-08
GitHub stars
32.4K
OpenSSF Scorecard
6.8 / 10 · 2026-10-19
10

Check your TLS setup

Old protocol versions, weak ciphers and an incomplete certificate chain all show up from outside.

Pickfreecommand line

testssl.sh

testssl/testssl.sh

Checks a server's protocols, ciphers, certificate chain and known TLS flaws. A shell script with no dependencies beyond bash and openssl.

Try it

docker run --rm -it ghcr.io/testssl/testssl.sh example.com
License
GPL-2.0
Last commit
2026-10-28
Latest release
v3.2.4 · 2026-07-12
GitHub stars
9.3K
OpenSSF Scorecard
not scored
Alternativefreecommand line

SSLyze

nabla-c0d3/sslyze

A fast TLS scanner that can fail a CI job when a server drifts from the Mozilla configuration you choose.

License
AGPL-3.0
Last commit
2026-10-28
Latest release
6.3.1 · 2026-03-29
GitHub stars
3.8K
OpenSSF Scorecard
3.1 / 10 · 2026-10-19
11

Know when a site goes down or a certificate is about to expire

An expired certificate takes a site down as surely as an attack, and it is announced weeks in advance.

Pickfreeself-hosted service

Uptime Kuma

louislam/uptime-kuma

A self-hosted status monitor for HTTP, TCP, DNS and more, with certificate expiry alerts to email, Slack and many other channels.

Try it

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
License
MIT
Last commit
2026-10-28
Latest release
2.5.8 · 2026-10-26
GitHub stars
93K
OpenSSF Scorecard
not scored
Alternativefreeself-hosted service

Gatus

TwiN/gatus

Health checks written as YAML conditions, including certificate expiry, with a status page.

License
Apache-2.0
Last commit
2026-10-28
Latest release
v5.38.0 · 2026-10-28
GitHub stars
12.4K
OpenSSF Scorecard
not scored
12

Stop others sending mail as your domain

Without SPF, DKIM and an enforced DMARC policy, anyone can send invoices that appear to come from you.

Pickfreecommand line

checkdmarc

domainaware/checkdmarc

Validates a domain's SPF, DMARC, MX, MTA-STS and BIMI records and explains what is wrong.

Try it

checkdmarc example.com
License
Apache-2.0
Last commit
2026-10-13
Latest release
6.0.4 · 2026-10-13
GitHub stars
324
OpenSSF Scorecard
not scored
Alternativefreeself-hosted service

parsedmarc

domainaware/parsedmarc

Reads the DMARC reports mailbox providers send you, so you can see who sends as your domain before you enforce the policy.

License
Apache-2.0
Last commit
2026-10-27
Latest release
11.1.0 · 2026-10-27
GitHub stars
1.3K
OpenSSF Scorecard
5.7 / 10 · 2026-10-19
13

Block brute-force logins and scanners

Every public server sees password guessing within minutes of going online. Ban the sources automatically.

Pickfree, with a paid tierself-hosted service

CrowdSec

crowdsecurity/crowdsec

Reads your logs, detects attacks and blocks the sources at the firewall, web server or CDN, with an IP blocklist shared by its users.

License
MIT
Last commit
2026-10-28
Latest release
v1.8.2 · 2026-10-26
GitHub stars
15.4K
OpenSSF Scorecard
7.3 / 10 · 2026-10-26
Alternativefreeself-hosted service

Fail2ban

fail2ban/fail2ban

The long-standing log watcher that bans IP addresses after repeated failures, for SSH, mail and web logins.

License
GPL-2.0
Last commit
2026-10-27
Latest release
1.1.1 · 2026-08-15
GitHub stars
18.9K
OpenSSF Scorecard
4.8 / 10 · 2026-10-26
14

Put a web application firewall in front of a PHP site

A WAF does not fix a vulnerable PHP build, but it filters common attacks while the fix is scheduled.

Pickfreerule set

OWASP CRS

coreruleset/coreruleset

The standard open rule set for ModSecurity, Coraza and compatible firewalls, covering the OWASP Top Ten.

License
Apache-2.0
Last commit
2026-10-26
Latest release
v4.30.0 · 2026-10-02
GitHub stars
3.3K
OpenSSF Scorecard
7.5 / 10 · 2026-10-26
Alternativefreeself-hosted service

Coraza

corazawaf/coraza

A WAF engine compatible with ModSecurity rules, available as a Caddy, Envoy or HAProxy plugin.

License
Apache-2.0
Last commit
2026-10-28
Latest release
v3.8.1 · 2026-10-02
GitHub stars
4K
OpenSSF Scorecard
8.9 / 10 · 2026-10-26
15

Share passwords within the team without a spreadsheet

Shared logins end up in a spreadsheet or a chat thread. A team vault gives each person access to only what they need, and lets you revoke it.

Pickfreeself-hosted service

Vaultwarden

dani-garcia/vaultwarden

A lightweight, unofficial server compatible with the Bitwarden apps and browser extensions, including organizations and sharing.

License
AGPL-3.0
Last commit
2026-10-28
Latest release
1.37.4 · 2026-10-05
GitHub stars
69.9K
OpenSSF Scorecard
not scored
Alternativefree, with a paid tierself-hosted service

Passbolt Community Edition

passbolt/passbolt_api

A self-hosted team password manager built around sharing, with per-item permissions.

License
AGPL-3.0
Last commit
2026-10-20
Latest release
v5.17.0 · 2026-10-20
GitHub stars
6.2K
OpenSSF Scorecard
4.1 / 10 · 2026-10-26
16

Stop AI coding agents from running destructive commands

An agent with a shell can run git reset --hard or rm -rf on the wrong directory, or read your .env file, in the time it takes to approve a prompt.

Pickfreecommand lineBy the author of this site

CC Safety Net

kenryu42/cc-safety-net

A hook that parses each command before an agent runs it and blocks destructive git and file system commands and reads of secrets. Supports Claude Code, Codex, Cursor and other coding CLIs.

Try it

npx -y cc-safety-net@latest install
License
MIT
Last commit
2026-10-28
Latest release
v2.7.0 · 2026-10-27
GitHub stars
1.8K
OpenSSF Scorecard
not scored

Suggest an addition or correction (data/tools.yaml)