Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pqaudit — 코드베이스에서 양자 취약 암호화를 스캔합니다. Q-Day 이전에 RSA, ECDSA, Ed25519, ECDH를 탐지합니다. CycloneDX CBOM + SARIF 출력. | Kitploit
도구/GitHubGitHub/pqcworld/pqaudit
Static AnalysisVulnerability ScannersNetwork MappingCode AnalysisCryptographyDevSecOpsSecret DetectionSupply Chain Security
GitHubpqcworld/pqaudit

pqaudit

코드베이스에서 양자 취약 암호화를 스캔합니다. Q-Day 이전에 RSA, ECDSA, Ed25519, ECDH를 탐지합니다. CycloneDX CBOM + SARIF 출력.

저장소 보기
3165개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

pqaudit

CI npm License: MIT Node.js

양자 취약 암호화를 위해 코드베이스를 스캔합니다. Q-Day 이전에 마이그레이션이 필요한 항목을 명확히 파악하세요.

pqaudit 데모

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 논리 큐비트 및 500,000 미만의 물리 큐비트 — 가 필요하다는 연구를 발표했습니다. 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 <format>출력 형식: text, json, cbom, sarif, htmltext
-o, --output <file>출력을 파일에 쓰기stdout
-s, --severity <level>최소 심각도: critical, high, medium, low, safesafe
--min-confidence <0-100>이 신뢰도 임계값 미만의 발견 사항 필터링50
--no-dedupe파일별로 병합하지 않고 모든 발생 항목 표시중복 제거 켜짐
--no-deps의존성 스캔 건너뛰기의존성 스캔 켜짐
--include <patterns...>포함할 Glob 패턴모든 소스 파일
--exclude <patterns...>추가로 제외할 Glob 패턴node_modules, dist 등
--rules <path>사용자 정의 규칙 YAML 파일 경로내장 규칙
--scan-endpoint <endpoints...>프로브할 TLS/SSH 엔드포인트 (host:port)없음
--network-timeout <ms>네트워크 연결 제한 시간5000
--cicritical 또는 high 발견 사항이 있으면 종료 코드 1꺼짐

출력 예시

root@kitploit:~
  pqaudit — Post-Quantum Cryptography Readiness Scanner
  스캔 대상: ./my-project

  PQC 준비 안 됨 — 양자 취약 암호 감지됨

  스캔된 파일: 65  |  발견 사항: 12
  Critical: 7  High: 2  Medium: 1  Low: 0  Safe: 2

  --- CRITICAL (7) ---

  [!!] Ed25519 — Ed25519 서명 — Shor 알고리즘에 취약 (14회 발생)
      src/crypto/signing.ts:14
      > import { sign, verify } from "@noble/ed25519";
      수정: ML-DSA-65 (FIPS 204) 또는 하이브리드 Ed25519+ML-DSA-65
      신뢰도: 98% | 노력: 보통 | 경로: ast

  [!!] RSA — RSA 서명 — 양자 인수분해에 취약 (3회 발생)
      src/auth/jwt.ts:42
      > jwt.sign(payload, key, { algorithm: "RS256" });
      수정: ML-DSA-65 (FIPS 204)
      신뢰도: 96% | 노력: 복잡 | 경로: ast

  [!!] ECDSA — 인증서가 ECDSA 256비트 키 사용 — Shor 알고리즘에 취약
      tls://api.example.com:443
      > ECDSA 256비트 키, TLSv1.3
      수정: 사용 가능한 경우 양자 후 인증서 알고리즘
      신뢰도: 100% | 노력: 복잡 | 경로: network
  ...

감지 항목

Critical (양자 취약 — 반드시 마이그레이션 필요)

알고리즘위협대체 알고리즘
RSA (모든 키 크기)Shor 알고리즘ML-KEM-768 / ML-DSA-65
ECDSA / Ed25519타원 곡선에 대한 ShorML-DSA-65 (FIPS 204)
ECDH / X25519 / DH키 교환에 대한 ShorML-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을 준수하는 암호 자재 명세서를 생성합니다. 각 암호화 발견 사항은 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 준비 점수, 발견 사항 표)가 포함된 독립형 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: "사용자 정의 양자 취약 패턴"
  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 키 교환 플래그 지정

네트워크 발견 사항은 100% 신뢰도를 가지며(관찰된 사실, 패턴 일치 아님) 모든 출력 형식에서 코드 발견 사항과 함께 표시됩니다.

탐지 방법

pqaudit는 네 가지 탐지 방법을 사용합니다:

  • L0 (정규식): 지원되는 모든 언어 및 구성 파일에서 패턴 매칭
  • L1 (AST): JS/TS에 대한 Tree-sitter 파싱 — 실제 임포트, 함수 호출, API 사용 감지 (0.95-0.98 신뢰도)
  • Dependency: npm, Cargo, Go, pip 및 Gradle/Maven에 걸친 매니페스트 파일 스캔
  • Network: 암호 스위트 및 인증서 알고리즘에 대한 실시간 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

도구 다운로드