Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
pqaudit — Scan codebases for quantum-vulnerable cryptography. Detect RSA, ECDSA, Ed25519, ECDH before Q-Day. CycloneDX CBOM + SARIF output. | Kitploit
Tools/GitHubGitHub/pqcworld/pqaudit
Static AnalysisVulnerability ScannersNetwork MappingCode AnalysisCryptographyDevSecOpsSecret DetectionSupply Chain Security
GitHubpqcworld/pqaudit

pqaudit

Scan codebases for quantum-vulnerable cryptography. Detect RSA, ECDSA, Ed25519, ECDH before Q-Day. CycloneDX CBOM + SARIF output.

View Repository
314 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

pqaudit

CI npm License: MIT Node.js

Scan codebases for quantum-vulnerable cryptography. Get a clear picture of what needs to migrate before Q-Day.

pqaudit demo

pqaudit detects usage of RSA, ECDSA, Ed25519, ECDH, DH, and other algorithms broken by Shor's algorithm. It also identifies already-migrated PQC usage (ML-KEM, ML-DSA, SLH-DSA) so you can track migration progress. Output as human-readable text, JSON, CycloneDX CBOM, SARIF for GitHub Code Scanning, or a self-contained HTML report.

Why now

On March 31, 2026, Google published research showing that breaking ECDSA-256 requires 20x fewer qubits than previously estimated — roughly 1,200 logical qubits and under 500,000 physical qubits. NSA's CNSA 2.0 mandates PQC for new national security systems by 2027. The migration window is open but closing.

Install

root@kitploit:~
npx pqaudit ./my-project

Or install globally:

root@kitploit:~
npm install -g pqaudit
pqaudit ./my-project

Usage

root@kitploit:~
# Scan current directory, human-readable output
pqaudit .

# Only show critical and high findings
pqaudit ./src --severity high

# Generate CycloneDX CBOM
pqaudit . --format cbom --output cbom.json

# Generate SARIF for GitHub Code Scanning
pqaudit . --format sarif --output results.sarif

# CI mode — exit code 1 if critical/high findings exist
pqaudit . --ci

# Show all findings including low-confidence comment matches
pqaudit . --min-confidence 0

# Show every occurrence instead of collapsing per file
pqaudit . --no-dedupe

# Skip dependency scanning
pqaudit . --no-deps

# Use custom rules
pqaudit . --rules ./my-rules.yaml

# Scan TLS/SSH endpoints for quantum-vulnerable crypto
pqaudit . --scan-endpoint api.example.com:443 --scan-endpoint git.example.com:22

# Scan endpoints only (no code scanning)
pqaudit --scan-endpoint example.com:443 --scan-endpoint example.com:22

All options

Example output

root@kitploit:~
  pqaudit — Post-Quantum Cryptography Readiness Scanner
  Scanned: ./my-project

  NOT PQC READY — Quantum-vulnerable cryptography detected

  Files scanned: 65  |  Findings: 12
  Critical: 7  High: 2  Medium: 1  Low: 0  Safe: 2

  --- CRITICAL (7) ---

  [!!] Ed25519 — Ed25519 signatures — vulnerable to Shor's algorithm (14 occurrences)
      src/crypto/signing.ts:14
      > import { sign, verify } from "@noble/ed25519";
      Fix: ML-DSA-65 (FIPS 204) or hybrid Ed25519+ML-DSA-65
      Confidence: 98% | Effort: moderate | Via: ast

  [!!] RSA — RSA signature — vulnerable to quantum factoring (3 occurrences)
      src/auth/jwt.ts:42
      > jwt.sign(payload, key, { algorithm: "RS256" });
      Fix: ML-DSA-65 (FIPS 204)
      Confidence: 96% | Effort: complex | Via: ast

  [!!] ECDSA — Certificate uses ECDSA 256-bit key — vulnerable to Shor's algorithm
      tls://api.example.com:443
      > ECDSA 256-bit key, TLSv1.3
      Fix: Post-quantum certificate algorithms when available
      Confidence: 100% | Effort: complex | Via: network
  ...

What it detects

Critical (quantum-vulnerable — must migrate)

High (weakened by quantum or outdated protocols)

AlgorithmThreatReplacement
AES-128Grover reduces to 64-bitAES-256
TLS 1.0/1.1, SSLv3Deprecated protocolsTLS 1.3
SSH (detected via network)DH/ECDH key exchangePQ hybrid key exchange

Safe (already quantum-resistant)

ML-KEM (Kyber), ML-DSA (Dilithium), SLH-DSA (SPHINCS+), AES-256, ChaCha20-Poly1305, SHA-256, SHA-3

Output formats

CycloneDX CBOM

Generates a Cryptographic Bill of Materials conforming to CycloneDX 1.6. Each cryptographic finding becomes a crypto-asset component with cryptoProperties, NIST quantum security levels, and evidence locations.

root@kitploit:~
pqaudit . --format cbom --output cbom.json

SARIF (GitHub Code Scanning)

Generates SARIF 2.1.0 output compatible with GitHub's code scanning. Upload via github/codeql-action/upload-sarif.

root@kitploit:~
pqaudit . --format sarif --output results.sarif

