quantakrypto pqc-tools

io.github.quantakryptoPublished by GitHub account quantakryptov0.5.2Updated Oct 24, 2026

Scan code for quantum-vulnerable cryptography and get NIST post-quantum migration guidance.

VerifiedStreamable HTTPWeb executableDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Gives coding assistants post-quantum readiness tools: explain quantum-vulnerable crypto findings, suggest hybrid migrations, and verify fixes.

What you can do
  • Explain detector rules and findings, and list the detector catalog
  • Check whether a dependency is in a known quantum-vulnerable database
  • Suggest post-quantum or hybrid replacements and return before/after fix examples
  • Produce triage and remediation request bundles for the host agent, then attach verdicts and re-sort by exposure
  • Verify proposed full-file patches and re-scan code snippets for remaining classical crypto
  • Compare readiness scores and harvest-now-decrypt-later change between two finding sets
When to use it
Useful when auditing a codebase for classical cryptography such as RSA, ECDH or ECDSA and planning a migration to post-quantum or hybrid algorithms, or when an assistant needs to check and verify its own remediation edits against a deterministic gate.
Requirements
Runs as a remote HTTP endpoint or as a local npm package over stdio; the README states Node 20 or later for the toolchain. No authentication, environment variables or headers are declared, and the tools described need no API key or network access.
Before you install
Tools that write or apply patches act on code you supply; verify_fix and apply_verified_patch only check snippets and proposed content, so review changes before committing them. Triage and remediation bundles are meant for the host agent to reason over, so their output reflects the model's judgment rather than a cryptographic proof.

Installation

In SourceWeft

  1. Open quantakrypto pqc-tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.quantakrypto%2Fpqc-tools/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "quantakrypto-pqc-tools": {
      "type": "http",
      "url": "https://mcp.quantakrypto.com/mcp"
    }
  }
}

README

quantakrypto-tools

[CI] [License: Apache-2.0] [OpenSSF Best Practices] [npm @quantakrypto/core] [npm @quantakrypto/qscan] [npm @quantakrypto/mcp] [npm @quantakrypto/sieve] [npm @quantakrypto/agent] [npm @quantakrypto/qprobe] [Node ≥20] [TypeScript strict] [Runtime deps: 0] [PQC targets: FIPS 203/204/205]

Open-source post-quantum readiness tooling by quantakrypto. Find quantum-vulnerable cryptography in any codebase, wire post-quantum readiness into your editor and your CI, and conformance-test post-quantum implementations — with zero runtime dependencies (Node built-ins only).

Design goals: simple, clean, reusable code; zero runtime dependencies; everything documented, tested, and example-driven.

What's inside

