Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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.

FeedsContactPrivacy© 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
31145 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 →
Website
Share

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

npx pqaudit ./my-project

Or install globally:

npm install -g pqaudit
pqaudit ./my-project

Usage

# 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

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

Example output

  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)

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)

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.

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.

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.

pqaudit . --format html --output report.html

GitHub Action

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:

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

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

Custom rules

Rules are defined in YAML:

- 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"
Download Tool