
코드베이스에서 양자 취약 암호를 스캔하는 CLI 도구
너무 늦기 전에 코드베이스에서 양자 취약 암호를 스캔하세요.
빠른 시작 • 왜 양자 대비인가? • 사용법 • 위험 수준 • CI/CD • 정보
Crypto Scanner는 코드베이스에서 암호 알고리즘을 스캔하고 양자 취약성 위험 평가를 생성하는 CLI 도구입니다. 소스 코드, 설정 파일, X.509 인증서를 분석하여 양자 컴퓨터로 깨질 암호를 식별합니다.
Quantum Shield Labs에서 개발했습니다. – 조직이 포스트-양자 시대를 준비하도록 돕습니다.
RSA와 ECC를 깨뜨릴 수 있는 암호학적으로 관련 있는 양자 컴퓨터(CRQC)는 2033년까지 등장할 것으로 예상됩니다. 이것은 공상과학이 아닙니다. 주요 정부와 기업이 적극적으로 준비하고 있는 일정입니다.
공격자들은 이미 오늘날 암호화된 데이터를 수집하여 양자 컴퓨터가 가능해지면 해독하려 하고 있습니다. 귀하의 데이터가 장기적인 가치를 갖고 있다면(의료 기록, 금융 데이터, 영업 비밀, 정부 통신), 이미 위험에 노출되어 있습니다.
| 문제 | 현실 |
|---|---|
| 마이그레이션 복잡성 | 대규모 코드베이스는 전환에 3~5년 이상 소요 |
| 공급망 깊이 | 종속성에 보이지 않는 취약 암호가 포함됨 |
| 규정 준수 요구사항 | NIST PQC 표준(ML-KEM, ML-DSA)이 최종 확정됨 |
| CNSA 2.0 마감 | NSA는 2033년까지 양자 저항 알고리즘을 요구 |
충분히 강력한 양자 컴퓨터에서 실행되는 쇼어 알고리즘은 큰 정수를 효율적으로 인수분해하고 이산 로그를 계산할 수 있습니다. 이는 다음을 깨뜨립니다:
가지고 있는 것을 모르면 마이그레이션할 수 없습니다. Crypto Scanner는 모든 양자 준비 프로그램의 필수 첫 번째 단계인 암호 인벤토리를 제공합니다.
📘 더 알아보기: 포괄적인 마이그레이션 안내는 Quantum Shield Labs Playbook을 읽어보세요.
60초 이내에 첫 번째 양자 취약점 스캔을 실행하세요:
# PyPI에서 설치
pip install crypto-scanner
# 프로젝트 스캔
crypto-scanner scan .
# 임원용 HTML 보고서 생성
crypto-scanner scan . --html --output quantum-risk-report.html
끝입니다. 이제 코드베이스의 완전한 암호 인벤토리를 갖게 되었습니다.
pip install crypto-scanner
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e .
# 디렉토리 스캔 (JSON 출력을 stdout으로)
crypto-scanner scan <directory>
# 지원되는 파일 유형 및 위험 분류 표시
crypto-scanner info
# 버전 표시
crypto-scanner --version
| 옵션 | 단축 | 설명 |
|---|---|---|
--html | JSON 대신 HTML 보고서 생성 | |
--output | -o | 보고서를 파일로 저장 (stdout 대신) |
--verbose | -v | 상세 스캔 진행 상황 표시 |
--exclude | -e | 추가 제외 패턴 (반복 가능) |
--version | -V | 버전 표시 후 종료 |
# 상세 출력으로 스캔
crypto-scanner scan ./src --verbose
# JSON 보고서를 파일로 저장
crypto-scanner scan . --output crypto-audit.json
# 이해관계자를 위한 브랜드 HTML 보고서 생성
crypto-scanner scan . --html --output quantum-assessment.html
# 특정 디렉토리 제외
crypto-scanner scan . --exclude vendor --exclude legacy
# 파일 패턴 제외
crypto-scanner scan . --exclude "*.test.js" --exclude "*.spec.ts"
# 옵션 결합
crypto-scanner scan ./backend -v --exclude node_modules -o report.json
다음은 종속성 스캔을 피하기 위해 자동으로 제외됩니다:
.git, .svn, .hg # 버전 관리
node_modules, vendor # 패키지 종속성
__pycache__, .pytest_cache, .mypy_cache
.venv, venv, env # 가상 환경
dist, build, out # 빌드 출력
.idea, .vscode # IDE 디렉토리
site-packages, third_party
쇼어 알고리즘으로 완전히 깨질 알고리즘:
| 알고리즘 | 키 크기 | 양자 영향 | 권장 조치 |
|---|---|---|---|
| RSA | 전체 (1024-4096+) | 완전히 깨짐 | ML-KEM + ML-DSA로 마이그레이션 |
| ECDSA/ECC | 모든 곡선 | 완전히 깨짐 | ML-DSA로 마이그레이션 |
| DH/ECDH | 전체 | 키 교환 깨짐 | ML-KEM으로 마이그레이션 |
| DSA | 전체 | 완전히 깨짐 | ML-DSA로 마이그레이션 |
알려진 고전적 취약점이 있는 알고리즘:
| 알고리즘 | 문제 | 권장 조치 |
|---|---|---|
| MD5 | 충돌 공격, 완전히 깨짐 | SHA-3 또는 SHA-256으로 교체 |
| SHA-1 | 충돌 공격 입증됨 | SHA-256+로 교체 |
| DES | 56비트 키, 쉽게 깨짐 | AES-256으로 교체 |
| 3DES | 중간자 공격 | AES-256으로 교체 |
| AES-128 | Grover 알고리즘이 보안 감소 | AES-256으로 업그레이드 |
현재 안전하지만 모니터링해야 할 알고리즘:
| 알고리즘 | 상태 | 권장 조치 |
|---|---|---|
| SHA-256 | 안전, Grover가 128비트로 감소 | SHA-3로 마이그레이션 계획 |
| SHA-384 | 안전 | 개발 상황 모니터링 |
| SHA-512 | 좋은 양자 저항성 | 개발 상황 모니터링 |
| TLS 1.2 | 안전하지만 노후화 | TLS 1.3 선호 |
적절한 보호를 제공하는 알고리즘:
| 알고리즘 | 상태 | 비고 |
|---|---|---|
| AES-256 | 양자 저항 | 포스트-양자 보안 128비트 |
| ChaCha20 | 현대적, 안전 | 좋은 AES 대안 |
| SHA-3 | 최신 NIST 표준 | 새 프로젝트에 권장 |
| ML-KEM | 포스트-양자 (Kyber) | 2024년 NIST 표준화 |
| ML-DSA | 포스트-양자 (Dilithium) | 2024년 NIST 표준화 |
| 확장자 | 언어 |
|---|---|
.py, .pyw | Python |
.js, .mjs, .cjs | JavaScript |
.ts, .tsx | TypeScript |
.java | Java |
.go | Go |
.rs | Rust |
.c, .h, .cpp, .hpp | C/C++ |
.cs | C# |
.rb | Ruby |
.php | PHP |
.swift | Swift |
.kt, .kts | Kotlin |
.scala | Scala |
| 확장자 | 형식 |
|---|---|
.yaml, .yml | YAML |
.json | JSON |
.toml | TOML |
.ini, .cfg, .conf, .config | INI/Config |
.env | 환경 변수 |
| 확장자 | 형식 |
|---|---|
.pem | PEM 인코딩 |
.crt, .cer, .cert | 인증서 |
.der | DER 인코딩 |
기본 출력 형식, 자동화 및 CI/CD 파이프라인에 이상적:
{
"scan_directory": "/path/to/project",
"scan_timestamp": "2026-02-06T10:30:00",
"scanner_version": "0.1.0",
"summary": {
"total_files_scanned": 150,
"total_findings": 23,
"critical_count": 5,
"high_count": 8,
"medium_count": 7,
"low_count": 3
},
"excluded_patterns": [".git", "node_modules", "..."],
"findings": [
{
"file_path": "/path/to/auth.py",
"line_number": 42,
"algorithm": "RSA",
"key_size": 2048,
"risk_level": "critical",
"description": "RSA key generation detected",
"recommendation": "Plan migration to post-quantum algorithms (ML-KEM, ML-DSA)",
"context": "key = rsa.generate_private_key(public_exponent=65537, key_size=2048)"
}
]
}
Quantum Shield Labs 브랜딩이 포함된 전문적이고 독립적인 보고서:
다음 명령으로 생성:
crypto-scanner scan . --html --output report.html
name: Crypto Vulnerability Scan
on: [push, pull_request]
jobs:
crypto-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Crypto Scanner
run: pip install crypto-scanner
- name: Run Crypto Scan
run: crypto-scanner scan ./src --output crypto-report.json