
कोडबेस में क्वांटम-असुरक्षित क्रिप्टोग्राफी की स्कैन करें। Q-Day से पहले RSA, ECDSA, Ed25519, ECDH का पता लगाएं। CycloneDX CBOM + SARIF आउटपुट।
क्वांटम-असुरक्षित क्रिप्टोग्राफी के लिए कोडबेस स्कैन करें। Q-Day से पहले क्या माइग्रेट करना है, इसकी स्पष्ट तस्वीर प्राप्त करें।

pqaudit RSA, ECDSA, Ed25519, ECDH, DH और शोर के एल्गोरिथम से टूटने वाले अन्य एल्गोरिदम के उपयोग का पता लगाता है। यह पहले से माइग्रेट किए गए PQC उपयोग (ML-KEM, ML-DSA, SLH-DSA) की भी पहचान करता है ताकि आप माइग्रेशन प्रगति को ट्रैक कर सकें। आउटपुट मानव-पठनीय टेक्स्ट, JSON, CycloneDX CBOM, GitHub कोड स्कैनिंग के लिए SARIF, या एक स्व-निहित HTML रिपोर्ट के रूप में।
31 मार्च 2026 को, Google ने शोध प्रकाशित किया जिसमें दिखाया गया कि ECDSA-256 को तोड़ने के लिए पहले के अनुमान से 20 गुना कम क्विबिट की आवश्यकता है — लगभग 1,200 लॉजिकल क्विबिट और 500,000 भौतिक क्विबिट से कम। NSA का CNSA 2.0 2027 तक नई राष्ट्रीय सुरक्षा प्रणालियों के लिए PQC अनिवार्य करता है। माइग्रेशन विंडो खुली है लेकिन बंद हो रही है।
npx pqaudit ./my-project
या वैश्विक रूप से इंस्टॉल करें:
npm install -g pqaudit
pqaudit ./my-project
# 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
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
...
| एल्गोरिदम | खतरा | प्रतिस्थापन |
|---|---|---|
| AES-128 | ग्रोवर 64-बिट तक कम कर देता है | AES-256 |
| TLS 1.0/1.1, SSLv3 | अप्रचलित प्रोटोकॉल | TLS 1.3 |
| SSH (नेटवर्क के माध्यम से पता चला) | DH/ECDH कुंजी विनिमय | PQ हाइब्रिड कुंजी विनिमय |
ML-KEM (Kyber), ML-DSA (Dilithium), SLH-DSA (SPHINCS+), AES-256, ChaCha20-Poly1305, SHA-256, SHA-3
CycloneDX 1.6 के अनुरूप एक क्रिप्टोग्राफ़िक बिल ऑफ़ मैटीरियल्स जनरेट करता है। प्रत्येक क्रिप्टोग्राफ़िक निष्कर्ष cryptoProperties, NIST क्वांटम सुरक्षा स्तर और साक्ष्य स्थानों के साथ एक crypto-asset घटक बन जाता है।
pqaudit . --format cbom --output cbom.json
GitHub के कोड स्कैनिंग के साथ संगत SARIF 2.1.0 आउटपुट जनरेट करता है। github/codeql-action/upload-sarif के माध्यम से अपलोड करें।
pqaudit . --format sarif --output results.sarif
एक विज़ुअल डैशबोर्ड के साथ स्व-निहित HTML फ़ाइल — गंभीरता विभाजन, PQC तत्परता स्कोर और निष्कर्ष तालिका। कोई बाहरी निर्भरता नहीं, ऑफ़लाइन काम करता है।
pqaudit . --format html --output report.html
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
pqaudit पाँच पारिस्थितिकी तंत्रों में ज्ञात क्रिप्टोग्राफ़िक लाइब्रेरीज़ के लिए मेनिफ़ेस्ट फ़ाइलों की जाँच करता है:
PQC-सुरक्षित लाइब्रेरीज़ (@noble/post-quantum, pqcrypto, cloudflare/circl) को इन्वेंट्री ट्रैकिंग के लिए safe के रूप में चिह्नित किया गया है।
नियम 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"
पूर्ण नियम स्कीमा और नए नियम सबमिट करने के तरीके के लिए CONTRIBUTING.md देखें।
pqaudit क्वांटम-असुरक्षित क्रिप्टो सेटिंग्स के लिए कॉन्फ़िगरेशन फ़ाइलों को स्कैन करता है:
sshd_config/ssh_config में RSA/ECDSA कुंजी प्रकार, DH/ECDH कुंजी विनिमयएक्सटेंशन रहित कॉन्फ़िग फ़ाइलें (Dockerfile, sshd_config, ssh_config) स्वचालित रूप से पता लगाई जाती हैं और स्कैन की जाती हैं।
क्वांटम-असुरक्षित क्रिप्टो कॉन्फ़िगरेशन के लिए लाइव TLS और SSH एंडपॉइंट की जाँच करें:
pqaudit --scan-endpoint api.example.com:443 --scan-endpoint git.example.com:22
TLS एंडपॉइंट (कोई भी पोर्ट, या tls://host:port निर्दिष्ट करें):
SSH एंडपॉइंट (पोर्ट 22 स्वचालित रूप से पता चला, या ssh://host:port निर्दिष्ट करें):
नेटवर्क निष्कर्षों की 100% विश्वसनीयता है (देखे गए तथ्य, पैटर्न मिलान नहीं) और सभी आउटपुट प्रारूपों में कोड निष्कर्षों के साथ दिखाई देते हैं।
pqaudit चार डिटेक्शन विधियों का उपयोग करता है:
योजना:
नियम सबमिट करने, बग फिक्स और नई सुविधाओं के दिशानिर्देशों के लिए CONTRIBUTING.md देखें।
MIT
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|
-f, --format <format> | आउटपुट प्रारूप: text, json, cbom, sarif, html | text |
-o, --output <file> | आउटपुट को फ़ाइल में लिखें | stdout |
-s, --severity <level> | न्यूनतम गंभीरता: critical, high, medium, low, safe | safe |
--min-confidence <0-100> | इस विश्वास सीमा से नीचे के निष्कर्षों को फ़िल्टर करें | 50 |
--no-dedupe | प्रति फ़ाइल संक्षिप्त करने के बजाय सभी घटनाएँ दिखाएँ | dedupe on |
--no-deps | निर्भरता स्कैनिंग छोड़ें | scan deps |
--include <patterns...> | शामिल करने के लिए ग्लोब पैटर्न | सभी स्रोत फ़ाइलें |
--exclude <patterns...> | बाहर करने के लिए अतिरिक्त ग्लोब पैटर्न | node_modules, dist, etc. |
--rules <path> | कस्टम नियम YAML फ़ाइल का पथ | बिल्ट-इन नियम |
--scan-endpoint <endpoints...> | जाँचने के लिए TLS/SSH एंडपॉइंट (host:port) | none |
--network-timeout <ms> | नेटवर्क कनेक्शन टाइमआउट | 5000 |
--ci | यदि critical या high निष्कर्ष मौजूद हैं तो एग्ज़िट कोड 1 | off |
| एल्गोरिदम | खतरा | प्रतिस्थापन |
|---|
| RSA (कोई भी कुंजी आकार) | शोर का एल्गोरिदम | ML-KEM-768 / ML-DSA-65 |
| ECDSA / Ed25519 | एलिप्टिक कर्व्स पर शोर | ML-DSA-65 (FIPS 204) |
| ECDH / X25519 / DH | कुंजी विनिमय पर शोर | ML-KEM-768 (FIPS 203) |
| DSA | शोर का एल्गोरिदम | ML-DSA-65 (FIPS 204) |
| पारिस्थितिकी तंत्र | मेनिफ़ेस्ट फ़ाइलें | उदाहरण पैकेज |
|---|
| npm | package.json | @noble/ed25519, node-rsa, jsonwebtoken, ethers |
| Rust | Cargo.toml | ed25519-dalek, rsa, ring, p256, pqcrypto |
| Go | go.mod | golang.org/x/crypto, cloudflare/circl |
| Python | requirements.txt, pyproject.toml | cryptography, pycryptodome, paramiko |
| Java | build.gradle, pom.xml | BouncyCastle, Google Tink |