HTML report

Self-contained HTML file with a visual dashboard — severity breakdown, PQC readiness score, and findings table. No external dependencies, works offline.

root@kitploit:~
pqaudit . --format html --output report.html

GitHub Action

root@kitploit:~
name: PQC Audit
on: [push, pull_request]
jobs:
  pqaudit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
      - run: npx pqaudit . --format sarif --output pqaudit.sarif --ci
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: pqaudit.sarif
          category: pqaudit

Dependency scanning

pqaudit checks manifest files for known cryptographic libraries across five ecosystems:

PQC-safe libraries (@noble/post-quantum, pqcrypto, cloudflare/circl) are flagged as safe for inventory tracking.

Custom rules

Rules are defined in YAML:

root@kitploit:~
- id: MY_CUSTOM_RULE
  description: "Custom quantum-vulnerable pattern"
  severity: critical
  category: signature
  algorithm: MyAlgo
  replacement: ML-DSA-65
  effort: complex
  languages: ["javascript", "typescript"]
  patterns:
    - "myVulnerableFunction\\("
    - "import.*myVulnerableLib"

See CONTRIBUTING.md for the full rule schema and how to submit new rules.

Protocol and config detection

pqaudit scans configuration files for quantum-vulnerable crypto settings:

  • SSH: RSA/ECDSA key types, DH/ECDH key exchange in sshd_config/ssh_config
  • TLS: deprecated protocols (1.0/1.1/SSLv3) and vulnerable cipher suites in nginx/apache/haproxy configs
  • Kubernetes: TLS secrets and cert-manager RSA private keys
  • Docker: crypto library installs in Dockerfiles

Extensionless config files (Dockerfile, sshd_config, ssh_config) are automatically detected and scanned.

Network scanning

Probe live TLS and SSH endpoints for quantum-vulnerable crypto configurations:

root@kitploit:~
pqaudit --scan-endpoint api.example.com:443 --scan-endpoint git.example.com:22

TLS endpoints (any port, or specify tls://host:port):

  • Negotiated protocol version (TLS 1.2 vs 1.3)
  • Cipher suite key exchange (RSA static, ECDHE — both quantum-vulnerable)
  • Certificate public key algorithm and size (RSA, ECDSA)

SSH endpoints (port 22 auto-detected, or specify ssh://host:port):

  • Server banner detection (OpenSSH, etc.)
  • Flags quantum-vulnerable DH/ECDH key exchange

Network findings have 100% confidence (observed facts, not pattern matches) and appear alongside code findings in all output formats.

Detection methods

pqaudit uses four detection methods:

  • L0 (regex): Pattern matching across all supported languages and config files
  • L1 (AST): Tree-sitter parsing for JS/TS — detects actual imports, function calls, API usage (0.95-0.98 confidence)
  • Dependency: Manifest file scanning across npm, Cargo, Go, pip, and Gradle/Maven
  • Network: Live TLS/SSH endpoint probing for cipher suites and certificate algorithms (100% confidence)

Planned:

  • L2: Data flow / taint analysis for tracing cryptographic data through call chains

Contributing

See CONTRIBUTING.md for guidelines on submitting rules, bug fixes, and new features.

References

  • NIST FIPS 203 — ML-KEM
  • NIST FIPS 204 — ML-DSA
  • NIST FIPS 205 — SLH-DSA
  • NSA CNSA 2.0 Timeline
  • CycloneDX CBOM Specification
  • Google PQC Migration Timeline (March 2026)
  • Google Quantum Vulnerability Research (March 2026)

License

MIT

Download Tool
FlagDescriptionDefault
-f, --format <format>Output format: text, json, cbom, sarif, htmltext
-o, --output <file>Write output to filestdout
-s, --severity <level>Minimum severity: critical, high, medium, low, safesafe
--min-confidence <0-100>Filter findings below this confidence threshold50
--no-dedupeShow all occurrences instead of collapsing per filededupe on
--no-depsSkip dependency scanningscan deps
--include <patterns...>Glob patterns to includeall source files
--exclude <patterns...>Additional glob patterns to excludenode_modules, dist, etc.
--rules <path>Path to custom rules YAML filebuilt-in rules
--scan-endpoint <endpoints...>TLS/SSH endpoints to probe (host:port)none
--network-timeout <ms>Network connection timeout5000
--ciExit code 1 if critical or high findings existoff
AlgorithmThreatReplacement
RSA (any key size)Shor's algorithmML-KEM-768 / ML-DSA-65
ECDSA / Ed25519Shor's on elliptic curvesML-DSA-65 (FIPS 204)
ECDH / X25519 / DHShor's on key exchangeML-KEM-768 (FIPS 203)
DSAShor's algorithmML-DSA-65 (FIPS 204)
EcosystemManifest filesExample packages
npmpackage.json@noble/ed25519, node-rsa, jsonwebtoken, ethers
RustCargo.tomled25519-dalek, rsa, ring, p256, pqcrypto
Gogo.modgolang.org/x/crypto, cloudflare/circl
Pythonrequirements.txt, pyproject.tomlcryptography, pycryptodome, paramiko
Javabuild.gradle, pom.xmlBouncyCastle, Google Tink