Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pqaudit — コードベースをスキャンして量子攻撃に脆弱な暗号を検出します。Q-Dayの前にRSA、ECDSA、Ed25519、ECDHを検出します。CycloneDX CBOM + SARIF 出力。 | Kitploit
ツール/GitHubGitHub/pqcworld/pqaudit
静的分析脆弱性スキャナーネットワークマッピングコード分析暗号化DevSecOpsシークレット検出サプライチェーンセキュリティ
GitHubpqcworld/pqaudit

pqaudit

コードベースをスキャンして量子攻撃に脆弱な暗号を検出します。Q-Dayの前にRSA、ECDSA、Ed25519、ECDHを検出します。CycloneDX CBOM + SARIF 出力。

リポジトリを見る
3165ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
ウェブサイト
共有

pqaudit

CI npm License: MIT Node.js

コードベースをスキャンして、量子コンピュータに脆弱な暗号を検出します。Q-Day の前に移行が必要なものを明確に把握できます。

pqaudit demo

pqaudit は、RSA、ECDSA、Ed25519、ECDH、DH など、Shor のアルゴリズムで破られる暗号アルゴリズムの使用を検出します。また、すでに移行が完了した PQC の使用(ML-KEM、ML-DSA、SLH-DSA)も特定するため、移行の進捗を追跡できます。出力は、人間が読めるテキスト、JSON、CycloneDX CBOM、GitHub Code Scanning 向け SARIF、または自己完結型の HTML レポートとして生成されます。

なぜ今なのか

2026年3月31日、Google は ECDSA-256 の解読に必要な量子ビット数が 従来の推定よりも 20 倍少ない こと、すなわち約 1,200 論理量子ビットと 50 万未満の物理量子ビットで十分であることを示す研究を発表しました。NSA の CNSA 2.0 は、2027 年までに新たな国家安全保障システムへの PQC 導入を義務付けています。移行の窓は開いていますが、閉まりつつあります。

インストール

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

またはグローバルにインストール:

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

使い方

root@kitploit:~
# カレントディレクトリをスキャン、人間が読める出力
pqaudit .

# Critical および High の結果のみ表示
pqaudit ./src --severity high

# CycloneDX CBOM を生成
pqaudit . --format cbom --output cbom.json

# GitHub Code Scanning 向け SARIF を生成
pqaudit . --format sarif --output results.sarif

# CI モード — Critical または High の結果があれば終了コード 1
pqaudit . --ci

# 低信頼度のコメント一致も含めてすべての結果を表示
pqaudit . --min-confidence 0

# ファイルごとにまとめず、すべての出現箇所を表示
pqaudit . --no-dedupe

# 依存関係スキャンをスキップ
pqaudit . --no-deps

# カスタムルールを使用
pqaudit . --rules ./my-rules.yaml

# TLS/SSH エンドポイントをスキャンして量子脆弱な暗号を検出
pqaudit . --scan-endpoint api.example.com:443 --scan-endpoint git.example.com:22

# エンドポイントのみスキャン(コードスキャンなし)
pqaudit --scan-endpoint example.com:443 --scan-endpoint example.com:22

全オプション

フラグ説明デフォルト
-f, --format <形式>出力形式: text, json, cbom, sarif, htmltext
-o, --output <ファイル>出力先ファイルstdout
-s, --severity <レベル>最低限表示する深刻度: critical, high, medium, low, safesafe
--min-confidence <0-100>この信頼度閾値未満の結果をフィルタ50
--no-dedupeファイルごとにまとめず、すべての出現箇所を表示重複排除オン
--no-deps依存関係スキャンをスキップ依存関係スキャン
--include <パターン...>含めるグロブパターンすべてのソースファイル
--exclude <パターン...>除外する追加グロブパターンnode_modules, distなど
--rules <パス>カスタムルール YAML ファイルへのパス組み込みルール
--scan-endpoint <エンドポイント...>プローブする TLS/SSH エンドポイント (host:port)なし
--network-timeout <ミリ秒>ネットワーク接続タイムアウト5000
--ciCritical または High の結果があれば終了コード 1オフ

出力例

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
  ...

検出対象

Critical(量子脆弱 — 移行必須)

