# Install badkeys with Homebrew, Nix

Tool to find common vulnerabilities in cryptographic public keys. Version 0.0.19 via Homebrew; verified 2026-06-17.

## Install

```sh
sudo av install brew:badkeys
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install badkeys
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#badkeys
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ba/badkeys/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:badkeys
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/badkeys>
- **Version:** 0.0.19
- **Source summary:** Tool to find common vulnerabilities in cryptographic public keys
- **Homepage:** <https://badkeys.info>
- **Repository:** <https://github.com/badkeys/badkeys>
- **Upstream docs:** <https://badkeys.info/>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/bd/a7/b222a5f0db2bc9e765252a109da1ab1baeed0da6e0b050e2baa3208650c4/badkeys-0.0.19.tar.gz>
- **Last updated:** 2026-06-17T09:59:35Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- badkeys (cli)
- badkeys (alias)

## Dependencies

- cryptography
- gmp
- libmpc
- mpfr
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.0.19
- Package-manager updated: 2026-06-17
- Local data: ok
- Upstream repository: https://badkeys.info
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

badkeys is a Python tool and library for checking cryptographic public keys against known vulnerability patterns and blocklist data. It sits in the practical security-tooling niche between certificate/key parsers and vulnerability scanners.

### Project history

The badkeys GitHub repository was created in January 2022. Its README says the tool checks public keys in multiple formats for known vulnerabilities, with a public web version at badkeys.info.

The README credits Hanno Boeck as author, says the work was initially funded in 2022 through the CIDI project and CISAT at the IT University of Copenhagen, and notes later 2025/2026 support from NLnet's NGI0 Core Fund.

### Adoption history

The project is distributed through PyPI and appears in Homebrew and Nix in the batch package metadata. The README also points users to Repology for distribution packages, suggesting upstream expected operating-system packaging beyond Python-only installation.

Release names show the project expanding its checks over time, including DKIM support in 2024, parser robustness and return-code improvements in 2026, and a 'Post-Quantum Edition' release in June 2026.

### How it is used

badkeys users first download blocklist data with badkeys --update-bl, then scan key, certificate, CSR, SSH public key, TLS host, or SSH host material. The README documents return codes that distinguish application errors, parser problems, and vulnerable keys.

Its command-line use is intentionally automation-friendly: quiet output when no vulnerable keys are found, an all-keys output flag for audits, and bitmask return codes for CI or batch scans.

### Why package nerds care

badkeys is package-nerd relevant because it turns a pile of cryptographic failure cases into a reusable CLI and library with data updates. Packaging it gives security teams a repeatable way to scan public keys without copying ad hoc scripts around.

It also illustrates a modern security package pattern: a small Python CLI, external vulnerability/blocklist data, optional network scanning modes, and package-manager availability for workstation and CI installation.

### Timeline

- 2022: Public GitHub repository created and initial CIDI/CISAT funding period described by upstream.
- 2024: v0.0.7 and v0.0.9 releases published; v0.0.9 added DKIM support.
- 2025: Upstream README notes NLnet NGI0 Core Fund support across 2025/2026.
- 2026: v0.0.19 'Post-Quantum Edition' released.

### Related projects

- badkeys is adjacent to OpenSSL, SSH host-key audit tooling, TLS scanners, DKIM key checking, and certificate linting tools.
- The README notes Paramiko as an optional dependency for SSH scanning.

### Sources

- <https://badkeys.info/>
- <https://github.com/badkeys/badkeys>
- <https://github.com/badkeys/badkeys/releases>
- <https://pypi.org/project/badkeys/>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for badkeys. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** badkeys
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - badkeys: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/badkeys/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [argon2](https://www.automicvault.com/pkg/brew/argon2/) - Shares av.db curated category or tags: cli, cryptography, security.
- [bcrypt](https://www.automicvault.com/pkg/brew/bcrypt/) - Shares av.db curated category or tags: cli, cryptography, security.
- [botan](https://www.automicvault.com/pkg/brew/botan/) - Shares av.db curated category or tags: cli, cryptography, security.
- [ccrypt](https://www.automicvault.com/pkg/brew/ccrypt/) - Shares av.db curated category or tags: cli, cryptography, security.
- [cfssl](https://www.automicvault.com/pkg/brew/cfssl/) - Shares av.db curated category or tags: cli, cryptography, security.
- [gmssl](https://www.automicvault.com/pkg/brew/gmssl/) - Shares av.db curated category or tags: cli, cryptography, security.
- [gnupg-pkcs11-scd](https://www.automicvault.com/pkg/brew/gnupg-pkcs11-scd/) - Shares av.db curated category or tags: cli, cryptography, security.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Shares av.db curated category or tags: cli, cryptography, security.
- [safety](https://www.automicvault.com/pkg/brew/safety/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, cryptography, python, python-3-14, security.
- [snyk-agent-scan](https://www.automicvault.com/pkg/brew/snyk-agent-scan/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, cryptography, python, python-3-14, security.

## Combined YAML source

View the package source record on GitHub. [combined/badkeys.yml](https://github.com/automic-vault/db/blob/main/combined/badkeys.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
