CryptoScanner은 실행파일, 소스코드, 키 / 인증서를 위주로 양자내성암호(PQC)로의 전환이 필요한 암호화 알고리즘을 탐지하고 분석하는 강력한 도구입니다.
이 프로젝트는 크게 세 가지 분석 방식을 결합합니다.
- 정적 분석(Static Analysis): 코드/바이너리에서 암호 관련 흔적(알고리즘, 라이브러리 사용 등)을 찾아 “어디에 무엇이 쓰였는지”를 인벤토리 형태로 정리합니다.
- 동적 분석(Dynamic Analysis): 프로그램 실행 중에 발생하는 암호 연산/라이브러리 호출 정보를 수집해, 정적 분석만으로 놓치기 쉬운 런타임 사용을 보완합니다.
- LLM 분석: 이전의 분석 과정에서 찾아내지 못한 연산을 LLM을 이용하여 분석하고, PQC migration 가이드를 제공합니다.
CryptoScanner_GUI/
├── CryptoScanner/ # C++ 정적 분석 백엔드
│ └── third_party/ # tree-sitter, miniz 등 외부 라이브러리
│
├── DynamicAnalysis/ # C++ 동적 분석 백엔드
│ ├── include/ # 공통 헤더 파일
│ ├── src/ # 플랫폼별(MacOS, Linux, Windows) 소스 코드
│ └── scripts/ # 동적 분석 테스트 및 빌드 스크립트 파일
│
├── crypto-scanner-gui/ # React + Electron 프론트엔드
│ ├── scripts/ # 빌드 시 백엔드 파일을 복사하는 스크립트
│ └── src/
│ ├── main/ # Electron 메인 프로세스
│ │ ├── main.ts # 메인 프로세스 로직
│ │ ├── preload.ts # 프리로드 스크립트
│ │ └── (backend) # 빌드된 백엔드 실행 파일
│ └── renderer/ # React 렌더 프로세스
│ ├── assets/ # 폰트, 이미지 파일
│ ├── components/ # 공통 UI 컴포넌트
│ ├── pages/ # 화면별 페이지 컴포넌트
│ ├── types/ # TypeScript 타입 정의
│ └── utils/ # 유틸리티 파일
│
├── LLM-Report/ # LLM Orchestration 리포트 형식
│
├── .env/
│
└── mac-arm64 / linux-arm, linux-amd / win-amd # 빌드 후 생성되는 CryptoScanner 실행파일# 시스템 패키지 업데이트
sudo apt update
# 필요한 패키지 설치
sudo apt install build-essential qtbase5-dev libssl-dev pkg-config nodejs clang cmake libnss3-dev libnspr4-dev libp11-kit-dev# 저장소 설치
git clone https://github.com/BOB14th-project/CryptoScanner_GUI.git# 백엔드 빌드
cd CryptoScanner_GUI/CryptoScanner
./mac_linux_amd_arm.sh
cd ../
./build_integrated.shcd crypto-scanner-gui
# npm 명령어
npm install
npm run build
npm run copy-backendnpm run dist:linux-amd
cd ../linux-amd
./crypto-scanner-guinpm run dist:linux-arm
cd ../linux-arm
./crypto-scanner-gui# PowerShell 관리자 권한 실행
# Chocolatey 설치
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Chocolatey 설치된 경우
choco upgrade chocolatey
# 필요한 패키지 설치
choco install nodejs git llvm -y# Qt 설치 01 (설치 경로: C:\Qt)
# https://www.qt.io/download-qt-installer
# 1) 회원 가입
# 2) 설치 옵선 선택 시, 하단의 사용자 지정 설치 클릭
# 3) 사용자 정의 화면에서 Qt > Qt 6.9.2 > Additional Libraries > Qt 5 Compatibility moudule 선택# Qt 설치 02 (설치 경로: C:\Qt)
# 0) PowerShell 관리자 권한 실행
Remove-Item "$env:TEMP\aqt.exe" -ErrorAction SilentlyContinue
# 1) aqt.exe 최신 릴리스로 받기 (GitHub Releases의 aqt.exe)
$aqt = Join-Path $env:TEMP 'aqt.exe'
Invoke-WebRequest -Uri "https://github.com/miurahr/aqtinstall/releases/latest/download/aqt.exe" -OutFile $aqt
# 2) 파일 점검
Get-Item $aqt | Format-List Name,Length,FullName
# 3) Qt 5.15.2 (win64_mingw81) → C:\Qt\5.15.2\mingw81_64 생성
& $aqt install-qt windows desktop 5.15.2 win64_mingw81 -O C:\Qt# git for windows (설치 경로: C:\Program Files\Git)
# https://gitforwindows.org/cd C:\
# 저장소 설치
git clone https://github.com/BOB14th-project/CryptoScanner_GUI.gitcd CryptoScanner_GUI\CryptoScanner
.\windows_amd.bat
cd ..\
.\build_integrated_windows.batcd crypto-scanner-gui
# npm 명령어
npm install
npm run build
npm run copy-backend
npm run dist:win-amd
cd ..\win-amd
.\CryptoScanner.exe# Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 필요한 패키지 설치
brew install node qt@5 openssl llvm
# LLVM objdump 심볼릭 링크 생성
sudo ln -sf /opt/homebrew/bin/llvm-objdump /opt/homebrew/bin/objdump# 저장소 설치
git clone https://github.com/BOB14th-project/CryptoScanner_GUI.gitcd CryptoScanner_GUI/CryptoScanner
./mac_linux_amd_arm.sh
cd ../
./build_integrated.shcd crypto-scanner-gui
# npm 명령어
npm install
npm run build
npm run copy-backend
cd ../mac-arm64
open CryptoScanner.app# .env 파일 위치
# /CryptoScanner_GUI/.env
OPENAI_API_KEY=[API KEY]
Google_API_KEY=[API KEY]- 앱 시작 화면
- "Get Started" 버튼으로 메인 페이지 이동
- RESULT: 이전 스캔 기록 조회 (날짜별 정리, CSV 다운로드 가능)
- QUICK SCAN: 개별 파일/폴더 스캔 (최대 5분 소요)
- FULL SCAN: 전체 시스템 스캔 (약 3시간 소요)
- 좌측: 날짜별 스캔 기록 목록 (내림차순)
- 우측: 선택된 날짜의 스캔 결과들
- 각 결과마다 "View Detailed Results" 제공
- Overview: 원형 차트로 알고리즘별 통계 표시
- Algorithm Type: 막대 그래프로 알고리즘 타입별 개수 표시
- Details: 파일별 상세 탐지 결과
- LLM Orchestration: 준비중
- 좌측: Folder Scan / File Scan 선택
- 우측: 선택된 스캔 타입별 인터페이스
- 파일/폴더 선택 후 스캔 시작
- 전체 시스템 스캔 인터페이스
- 스캔 시작 버튼만 제공
- 실시간 스캔 진행률 표시
- 현재 스캔 중인 파일명 표시
- 진행률 바 및 시간 정보 (경과/예상 시간)
이 프로젝트에 대한 자세한 내용은 CryptoScanner Wiki 위키에서 확인하실 수 있습니다.
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
2025.09. ~ 2025.12.
🧑🏻💻 정진호 (@ZINH00)
🧑🏻💻 서정민 (@noir1458)
🧑🏻💻 하준수 (@JunsuHa)
👩🏻💻 신찬희 (@chan-068)
🧑🏻💻 한상우 (@Sangwoo Hahn)