アルゴリズム脅威代替
RSA(任意の鍵長)Shor のアルゴリズムML-KEM-768 / ML-DSA-65
ECDSA / Ed25519楕円曲線に対する Shor のアルゴリズムML-DSA-65(FIPS 204)
ECDH / X25519 / DH鍵交換に対する Shor のアルゴリズムML-KEM-768(FIPS 203)
DSAShor のアルゴリズムML-DSA-65(FIPS 204)

High(量子で弱体化、または旧プロトコル)

アルゴリズム脅威代替
AES-128Grover のアルゴリズムにより実効強度が 64 ビットに低下AES-256
TLS 1.0/1.1, SSLv3非推奨プロトコルTLS 1.3
SSH(ネットワーク経由で検出)DH/ECDH 鍵交換PQ ハイブリッド鍵交換

Safe(すでに量子耐性あり)

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

出力形式

CycloneDX CBOM

CycloneDX 1.6 に準拠した 暗号部品表 (CBOM) を生成します。各暗号 findings は、cryptoProperties、NIST 量子セキュリティレベル、証拠位置を持つ crypto-asset コンポーネントになります。

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

SARIF(GitHub Code Scanning)

GitHub のコードスキャンと互換性のある SARIF 2.1.0 出力を生成します。github/codeql-action/upload-sarif を使用してアップロードします。

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

HTML レポート

視覚的なダッシュボード(深刻度内訳、PQC 対応スコア、findings テーブル)を含む自己完結型の HTML ファイル。外部依存なし、オフラインでも動作。

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

依存関係スキャン

pqaudit は、5 つのエコシステムにわたって既知の暗号ライブラリのマニフェストファイルをチェックします。

エコシステムマニフェストファイルパッケージ例
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 安全なライブラリ(@noble/post-quantum、pqcrypto、cloudflare/circl)は、インベントリ追跡のために safe としてフラグが付けられます。

カスタムルール

ルールは 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"

完全なルールスキーマと新しいルールの提出方法については CONTRIBUTING.md を参照してください。

プロトコルおよび設定ファイルの検出

pqaudit は設定ファイルをスキャンして、量子脆弱な暗号設定を検出します。

  • SSH:sshd_config/ssh_config 内の RSA/ECDSA 鍵タイプ、DH/ECDH 鍵交換
  • TLS:nginx/apache/haproxy 設定内の非推奨プロトコル(1.0/1.1/SSLv3)および脆弱な暗号スイート
  • Kubernetes:TLS シークレットと cert-manager の RSA 秘密鍵
  • Docker:Dockerfile 内の暗号ライブラリインストール

拡張子のない設定ファイル(Dockerfile、sshd_config、ssh_config)は自動的に検出されスキャンされます。

ネットワークスキャン

稼働中の TLS および SSH エンドポイントをプローブし、量子脆弱な暗号設定を検出します。

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

TLS エンドポイント(任意のポート、または tls://host:port を指定):

  • ネゴシエートされたプロトコルバージョン(TLS 1.2 vs 1.3)
  • 暗号スイートの鍵交換(RSA static、ECDHE — いずれも量子脆弱)
  • 証明書の公開鍵アルゴリズムと鍵長(RSA、ECDSA)

SSH エンドポイント(ポート 22 は自動検出、または ssh://host:port を指定):

  • サーバーバナー検出(OpenSSH など)
  • 量子脆弱な DH/ECDH 鍵交換をフラグ付け

ネットワーク findings は信頼度 100%(観測された事実であり、パターンマッチではない)で、すべての出力形式でコード findings と一緒に表示されます。

検出方法

pqaudit は 4 つの検出方法を使用します。

  • L0(正規表現):サポートされているすべての言語および設定ファイルに対するパターンマッチング
  • L1(AST):JS/TS 向け Tree-sitter パース — 実際のインポート、関数呼び出し、API 使用を検出(信頼度 0.95〜0.98)
  • 依存関係:npm、Cargo、Go、pip、Gradle/Maven にわたるマニフェストファイルスキャン
  • ネットワーク:暗号スイートと証明書アルゴリズムのための稼働中 TLS/SSH エンドポイントプローブ(信頼度 100%)

計画中:

  • L2:データフロー / 汚染解析による、コールチェーンを通じた暗号データの追跡

コントリビューション

ルールの提出、バグ修正、新機能に関するガイドラインについては CONTRIBUTING.md を参照してください。

参考文献

  • 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)

ライセンス

MIT

ツールをダウンロード