ToolWhat it doesGet it
qScan (@quantakrypto/qscan)CLI that finds quantum-vulnerable crypto (RSA, (EC)DH, ECDSA, EdDSA, …) across 14 languages (JS/TS, Python, Go, Java/Kotlin/Scala, C#, Rust, Ruby, PHP, Elixir, C/C++, Swift, Objective-C, Dart, Solidity/Move/Cairo) and prints a readiness score. SARIF / JSON / CBOM / evidence (ISO 27001 A.8.24) / OpenVEX output, baselines, incremental & parallel scans. Compliance mandate gate: --mandate cnsa-2.0 / nist-ir-8547 reports each prohibited finding with its dated clause and fails the build on the mandate's deadlines (--lead-months, --fail-now). Opt-in --triage (BYOK LLM re-rank/explain) and a qremediate codemod CLI.npx @quantakrypto/qscan ./
MCP (@quantakrypto/mcp)Model Context Protocol server that gives AI coding agents post-quantum readiness tools (16 tools — scan, inventory, explain, suggest-hybrid, CBOM, plan-migration, triage, remediate, probe-endpoint, …). Local stdio + hostable HTTP.claude mcp add quantakrypto npx @quantakrypto/mcp
Sieve (@quantakrypto/sieve)Conformance battery for ML-KEM (FIPS 203), ML-DSA (FIPS 204), and SLH-DSA (FIPS 205) implementations, driven over a JSON stdin/stdout protocol.npx @quantakrypto/sieve --help
Action (@quantakrypto/action)GitHub Action that runs the qScan/Sieve/qProbe checks in CI, writes SARIF for code-scanning upload, annotates the diff, and fails the build only on new quantum-vulnerable crypto.uses: quantakrypto/pqc-tools/packages/action@v1
agent (@quantakrypto/agent)Optional, zero-dependency BYOK (bring-your-own-key) LLM client (native fetch; Anthropic + OpenAI-compatible adapters) that powers qScan --triage and qremediate --llm. Networked, key-holding — kept isolated (see also qProbe).npm i @quantakrypto/agent
qProbe (@quantakrypto/qprobe)Actively probes live TLS/SSH endpoints you own for post-quantum readiness — PQC-hybrid key exchange (X25519MLKEM768) and classical certificate posture. Gated behind an ownership attestation; reports, never modifies ("engine disposes"). See THREAT-MODEL.npx @quantakrypto/qprobe --i-own-this host

All of qScan, MCP, the Action, agent, and qProbe share the engine in @quantakrypto/core (npm i @quantakrypto/core) — detectors, the vulnerable-dependency DB, the readiness score, SARIF/JSON/CBOM/evidence/OpenVEX reporting, and the offline agent-plane primitives (context redactor, verify_fix gate, codemods, patch policy). Sieve is standalone: it tests other implementations and implements no crypto itself.

Infrastructure coverage. Beyond application source, the shared core engine carries config-scope detectors for Terraform/OpenTofu IaC and cloud KMS, JSON Web Keys, Kubernetes / cert-manager / Istio, CI/CD artifact & code signing (cosign/GPG/jarsigner/codesign/minisign), secrets at rest (SOPS/age, PGP, Sealed Secrets), message brokers (Kafka/MQTT), databases (pgcrypto, libpq sslmode), and JOSE/JWE key management — so qscan, the Action, and MCP flag infrastructure crypto with no extra install. qProbe adds the live-endpoint dimension (see the table above). The narrative anchor for infrastructure is harvest now, decrypt later: data and secrets captured today are decryptable once a CRQC exists.

Quick start

bash
# 1. Scan a codebase for quantum-vulnerable cryptography.npx @quantakrypto/qscan ./
# 2. Give your AI coding agent post-quantum readiness tools.claude mcp add quantakrypto npx @quantakrypto/mcp
# 3. Conformance-test a post-quantum implementation (adapter speaks the JSON protocol).npx @quantakrypto/sieve --impl "node ./my-impl.js" --param ml-kem-768
# 4. Gate against a compliance mandate's dated deadlines (CNSA 2.0 / NIST IR 8547).#    Verdicts also ride in --format json/sarif/evidence; --policy lets an org#    acknowledge families it is knowingly migrating (exempt from early gating).npx @quantakrypto/qscan ./ --mandate cnsa-2.0 [--policy .quantakrypto/crypto-policy.json]

Add the CI gate by dropping packages/action/examples/quantum-readiness.yml into .github/workflows/, or wire it up directly:

yaml
- uses: quantakrypto/pqc-tools/packages/action@v1  with:    path: "."    severity-threshold: "high"

Each package README has the full options reference and more examples: qScan · MCP · Sieve · Action · core · agent.

Using quantakrypto alongside a PQC library (liboqs / OQS)

quantakrypto does not implement post-quantum cryptography, by design — it is the scanner, the CI gate, and the conformance harness you wrap around a real PQC library like liboqs / Open Quantum Safe. They compose: quantakrypto finds and gates classical crypto (qscan, the Action), tells you what to migrate to and in what order (qscan --tier, MCP plan_migration, qremediate), and conformance-tests the replacement (sieve runs any ML-KEM/ML-DSA/SLH-DSA implementation against FIPS 203/204/205, with exact-value KATs when you supply official NIST ACVP vectors). liboqs supplies the primitives.

See the worked end-to-end walkthrough — scan → migrate → verify → gate — in examples/liboqs-migration/.

Workspace layout

quantakrypto-tools/├── packages/│   ├── core/     @quantakrypto/core    — shared engine (the contract lives in src/types.ts + src/index.ts)│   ├── qscan/    @quantakrypto/qscan   — CLI│   ├── mcp/      @quantakrypto/mcp     — MCP server (stdio now, HTTP scaffold for hosting)│   ├── action/   @quantakrypto/action — GitHub Action│   ├── sieve/    @quantakrypto/sieve   — conformance battery + JSON protocol│   ├── agent/    @quantakrypto/agent   — opt-in BYOK LLM client (triage + remediation)│   └── qprobe/   @quantakrypto/qprobe  — active TLS/SSH endpoint probing (gated; the only prober)├── docs/         architecture, hosted-MCP design, improvement roadmap└── examples/     end-to-end examples

Development

Requires Node ≥ 20.

bash
npm install        # links the workspacesnpm run build      # tsc --build (project references)npm test           # node:test across all packages

The toolchain is intentionally tiny: TypeScript + tsx (to run node:test on .ts) are the only dev dependencies; there are no runtime dependencies.

Documentation & compliance

Full documentation lives in docs/:

  • Objectives & scope — what the toolchain is for, what each library does, the load-bearing decisions, and the deliberate scope boundaries. Start here.
  • Architecture decisions — the immutable "why" behind each load-bearing choice (zero deps, shared core contract, two-plane agent, …).
  • Standards & compliance — what the tools touch and could align to: NIST FIPS 203/204/205, SP 800-208, CNSA 2.0, SARIF, CWE, ISO/IEC 27001 (A.8.24), Common Criteria, FIPS 140-3, EU DORA/NIS2, US M-23-02 / NSM-10, and OSS assurance (SLSA, OpenSSF Scorecard, SPDX/REUSE).
  • Governance: Contributing · Security · Code of Conduct · Changelog.

License

Apache-2.0. The methodology is open; the assessments, attestation reports, and deliverables are where the quantakrypto practice lives.

Support & training

Questions, commercial support, or post-quantum readiness training for your team — visit quantakrypto.com or email [email protected].

Source: README.md at commit 6a81b55

Tools

11

apply_triage

Deterministically attach your triage verdicts to their findings and re-sort by exposure (highest first). Never suppresses. Pass the same 'findings' array you triaged plus a 'verdicts' array of { fingerprint, exposureScore, priority, rationale }.

Parametersfindingsrequiredverdictsrequired

apply_verified_patch

Deterministically VERIFY a proposed fix before writing it — runs the same patch-policy + verify_fix + blast-radius gates as `qremediate` (offline, no key, no network). Give the finding, the file's current content, and your proposed FULL corrected content; returns approved:true only if the patch is in-policy, clears the finding, adds no new finding, introduces no network/exec sink, and is bounded in size. This does NOT write the file — you write it, only when approved, and never auto-merge.

ParametersfindingrequirednewContentrequiredoriginalContentrequired

check_dependency

Check whether a package is in quantakrypto's known quantum-vulnerable dependency database (the classical crypto it exposes). Provide 'name' and optional 'ecosystem' (default npm).

Parametersnamerequiredecosystem

explain_finding

Explain a quantakrypto finding and its post-quantum remediation. Provide a ruleId (e.g. 'forge-rsa-keygen', 'elliptic-ec', 'node-rsa', 'pem-ec-private-key') and/or an algorithm (e.g. 'RSA', 'ECDSA'). The ruleId is resolved against the core detector set, so library and config rules explain correctly.

ParametersruleIdalgorithm

get_fix_examples

Return before/after code examples for migrating a classical algorithm to a post-quantum / hybrid replacement. Provide an 'algorithm' (RSA, ECDH, ECDSA, …) or a 'ruleId' from a finding.

ParametersruleIdalgorithm

list_rules

List the quantakrypto detector catalog: every detector id and what it looks for.

Takes no parameters.

remediate_findings

Produce a deterministic remediation REQUEST bundle (rubric + fix schema + per-finding metadata + fingerprints) for YOU (the host agent) to fix. This tool calls no model and needs no key. For each finding, propose the corrected FULL file content, then VERIFY with verify_fix and keep only fixes that clear the finding. Never touch files with secrets; never auto-merge. Pass 'findings' from scan_path --format json.

Parametersfindingsrequired

score_delta

Compute the readiness-score and HNDL change between two finding sets (e.g. before and after a migration). Pass 'before' and 'after' as arrays of findings from scan_path --format json.

Parametersafterrequiredbeforerequired

suggest_hybrid

Recommend a post-quantum / hybrid migration. Provide an 'algorithm' (e.g. RSA, ECDH, ECDSA) or free-text 'context' describing the usage. Set 'tier' to 'category-5' for CNSA 2.0 / national-security systems.

Parameterstiercontextalgorithm

triage_findings

Produce a deterministic triage REQUEST bundle (rubric + verdict schema + per-finding metadata) for YOU (the host agent) to reason over. This tool does NOT call any model and needs no API key. Assess each finding's real-world exposure, then call apply_triage with your verdicts. Pass 'findings' as an array from scan_path --format json.

Parametersfindingsrequired

verify_fix

Run the quantakrypto detectors over a code snippet (NOT the filesystem) and report any classical crypto that remains. Use this to confirm an edit actually removed the quantum-vulnerable usage. Provide 'code' plus a 'language' or 'filename'.

Parameterscoderequiredfilenamelanguage

Version history

1
  1. v0.5.2LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts