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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
aether — AI 스마트 계약 보안 분석 및 PoC 생성 프레임워크 | Kitploit
도구/GitHubGitHub/l33tdawg/aether
Static AnalysisExploit FrameworksVulnerability AnalysisFuzzingCryptographyPenetration TestingBinary AnalysisMachine LearningLearning & EducationAI Security
GitHubl33tdawg/aether

aether

65113개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

AI 스마트 계약 보안 분석 및 PoC 생성 프레임워크

저장소 보기

Aether v6.0 — 스마트 계약 보안 분석 프레임워크

버전 6.0 | v6.0의 새로운 기능 | 변경 로그

Aether는 Solidity 스마트 계약을 분석하고, 취약점 결과를 생성하며, Foundry 기반 개념 증명(PoC) 테스트를 제작하고, 메인넷 포크에서 익스플로잇을 검증하는 Python 기반 프레임워크입니다. Solidity AST 파싱, 오염 분석, 제어 흐름 그래프 분석, 크로스 컨트랙트 분석, Halmos 기호 실행, 180개 이상의 패턴 기반 정적 탐지기, 공유 SAGE 제도적 기억을 갖춘 협업 다중 에이전트 LLM 파이프라인(GPT/Gemini/Claude), 14개의 프로토콜 아키타입, 75개 이상의 익스플로잇 지식 기반, ML 기반 탐지, 토큰 특이점 탐지, 불변식 추출, 관련 컨트랙트 컨텍스트 해결, 고급 컨텍스트 인식 필터링을 하나의 지속적인 전체 화면 TUI로 결합합니다.

v6.0의 새로운 기능

협업 에이전트 파이프라인 — 심층 분석 파이프라인이 5개의 독립적인 패스에서 SAGE 제도적 기억을 통해 구조화된 지식을 공유하는 5개의 협업 에이전트로 변환됩니다:

  • 공유 세션 메모리 — 각 패스는 감사별 SAGE 세션에 결과, 기각, 확인된 보호 조치를 저장합니다. 이후 패스는 평문 요약 대신 "이전 패스 인텔리전스"를 수신합니다.
  • 기각을 일급 레코드로 — 패스 3에서 우려 사항을 기각하면(예: "nonReentrant 수정자로 재진입 보호됨"), 패스 5는 다시 플래그하지 않습니다. 이는 중복 결과의 #1 원인을 직접 제거합니다.
  • 도전 메커니즘 — 이후 패스는 이전 기각을 무효화할 수 있지만, 새로운 증거를 제시해야 합니다. "패스 3이 이 다른 함수를 통한 콜백 경로를 보지 못했습니다"는 유효합니다. "동의하지 않습니다"는 유효하지 않습니다.
  • 크로스 패스 확인 — 여러 패스가 독립적으로 결과를 확인하면 신뢰도가 15% 향상됩니다. 교차 확인된 결과는 보고서에서 우선 순위가 부여됩니다.
  • SAGE 필수 — 제도적 기억은 이제 필수이며 선택 사항이 아닙니다. SAGE 없음 = 감사 없음. docker compose up -d를 실행하여 시작하세요.

v5.0의 새로운 기능

SAGE 제도적 기억 — Aether는 이제 모든 감사에서 학습하여 시간이 지남에 따라 거짓 양성을 줄이고 결과 품질을 향상시킵니다:

  • 사전 훈련된 지식 베이스 — 170개의 제도적 기억과 함께 제공: 75개의 익스플로잇 패턴, 63개의 프로토콜 아키타입 체크리스트, 12개의 토큰 특이점 카테고리, 20개의 선별된 역사적 익스플로잇(DAO, Wormhole, Euler, Ronin, Curve 등)
  • 파이프라인 통합 — SAGE는 심층 분석 패스 3과 5에서 역사적 결과 및 익스플로잇 패턴을 회상합니다. 파이프라인 후 감사 학습 내용을 저장하여 향후에 회상합니다.
  • 피드백 루프 — 확인된 결과는 고신뢰도 사실로 저장됩니다. 거부된 결과(거짓 양성)는 저장되어 향후 감사에서 이를 피합니다. AccuracyTracker 결과가 자동으로 SAGE에 공급됩니다.
  • 검증 파이프라인 — 새로운 단계 -1: SAGE 알려진 FP 확인은 다른 검증이 실행되기 전에 이전에 거부된 패턴과 일치하는 결과를 필터링합니다.
  • 탐지기 정확도 동기화 — SageFeedbackManager.sync_detector_accuracy()는 고성능/저성능 탐지기를 식별하고 수행/금지 반영을 저장합니다.
  • 시작 시 자동 시드 — SAGE Docker가 실행 중인 상태에서 첫 실행 시 사전 훈련된 지식 베이스를 자동으로 시드합니다. 버전 인식: 이미 시드된 경우 건너뜁니다.
  • TUI 통합 — CostBar에 메모리 수와 함께 SAGE ON/OFF 상태 표시됩니다.
  • Docker 배포 — docker compose up -d로 SAGE 시작; ~/.aether/config.yaml에서 sage_enabled/sage_url을 통해 구성
  • 정상적인 성능 저하 — SAGE를 사용할 수 없어도 감사 기능이 중단되지 않습니다.

기여자: 하드코딩된 경로 변수를 수정해 주신 @sashavdv(PR #1)와 누락된 validate_anthropic_key() 메서드를 식별해 주신 @pro258b(PR #2)님께 감사드립니다.

SAGE 빠른 시작

SAGE는 BFT 합의로 구동되는 지속적인 제도적 기억 시스템입니다. 전체 문서는 SAGE 프로젝트를 참조하세요.```bash

Install SAGE Python SDK

pip install sage-agent-sdk

Start SAGE (Docker required)

docker compose up -d

Run Aether — SAGE auto-seeds on first launch

python aether.py

Regenerate seed fixtures after updating knowledge bases (dev only)

python -c "from core.sage_seeder import SageSeeder; SageSeeder.generate_seed_fixtures()"

root@kitploit:~
### SAGE가 감사를 개선하는 방법```
Audit 1 → Findings + FPs → Record outcomes in SAGE
                                    ↓
Audit 2 → SAGE recalls FP patterns → Fewer false positives
                                    ↓
Audit 3 → Richer institutional context → Better severity calibration
                                    ↓
Audit N → Institutional expert-level knowledge → Bug-bounty-quality findings

v4.7의 새로운 기능

PoC 자동 실행 — 생성된 Foundry PoC가 이제 자동으로 컴파일 및 실행됩니다:

  • forge test --json 통합으로 컴파일 직후 PoC 실행
  • PoCTestResult 데이터클래스를 통한 JSON 결과 파싱으로 구조화된 통과/실패/오류 보고
  • 메인넷 검증을 위한 포크 모드 지원 (라이브 상태에 대한 익스플로잇 검증)
  • TUI에서 라이브 진행 상황 추적을 위한 JobManager의 새로운 POC_TESTING 단계

Halmos 기호 실행 — 기호 실행을 통한 형식 검증:

  • 생성된 속성에 대해 Halmos 기호 테스트를 실행하는 HalmosRunner
  • 추출된 불변량에서 검증 속성을 자동 생성하는 HalmosPropertyGenerator
  • 검증 1.95단계에 통합된 HalmosSymbolicNode 파이프라인 노드
  • 구성 옵션: enable_symbolic_verification, halmos_timeout
  • Halmos가 설치되지 않은 경우 정상적으로 저하 — 오류 없이 기호 검증 건너뜀

제어 흐름 그래프 분석 — 컴파일러 수준의 제어 흐름 이해:

  • solidity_ast.py의 BasicBlock, CFGEdge, ControlFlowGraph 데이터클래스
  • 구조 분석을 위한 build_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm()
  • 인라인 어셈블리 지원을 위한 parse_assembly_block()을 통한 어셈블리 블록 파싱
  • 경로 구분 분석을 위한 오염 분석기의 분기 인식 오염 전파
  • 깊은 분석 Pass 2에 오염 데이터와 함께 CFG 컨텍스트 주입

ML 피드백 루프 — 과거 결과 기반 캘리브레이션:

  • 제출 결과 및 바운티 수익 추적을 위한 AccuracyTracker.record_finding_outcome()
  • 탐지기별 성능 통계를 위한 get_detector_accuracy() 및 get_detector_weights()
  • 참/거짓 양성 및 과거 정확도를 추적하는 DetectorStats 데이터클래스
  • 탐지기 실적에 기반한 EnhancedVulnerabilityDetector의 신뢰도 가중치 조정
  • 깊은 분석 Pass 5에 주입된 과거 데이터로부터의 심각도 캘리브레이션

관련 컨트랙트 컨텍스트 — LLM 분석이 이제 전체 종속성 소스 코드를 확인:

  • RelatedContractResolver가 상위, 인터페이스, 라이브러리 및 종속성 컨트랙트를 자동으로 발견
  • 프로젝트 모드는 컨트랙트 간 관계 분석 사용; 단일 파일 모드는 import 구문 파싱
  • 패스별 예산 시스템: Gemini Flash 패스에 200K 문자, Claude에 100K, GPT에 50K
  • 표준 라이브러리(@openzeppelin, solmate, solady)는 예산 절약을 위해 인터페이스만 요약
  • 단일 파일 감사는 컨텍스트를 위해 형제 .sol 파일 자동 발견

기술 부채 정리 — 8,500줄의 데드 코드 제거:

  • 삭제됨: ai_ensemble.py, audit_engine.py, fork_verifier.py
  • CLI, 감사 실행기, TUI 화면, 보고서 생성기에서 모든 ai_ensemble 참조 제거
  • 데이터베이스 관리자에서 slither_project_cache 제거
  • 향상된 감사 엔진에서 형식 검증 스텁 제거

v4.0의 새로운 기능

Solidity AST 파싱 — Aether v4.0은 py-solc-x를 통해 컴파일러 지원 코드 분석을 추가하여 정규식 기반 정적 분석을 넘어섭니다:

  • 올바른 상속 해결, 함수 가시성, 슬롯 번호가 있는 스토리지 레이아웃, 함수별 상태 변수 읽기/쓰기 추적을 위한 전체 solc --ast-json 통합
  • 컴파일 실패 시 정상적인 정규식 폴백 (누락된 임포트, 잘못된 컴파일러 버전)
  • AST 구조 요약이 깊은 분석 LLM 파이프라인에 자동으로 공급되어 더 나은 프로토콜 이해 지원

오염 분석 엔진 — 컨트랙트를 통한 사용자 제어 입력을 추적하여 위험한 데이터 흐름 식별:

  • 8가지 오염 소스 유형: 함수 매개변수, msg.sender, msg.value, calldata, 외부 호출 반환값, block.timestamp, block.number, tx.origin
  • 12가지 위험한 싱크 유형: delegatecall, selfdestruct, 외부 호출, ETH 전송, 스토리지 쓰기, 배열 인덱싱, 0으로 나누기 등
  • 살균 탐지: require 범위 검사, 접근 제어 수정자, 조건부 되돌리기, Math.min/max 클램핑, SafeCast 인식
  • 여러 파일에 걸친 컨트랙트 간 오염 추적
  • 오염 인식 발견 입증/반박을 위한 검증 파이프라인(1.85단계) 통합

컨트랙트 간 분석 (Pass 3.5) — 다중 컨트랙트 취약점을 대상으로 하는 새로운 깊은 분석 패스:

  • 컨트랙트 간 관계 분석기: 상속, 인터페이스 호출, delegatecall, staticcall, 타입 상태 변수 관계 감지
  • 신뢰 경계 탐지와 함께 관련 컨트랙트의 합집합-찾기 그룹화
  • 전용 LLM 패스 분석: 신뢰 경계 위반, 컨트랙트 간 상태 일관성, 컨트랙트 간 재진입, 인터페이스 준수, 업그레이드 상호 작용, 권한 상승
  • 컨트랙트 간 컨텍스트는 함수 간 인식을 위해 Pass 4에도 공급

토큰 특이점 데이터베이스 — 실제 익스플로잇을 유발하는 12가지 비표준 ERC-20 동작:

정적 탐지 파이프라인 및 원형 체크리스트에 통합됨.

향상된 정밀도 엔진 — 고급 반올림 및 정밀도 취약점 탐지:

  • ERC-4626 볼트, 대출 풀, 스테이킹에 대한 주식 인플레이션 / 최초 예치자 공격 탐지
  • 반올림 방향 분석 — 예치는 아래로 반올림, 인출은 위로 반올림
  • 나눗셈 잘림 추적 — 잘린 비율 변수가 이후 곱셈에 사용되는 경우 포착
  • 먼지 익스플로잇 탐지 — 0으로 반올림하여 무료 작업 허용
  • 누산기 오버플로 — 보상 누산기 오버플로 위험 평가

실행 가능한 PoC 생성 — 생성된 Foundry 테스트가 이제 실제로 컴파일 및 실행:

  • 모의 컨트랙트 라이브러리: MockERC20, MockOracle, MockWETH, MockFlashLoanProvider
  • 지능형 setUp() 생성기: 생성자 매개변수 추출, 모의 배포, 업그레이드 가능 컨트랙트 처리, 토큰 발행, 승인 설정
  • 최대 컴파일 시도 횟수가 3에서 5로 증가
  • LLM 프롬프트에 모의 API 문서 및 권장 setUp 포함

LLM 파이프라인 개선:

  • Pass 3, 4, 5의 소수 샷 예제 — 익스플로잇 지식 베이스의 실제 취약점 + 거짓 양성 예제
  • 심각도 캘리브레이션 — 재정적 영향에 따른 구체적인 임계값 (Critical >$1M, High >$100K, Medium >$10K)
  • 사고 사슬 강제 — JSON 출력 전 5단계 추론 필수
  • 다중 제공자 로테이션 — 저렴한 패스에 Gemini Flash, 추론에 Anthropic Claude, 다양성에 OpenAI GPT
  • AI 앙상블 폐기 — 6개 에이전트 앙상블(6배 비용, 더 나쁜 컨텍스트)이 구조화된 파이프라인 내 제공자 로테이션으로 대체됨

v3.5의 새로운 기능

깊은 분석 엔진 — Aether v3.5는 도구가 취약점을 찾는 방식을 근본적으로 변환하여, 단발성 "버그 찾기" LLM 호출에서 전문 감사자가 코드 리뷰에 접근하는 방식(먼저 이해한 후 체계적으로 공격)을 반영한 구조화된 6패스 파이프라인으로 전환합니다.

깊은 분석 엔진 (6패스 LLM 파이프라인)

전체 컨트랙트를 단일 프롬프트로 LLM에 보내는 대신, Aether는 이제 축적된 컨텍스트로 6개의 순차적 분석 패스를 실행합니다:

Pass 1-2는 컨트랙트 콘텐츠 해시로 캐시되므로 재감사 시 이해 단계를 건너뜁니다. 각 후속 패스는 모든 이전 컨텍스트를 수신하여 포괄적인 공격 모델을 구축합니다. AETHER_DEEP_ANALYSIS=1로 기능 플래그 지정 (기본 ON); 실패 시 단발성으로 폴백.

프로토콜 원형 시스템

버그를 분석하기 전에, Aether는 컨트랙트가 구현하는 프로토콜의 종류를 감지하고 원형별 취약점 체크리스트를 로드합니다:

총 10개 원형, 각각 3-7개의 실제 익스플로잇에서 가져온 특정 체크리스트 항목 포함.

익스플로잇 지식 베이스 (50개 이상 패턴)

이전의 정적 10패턴 목록을 대체하는 50개 이상의 분류된 실제 익스플로잇 패턴의 구조화된 데이터베이스:

각 패턴에는 코드 지표, 누락된 보호 조치, 단계별 익스플로잇 메커니즘 및 실제 사례(금액 포함)가 포함됩니다. 패턴은 감지된 원형 및 에이전트 초점 영역에 따라 필터링됩니다.

불변량 엔진

세 가지 소스에서 프로토콜 불변량을 자동으로 추출:

  1. 컨트랙트 주석의 NatSpec @invariant 태그
  2. 깊은 분석 Pass 1에서 LLM이 발견한 불변량
  3. 패턴 감지된 공통 불변량 (잔액 보존, AMM 상수 곱, 담보화 비율 등)

형식 검증 라이트 증명 역할을 하는 Foundry invariant_*() 테스트 스위트 생성 — 실패하는 불변량 테스트는 버그가 실제임을 증명.

파이프라인 수정 사항

  • 컨텍스트 인식 심각도 캘리브레이션 — 더 이상 division_by_zero, integer_underflow 등을 낮음으로 일괄 하향 조정하지 않음. 이제 해당 발견이 unchecked{} 블록 내에 있는지, 값 전송 근처, 가격 계산, 또는 오라클 컨텍스트에 있는지 확인한 후 결정
  • 검증 게이트 수정 — "pending" 발견이 이제 LLM 분석으로 전달됨 (이전에는 "validated"만 전달되어 많은 실제 발견이 조용히 누락됨)
  • 전문가 인식 신뢰도 패널티 — 해당 도메인의 전문가(예: AnthropicReasoningSpecialist가 복잡한 로직 버그 발견)로부터의 단일 에이전트 발견은 -0.15 대신 -0.05 패널티만 적용
  • 라인 버킷 중복 제거 수정 — 2줄 떨어진 발견을 다른 그룹으로 분할했던 임의의 (line // 10) * 10 버킷 제거
  • DeFi 탐지기 통합 — DeFiVulnerabilityDetector (2단계 존재/부재 분석)가 이제 흐름 기반 파이프라인뿐만 아니라 기본 향상된 감사 엔진에서도 실행

v3.0의 새로운 기능

완전 인라인 텍스트 TUI — Aether v3.0은 원시 터미널로 절대 떨어지지 않는 지속적인 전체 화면 애플리케이션입니다. 모든 작업(감사, PoC 생성, 보고서 생성, GitHub 범위 선택, 설정 구성)이 전적으로 TUI 내에서 실행됩니다:

  • app.suspend() 호출 제로 — TUI가 절대 사라지지 않으며, 갑작스러운 터미널 전환 없음
  • 모든 작업에 대한 백그라운드 작업 — 로컬 감사, GitHub 감사, PoC 생성 및 보고서 생성이 모두 라이브 출력 스트리밍과 함께 데몬 스레드로 실행
  • 라이브 작업 테이블 — htop 스타일의 모든 실행 중/완료된 작업 뷰로 실시간 상태, 단계 진행, 발견 수, 비용 및 경과 시간 표시
  • 작업별 드릴다운 — 모든 작업에서 Enter를 눌러 라이브 스크롤 출력, 단계 진행률 표시줄 및 메타데이터 확인
  • 동시 작업 — 여러 감사, PoC 생성 및 보고서를 동시에 시작; 모두 표시 및 추적 가능
  • 컨트랙트 선택기 대화상자 — 필터 가능, 거의 전체 화면 다중 선택, 이전 curses 기반 선택기 대체. Space로 토글, a/n으로 모두/없음 선택, 입력하여 필터, 이전에 감사된 컨트랙트는 색상 코드로 표시
  • 인라인 GitHub 감사 흐름 — TUI를 떠나지 않고 클론, 발견, 컨트랙트 선택 및 감사 실행. 네이티브 Textual 대화상자를 통한 범위 관리(계속, 재감사, 새 범위)
  • 인라인 설정 — TextInputDialog 및 SelectDialog를 통한 API 키 구성 및 모델 선택, 외부 설정 마법사 불필요
  • 세션 비용 표시줄 — 제공자별(OpenAI, Gemini, Anthropic) 실시간 LLM 비용 추적
  • 키보드 중심 — n 새 감사, r 재개, h 기록, p PoC, o 보고서, f 가져오기, s 설정, 종료

네 가지 백그라운드 작업 유형: 모든 무거운 작업은 AuditRunner를 통해 백그라운드 데몬 스레드로 실행되며, ThreadDemuxWriter로 출력이 캡처되어 JobDetailScreen에서 확인 가능:

작업 유형설명
local단일 또는 병렬 컨트랙트 감사
github미리 선택된 범위로 GitHub 저장소 감사
pocFoundry 개념 증명 생성

세 가지 제공자 LLM 지원: 최대 유연성과 중복성을 위해 OpenAI (GPT-5/5.3), Google Gemini (2.5/3.0), Anthropic Claude (Sonnet 4.5/Opus 4.6).

향상된 PoC 생성: AST 기반 컨트랙트 분석, 반복적인 컴파일 수정, 버그 바운티 제출에 적합한 익스플로잇을 생성하는 프로덕션 준비 LLM 프롬프트.

고급 거짓 양성 필터링: 다단계 검증으로 거짓 양성을 66%에서 ~20-25%로 줄여 정확도를 33%에서 75-80%로 향상:

  • 스크립트 탐지 — 배포 스크립트(script/, .s.sol, forge-std/Script.sol)는 취약점 분석에서 자동으로 제외
  • 파일 컨텍스트 마커 — LLM 프롬프트에 [PRODUCTION]/[DEPLOYMENT SCRIPT] 레이블이 포함되어 모델이 프로덕션 코드에 집중
  • 동적 수정자 탐지 — 사용자 정의 접근 제어 수정자(예: onlyDistributor, authorized)가 컨트랙트 소스에서 추출되어 하드코딩된 패턴과 함께 인식
  • 함수 범위 중복 제거 — 동일 함수 내 중복 발견은 취약한 줄 번호 근접성 대신 병합
  • 원자적 생성자 탐지 — 동일 생성자 내 배포+초기화는 프론트러닝 불가능으로 인식
  • 거버넌스 탐지 (onlyOwner/onlyGovernor 보호 매개변수)
  • 배포 분석 (코드 경로가 실제 프로덕션에서 사용되는지 확인)
  • 내장 보호 검사 (Solidity 0.8+ 자동 보호, SafeMath)
  • 18개 패턴 체크리스트를 사용한 거버넌스 인식 LLM 검증
  • 제출 결과 및 바운티 수익을 통한 정확도 추적
  • 반복 분석을 2배 빠르게 하는 스마트 캐싱

Move 취약점 데이터베이스 통합: 77개 감사의 128개 Critical/High 발견 패턴이 Solidity/EVM에 맞게 조정됨:

  • 비즈니스 로직, 상태 관리, 데이터 불일치, 중앙화, 루핑 문제, 강화된 입력 검증

빠른 시작

1. 설정```bash

python setup.py # Interactive installer (recommended)

root@kitploit:~
### 2. Aether 실행```bash
python aether.py         # Launches the full-screen Textual TUI

그것뿐입니다. TUI는 키보드 단축키와 모달 다이얼로그를 통해 모든 것을 안내합니다.


요구 사항

  • Python 3.11+ (3.12.8로 테스트됨)
  • Node.js 22+ (Hardhat/npm 기반 프로젝트용)
  • Foundry (forge/anvil) (PoC 생성 및 검증을 위해 PATH에 있어야 함)
  • solc-select (여러 Solidity 컴파일러 버전 관리용)
  • py-solc-x (선택 사항) Solidity AST 파싱용 — 사용 불가 시 정규식 분석으로 대체
  • LLM 기능용 API 키:
    • OPENAI_API_KEY (GPT 모델용)
    • GEMINI_API_KEY (Gemini 모델용)
    • ANTHROPIC_API_KEY (Claude 모델용)
    • ETHERSCAN_API_KEY (선택 사항, 검증된 컨트랙트 조회용)

수동 설정

수동 설치를 선호하는 경우:```bash

Foundry

curl -L https://foundry.paradigm.xyz | bash && foundryup export PATH="$PATH:$HOME/.foundry/bin"

solc-select

pip install solc-select solc-select install 0.4.26 0.8.0 0.8.19 0.8.20 latest

Python dependencies

python -m venv venv && source venv/bin/activate pip install -r requirements.txt

root@kitploit:~
## 설정

설정 마법사(`python setup.py`)가 모든 것을 처리합니다. TUI 내에서 `s`(설정)를 통해 구성할 수도 있습니다:

- **API 키 구성** — 마스킹된 현재 값과 함께 OpenAI, Gemini, Anthropic, Etherscan 키에 대한 순차적 프롬프트
- **모델 구성** — 사용 가능한 옵션 중 공급자별 모델 선택
- **전체 마법사** — API 키 구성 후 모델 선택 순서로 실행
- **분류 설정** — 심각도 임계값, 신뢰 수준, 최대 결과 수 조정

또는 환경 변수를 직접 설정:```bash
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...

설정은 ~/.aether/config.yaml에 저장됩니다.

데이터베이스 위치:

  • 엔진 결과: ~/.aether/aetheraudit.db
  • GitHub 감사 워크플로: ~/.aether/aether_github_audit.db

TUI 가이드

모든 상호작용은 메인 화면에서 키보드 단축키를 통해 이루어집니다:

n — 새 감사(New Audit)

세 가지 소스 유형을 선택하는 다단계 마법사:

로컬 파일 또는 디렉토리:

  1. PathDialog를 통해 경로 선택
  2. 디렉토리인 경우 CheckboxDialog를 통해 계약 선택
  3. 기능 선택 (향상, LLM 검증, Foundry PoC, 향상된 보고서)
  4. 출력 디렉토리 설정
  5. 확인하고 백그라운드 작업으로 실행

GitHub URL:

  1. 저장소 URL 입력
  2. Aether가 저장소를 클론하고 계약 발견 (진행 상황이 인라인으로 표시됨)
  3. 이전 범위가 존재하는 경우: 계속, 재감사 또는 새 범위 생성 선택
  4. ContractSelectorDialog를 통해 계약 선택 (필터 가능, 스페이스바로 토글, a/n으로 전체/없음)
  5. 감사가 백그라운드 작업으로 실행 — 작업 테이블에서 확인 가능

블록 탐색기 URL / 주소:

  1. 주소 또는 탐색기 URL 입력
  2. Aether가 검증된 소스 코드를 가져옴
  3. 기능 및 출력 선택 계속 진행

r — 감사 재개(Resume Audit)

진행 중인 모든 GitHub 감사 테이블 (프로젝트 이름, 범위, 진행 상황 (N/M 계약), 마지막 업데이트 시간). 하나를 선택하여 보류 중인 계약을 확인하고 백그라운드 작업으로 실행합니다.

h — 감사 내역(Audit History)

로컬 및 GitHub 두 데이터베이스의 모든 과거 감사 통합 보기. 항목을 선택하면 하위 메뉴 표시:

  • 세부 정보 보기 — 범위 분석 (진행 상황 및 상태 포함)
  • PoC 생성 — 미리 선택된 프로젝트로 PoC 마법사로 이동
  • 재감사 — ContractSelectorDialog를 통해 계약 선택 후 백그라운드 작업으로 실행

p — PoC 생성(Generate PoCs)

프로젝트 선택, 최대 항목, 최소 심각도, 합의 전용 필터링 구성. PoC 생성이 백그라운드 작업으로 실행 — 작업 테이블에서 진행 상황 확인.

o — 보고서(Reports)

프로젝트, 범위 및 형식 (markdown/json/html/all) 선택. 보고서 생성이 백그라운드 작업으로 실행.

f — 계약 가져오기(Fetch Contract)

10개 이상의 지원 체인에서 네트워크 선택, 주소 입력 또는 탐색기 URL 붙여넣기, 검증된 소스 코드 가져오기, 선택적으로 즉시 감사.

s — 설정(Settings)

  • 전체 설정 마법사 실행 — API 키, 모델 선택 모두 인라인
  • 현재 구성 보기 — 모든 설정의 형식화된 표시
  • API 키 재구성 — 마스킹된 현재 값이 있는 TextInputDialog 프롬프트
  • 모델 선택 재구성 — 공급자별 SelectDialog
  • 분류 설정 — 심각도, 신뢰도 임계값, 최대 발견 수
  • 데이터 지우기 — 로컬 감사 DB, GitHub 감사 DB, 분석 캐시 또는 모두 한 번에 지우기 (확인 포함)

Enter — 작업 상세(Job Detail)

작업 테이블의 아무 행에 Enter 키를 누르면 다음 항목 확인:

  • 실시간 스크롤 로그 출력 (1초마다 업데이트)
  • 단계 진행률 표시줄
  • 작업 메타데이터 (유형, 대상, 상태, 비용, 경과 시간)

q — 종료(Quit)

TUI 종료. 실행 중인 작업이 있으면 확인 프롬프트 표시.


범위 및 기능

  • Solidity AST 파싱 — py-solc-x를 통한 컴파일러 기반 코드 분석 (상속 해석, 함수 가시성, 스토리지 레이아웃, 상태 변수 읽기/쓰기 추적); 우아한 정규식 폴백
  • 제어 흐름 그래프 분석 — build_cfg()가 지배자 트리 및 루프 헤더 탐지로 기본 블록 구성; 어셈블리 블록 파싱; CFG 컨텍스트를 심층 분석 및 오염 전파에 제공
  • 오염 분석 엔진(Taint analysis engine) — 8가지 소스 유형의 사용자 입력을 계약 내 12가지 위험 싱크 유형으로 추적 (살균 탐지, 계약 간 추적, 분기 인식 CFG 전파 포함)
  • 계약 간 분석 — 신뢰 경계 탐지, 합집합-찾기 그룹화, 전용 LLM 패스(Pass 3.5)를 통한 다중 계약 취약점, 의존성 컨텍스트를 위한 RelatedContractResolver를 포함한 계약 간 관계 분석기
  • 심층 분석 엔진 — 6패스 LLM 파이프라인 + Pass 3.5 (계약 간): 이해 → 공격 표면 매핑 → 불변식 확인 → 계약 간 분석 → 함수 간 분석 → 적대적 모델링 → 엣지 케이스; 패스별 모델 계층 선택, 캐싱, 퓨샷 예제, 사고 사슬 강제, Pass 2의 CFG 컨텍스트, Pass 5의 ML 심각도 보정, 패스별 관련 계약 컨텍스트
  • Halmos 기호 실행 — 불변식의 형식 검증을 위한 HalmosRunner + HalmosPropertyGenerator; 검증 단계 1.95에 통합; Halmos가 설치되지 않은 경우 우아한 성능 저하
  • ML 피드백 루프 — AccuracyTracker가 제출 결과를 기록하고 탐지기별 신뢰 가중치 생성; 심층 분석에 주입되는 과거 데이터의 심각도 보정
  • 관련 계약 컨텍스트 — RelatedContractResolver가 부모, 인터페이스, 라이브러리 및 의존성 계약 발견; 표준 라이브러리 요약이 포함된 패스별 예산 시스템
  • 프로토콜 아키타입 탐지 — 14가지 프로토콜 유형(볼트, 대출, DEX, 브리지, 스테이킹, 거버넌스, 오라클, 유동 스테이킹, 영구 DEX, CDP 스테이블코인, 수익 수집기 등) 자동 식별 및 아키타입별 취약점 체크리스트
  • 익스플로잇 지식 베이스 — 14개 범주에 걸쳐 75개 이상의 분류된 실제 익스플로잇 패턴 (코드 지표, 누락된 보호, 선례 포함); 아키타입 및 초점 영역으로 필터링 가능
  • 토큰 특이점 데이터베이스 — 12가지 범주의 비표준 ERC-20 동작 (수수료 전가, 리베이싱, ERC-777, 플래시 민팅 가능, 블록리스트, 일시 중단 가능, 낮은 소수점 등) 탐지 파이프라인에 통합
  • 불변식 엔진 — NatSpec, LLM 분석 및 코드 패턴에서 프로토콜 불변식 추출; Foundry 불변식 테스트 생성
  • 정적 분석 — 180개 이상의 패턴 기반 탐지기 (재진입, 접근 제어, 산술, 오라클 조작, 플래시 론, MEV, 거버넌스, DeFi 특화, 토큰 특이점, 정밀도/반올림 등)

출력 디렉토리

  • ./output/ — 일반 출력 루트
  • ./output/reports/ — 생성된 보고서
  • ./output/pocs/ — 생성된 Foundry PoC 스위트
  • ./output/exploit_tests/ — 익스플로잇 테스트 결과

아키텍처

진입점

  • aether.py — 유일한 진입점; Textual TUI 실행
  • cli/interactive_menu.py — JobManager + AetherApp 생성하는 얇은 셈
  • cli/tui/app.py — AetherApp(App) — 주요 Textual 앱 (키 바인딩 및 1초 새로고침 타이머 포함)

TUI 계층 (cli/tui/)

  • 화면(Screens): MainScreen (작업 테이블 + 비용 바), JobDetailScreen (실시간 로그 + 단계 + 메타데이터), NewAuditScreen, HistoryScreen, ResumeScreen, PoCScreen, ReportsScreen, FetchScreen, SettingsScreen
  • 위젯(Widgets): JobsTable (JobManager를 폴링하는 DataTable), CostBar (공급자별 세션 비용), LogViewer (증분 새로고침이 있는 RichLog), PhaseBar (유니코드 블록 진행률)
  • 대화상자(Dialogs): ConfirmDialog, , , , , — 모두 ModalScreen 서브클래스

백그라운드 실행

  • cli/audit_runner.py — 감사, PoC, 보고서 및 GitHub 감사를 데몬 스레드에서 실행하는 AuditRunner 클래스
  • core/job_manager.py — JobManager 싱글톤: 세션 작업 등록 (QUEUED/RUNNING/COMPLETED/FAILED/CANCELLED)
  • core/audit_progress.py — 작업별 로그 버퍼가 있는 ContractAuditStatus, stdout/stderr 캡처용 ThreadDemuxWriter
  • core/llm_usage_tracker.py — 작업별 비용 델타용 snapshot()이 있는 스레드 안전 싱글톤

핵심 오케스트레이션

  • cli/main.py — AetherCLI 클래스 (~2600줄) — AuditRunner가 사용하는 내부 감사 오케스트레이터
  • core/enhanced_audit_engine.py — 심층 분석 통합이 포함된 주요 감사 엔진
  • core/post_audit_summary.py — 공급자별 비용 분석이 포함된 감사 후 패널

심층 분석 계층 (v4.7)

  • core/deep_analysis_engine.py — 6패스 LLM 파이프라인 + Pass 3.5 (계약 간): 이해 → 공격 표면 → 불변식 → 계약 간 → 함수 간 → 적대적 → 엣지 케이스; 모델 계층 선택, 캐싱, 퓨샷 예제, 사고 사슬 강제, Pass 2의 CFG 컨텍스트, Pass 5의 ML 심각도 보정, 패스별 관련 계약 컨텍스트
  • core/protocol_archetypes.py — 프로토콜 아키타입 탐지 (LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR 등 14가지 유형) 및 아키타입별 취약점 체크리스트
  • core/exploit_knowledge_base.py — CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY 등 14개 범주에 걸친 75개 이상의 분류된 실제 익스플로잇 패턴
  • core/invariant_engine.py — 불변식 추출 (NatSpec + LLM + 패턴) 및 Foundry 불변식 테스트 생성 + Halmos 속성 생성
  • core/solidity_ast.py — py-solc-x를 통한 Solidity AST 파싱 (상속, 가시성, 스토리지 레이아웃, 상태 읽기/쓰기 추적을 위한 정규식 폴백 포함); 제어 흐름 그래프 구성 (build_cfg(), get_dominators(), get_loop_headers())
  • core/taint_analyzer.py — 8가지 소스 유형, 12가지 싱크 유형, 살균 탐지, 계약 간 추적, 분기 인식 CFG 전파를 사용한 데이터 흐름/오염 분석
  • core/cross_contract_analyzer.py — 신뢰 경계 탐지, 합집합-찾기 그룹화 및 의존성 컨텍스트를 위한 RelatedContractResolver를 포함한 계약 간 관계 분석

탐지 계층

  • core/enhanced_vulnerability_detector.py — 60개 이상의 패턴이 있는 주요 탐지기
  • core/business_logic_detector.py, core/state_management_detector.py, core/data_inconsistency_detector.py, core/centralization_detector.py, core/looping_detector.py — Move에서 영감을 받은 탐지기
  • core/defi_vulnerability_detector.py, core/mev_detector.py, core/oracle_manipulation_detector.py — DeFi 특화 탐지기 (DeFi 탐지기는 v3.5에서 향상된 엔진에 통합됨)
  • core/arithmetic_analyzer.py, core/precision_analyzer.py, core/gas_analyzer.py, core/input_validation_detector.py, — 특수 분석기 (정밀도 분석기는 지분 인플레이션, 반올림 방향, 나눗셈 잘림, 더스트 익스플로잇, 누산기 오버플로우 탐지로 향상됨)

검증 계층

  • core/validation_pipeline.py — 다단계 파이프라인: 내장 보호 확인, 거버넌스 탐지, 오염 인식 검증 (Stage 1.85), Halmos 기호 검증 (Stage 1.95), 배포 검증, 로컬 검증
  • core/governance_detector.py, core/deployment_analyzer.py, core/llm_false_positive_filter.py
  • core/control_flow_guard_detector.py, core/inheritance_verifier.py
  • core/nodes/halmos_node.py — 기호 실행 검증을 위한 HalmosSymbolicNode 파이프라인 노드

LLM 및 AI 계층

  • core/enhanced_llm_analyzer.py — JSON 출력 및 다중 공급자 순환을 사용한 구조화된 LLM 분석 (GPT/Gemini/Claude)
  • core/enhanced_prompts.py — 지식 베이스의 동적 익스플로잇 패턴 로드, 퓨샷 예제, 심각도 보정 및 사고 사슬 강제를 포함한 프로덕션 프롬프트 템플릿

PoC 생성 계층

  • core/foundry_poc_generator.py (~8000줄) — AST 기반 분석, 반복 컴파일 피드백 (최대 5회), forge test --json을 통한 자동 실행 (PoCTestResult 파싱 및 포크 모드 지원 포함)
  • core/llm_foundry_generator.py — 모의 API 문서 및 권장 setUp 패턴을 사용한 LLM 기반 테스트 생성
  • core/enhanced_foundry_integration.py — Foundry 검증 및 포맷팅
  • core/poc_templates.py — 모의 계약 템플릿 (MockERC20, MockOracle, MockWETH, MockFlashLoanProvider)
  • core/poc_setup_generator.py — 지능형 setUp() 생성: 생성자 매개변수 추출, 모의 배포, 업그레이드 가능 계약 처리, 토큰 민팅 및 승인

지속성 계층

  • core/database_manager.py — DatabaseManager (로컬 감사) + AetherDatabase (GitHub 감사)
  • core/analysis_cache.py — 반복 분석을 2배 빠르게 하기 위한 스마트 캐싱
  • core/accuracy_tracker.py — ML 피드백 루프: 제출 결과, 바운티 수익, 탐지기별 정확도 통계, 신뢰 가중치 생성

통합

  • core/github_auditor.py — 저장소 클론, 프레임워크 탐지, 계약 발견, 분석 조정
  • core/etherscan_fetcher.py, core/basescan_fetcher.py — 블록 탐색기에서 검증된 계약 가져오기
  • core/exploit_tester.py — Anvil 포크에 대해 익스플로잇 검증

흐름 기반 실행

감사 흐름은 YAML 구성(configs/)에 정의됨. 향상된 감사 파이프라인: FileReaderNode -> StaticAnalysisNode -> LLMAnalysisNode -> EnhancedExploitabilityNode -> [FixGeneratorNode -> ValidationNode -> HalmosSymbolicNode] -> ReportNode


테스트

76개 테스트 파일에 걸쳐 2059개의 테스트, 약 23초 소요:```bash python -m pytest tests/ # All tests (~23s, 2059 tests) python -m pytest tests/test_enhanced_detectors.py -v # Single file python -m pytest tests/test_enhanced_detectors.py::TestArithmeticAnalyzer -v # Single class python -m pytest tests/ -k "governance" -v # Pattern match python -m pytest tests/ --cov=core --cov-report=html # With coverage

root@kitploit:~
## 문제 해결

- **Foundry를 찾을 수 없음** — `forge`/`anvil`이 설치되어 있고 `PATH`에 있는지 확인하세요 (`foundryup` 및 `export PATH="$PATH:$HOME/.foundry/bin"`)
- **solc를 찾을 수 없음** — `solc-select` 및 필요한 버전을 설치하세요: `solc-select install 0.8.20 latest`
- **LLM 기능이 작동하지 않음** — API 키가 설정되어 있는지 확인하세요. 일부 모델은 계정/지역에서 사용하지 못할 수 있습니다. 시스템이 자동으로 대체됩니다.
- **데이터베이스를 찾을 수 없음** — GitHub 보고서의 경우 감사 워크플로가 먼저 실행되었는지 확인하세요.
- **Textual이 로드되지 않음** — 누락된 경우 `pip install textual>=1.0.0`을 실행하세요.

---

## 변경 로그

### v4.7 — PoC 자동 실행, Halmos 기호 검증, CFG 분석 및 ML 피드백 루프
- **PoC 자동 실행** — 생성된 Foundry PoC가 `forge test --json`을 통해 자동으로 컴파일 및 실행되며, `PoCTestResult` 파싱 및 포크 모드를 지원합니다. 라이브 TUI 추적을 위한 `POC_TESTING` 단계
- **Halmos 기호 실행** — `HalmosRunner`, `HalmosPropertyGenerator`, `HalmosSymbolicNode` 파이프라인 노드(검증 단계 1.95)가 불변 조건의 형식 검증을 수행합니다. Halmos가 설치되지 않은 경우 정상적으로 저하됩니다.
- **제어 흐름 그래프 분석** — `BasicBlock`, `CFGEdge`, `ControlFlowGraph`와 `build_cfg()`, 지배자 트리, 루프 헤더 감지, 어셈블리 블록 파싱을 포함합니다. CFG 컨텍스트가 심층 분석 Pass 2에 주입됩니다. 분기 인식 오염 전파
- **ML 피드백 루프** — `AccuracyTracker`가 `get_detector_accuracy()` 및 `get_detector_weights()`를 통해 제출 결과를 기록하여 탐지기별 통계를 제공합니다. `EnhancedVulnerabilityDetector`에서 신뢰도 가중치 조정, 심층 분석 Pass 5에서 심각도 보정
- **관련 컨트랙트 컨텍스트** — `RelatedContractResolver`가 패스별 예산 시스템(200K/100K/50K 문자)으로 부모, 인터페이스, 라이브러리 및 종속 컨트랙트를 발견합니다. 표준 라이브러리 요약, 단일 파일 형제 발견
- **기술 부채 정리** — 8,500줄의 데드 코드 제거: `ai_ensemble.py`, `audit_engine.py`, `fork_verifier.py` 삭제; CLI, 감사 실행기, TUI 화면, 보고서 생성기에서 모든 ai_ensemble 참조 제거
- **2059개 테스트** 통과 (76개 테스트 파일)

### v4.0 — Solidity AST 파싱, 오염 분석 및 데이터 흐름 추적
- **Solidity AST 파서** — py-solc-x를 통한 완전한 solc 통합으로 적절한 상속 해석, 함수 가시성, 저장소 레이아웃, 상태 읽기/쓰기 추적을 제공합니다. 정규식 대체
- **오염 분석 엔진** — 8가지 소스 유형에서 12가지 위험 싱크로 사용자 제어 입력을 추적하며, 살균기 감지 및 교차 컨트랙트 추적을 포함합니다.
- **파이프라인 통합** — AST 데이터가 Pass 1에, 오염 데이터가 Pass 2에 공급되며, 오염 인식 검증 단계 1.85를 포함합니다.
- **1839개 테스트** 통과 (67개 테스트 파일, 약 23초)

### v3.8 — 향상된 탐지 및 PoC 생성
- **교차 컨트랙트 분석** — 새로운 Pass 3.5: 컨트랙트 간 관계 분석기, 신뢰 경계 탐지, union-find 그룹화
- **토큰 특이점 데이터베이스** — 12가지 비표준 ERC-20 동작(수수료 전가, 리베이스, ERC-777 등)
- **향상된 정밀도 엔진** — 지분 인플레이션 탐지, 반올림 방향 분석, 나눗셈 잘림 추적, 더스트 악용, 누산기 오버플로우
- **실행 가능한 PoC 생성** — 모의 컨트랙트 라이브러리(ERC20, Oracle, WETH, FlashLoan), 지능형 setUp(), 최대 컴파일 시도 3→5
- **Few-shot 예제** — 심층 분석 Pass 3, 4, 5에 실제 취약점 및 오탐지 예제 포함
- **심각도 보정** — 구체적인 임계값(Critical >$1M, High >$100K, Medium >$10K, Low 이론적)
- **사고 사슬 강제** — JSON 출력 전 필수 5단계 추론
- **AI 앙상블 폐기** — 심층 분석 패스 전반에 걸친 다중 공급자 순환으로 대체
- **다중 공급자 순환** — Gemini Flash(저렴한 패스), Anthropic Claude(추론), OpenAI GPT(다양성)
- **1682개 테스트** 통과

### v3.7 — 확장된 아키타입 및 익스플로잇 패턴
- **4가지 새로운 프로토콜 아키타입** — LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR (10→14 총계)
- **25가지 새로운 익스플로잇 패턴** — CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY 카테고리 (50→75 총계)
- **향상된 컨트랙트 스캐너** — 추상 컨트랙트 점수 매김, 모노레포 지원을 위한 임계값 조정
- **1528개 테스트** 통과

### v3.5.2 — 오탐지 감소
- **컨트랙트 발견 시 스크립트 감지** — `script/`/`scripts/` 디렉토리 내 파일, `.s.sol` 파일 및 `forge-std/Script.sol`을 임포트하거나 `is Script`를 상속하는 컨트랙트는 배포 스크립트로 태그되어 LLM 취약점 분석에서 제외됩니다. Foundry 배포 헬퍼가 프로덕션 코드로 분석되면서 발생하는 전체 오탐지 클래스가 제거됩니다.
- **LLM 프롬프트 내 파일 컨텍스트 마커** — 결합된 콘텐츠에 파일당 `// FILE: <name>` 마커가 포함되며, 심층 분석 Pass 1 및 3은 `## Project Files` 헤더를 받아 각 파일을 `[PRODUCTION]` 또는 `[DEPLOYMENT SCRIPT]`로 레이블링하여 LLM이 올바른 코드에 집중하도록 합니다.
- **동적 수정자 탐지** — `GovernanceDetector`가 이제 컨트랙트에 정의된 사용자 정의 접근 제어 수정자(예: `onlyDistributor`, `onlyMinter`, `authorized`)를 추출하기 위해 `only` 접두사 또는 `msg.sender` 검사가 있는 수정자 정의를 스캔합니다. 이러한 수정자는 `has_access_control()` 및 `is_governance_function()`을 위한 하드코딩된 수정자 목록과 병합됩니다.
- **함수 범위 중복 제거** — `VulnerabilityDeduplicator`가 이제 컨트랙트 코드를 사용할 수 있을 때 `(function_name, vuln_type)`별로 결과를 그룹화하여 동일 함수 내 인접 라인 중복을 놓치는 취약한 정확한 라인 매칭을 대체합니다. 함수 컨텍스트를 사용할 수 없을 때는 20라인 버킷 그룹화로 대체됩니다.
- **AI 앙상블 라인 허용 오차 확대** — `_findings_match_fuzzy()` 허용 오차가 ±5에서 ±15라인으로 증가하여 에이전트 간 동일 함수 중복을 잡아냅니다.
- **원자적 생성자 오탐지 패턴** — `_check_constructor_context()`가 이제 컨트랙트가 동일 생성자 내에서 배포(`new`/`Create2`)되고 초기화(`.initialize()`)되는 것을 감지하여 프론트러닝 우려를 오탐지로 표시합니다. (작업이 원자적이므로)
- **LLM 검증 패턴 #18** — LLM 검증 프롬프트의 18패턴 오탐지 체크리스트에 "원자적 배포 및 초기화" 추가
- **1489개 테스트** 통과 (56개 테스트 파일, 약 40초), 1461에서 증가

### v3.5 — 심층 분석 엔진
- **6패스 심층 분석 파이프라인** — 일회성 LLM 호출을 구조화된 다중 패스 추론으로 대체: 프로토콜 이해 → 공격 표면 매핑 → 불변 조건 위반 분석 → 교차 함수 상호작용 → 적대적 모델링 → 경계 및 에지 케이스. 각 패스는 이전 패스의 누적 컨텍스트를 받습니다. Pass 1-2는 콘텐츠 해시로 캐시되어 빠른 재감사 가능
- **프로토콜 아키타입 탐지** — 프로토콜 유형(ERC-4626 Vault, Lending Pool, DEX/AMM, Bridge, Staking, Governance, Oracle, NFT Marketplace, Token, Orderbook)을 자동 식별하며, 실제 익스플로잇에서 추출된 아키타입별 취약점 체크리스트 제공
- **익스플로잇 지식 베이스** — 9개 카테고리(인플레이션/지분, 재진입, 오라클, 거버넌스, 브리지, 정밀도/반올림, 접근 제어, 경제/DeFi, 로직)에 걸친 50개 이상의 분류된 익스플로잇 패턴으로, 정적 10패턴 목록을 대체합니다. 각 패턴에는 코드 지표, 누락된 보호, 단계별 익스플로잇 메커니즘, 실제 사례(금액 포함) 및 아키타입 적용 가능성이 포함됩니다.
- **불변 조건 엔진** — NatSpec `@invariant` 태그, LLM 분석 및 6가지 일반 패턴 탐지기(vault 보존, 잔액 추적, 공급 회계, AMM 상수 곱, 대출 담보화, 스테이킹 보상)에서 프로토콜 불변 조건을 추출합니다. 공식 검증 라이트 증명으로 Foundry `invariant_*()` 테스트 스위트를 생성합니다.
- **컨텍스트 인식 심각도 보정** — 일반적인 심각도 하향 조정을 위험 컨텍스트 검사로 대체합니다. `unchecked{}` 블록, 값 전송 근처(`call{value:}`, `_mint`, `safeTransfer`), 가격 계산 또는 오라클 컨텍스트에서 발견된 결과는 원래 심각도를 유지합니다.
- **검증 게이트 수정** — `"pending"` 결과가 이제 `needs_llm_validation` 플래그와 함께 LLM 분석으로 전달됩니다. 명시적 `"false_positive"` 결과만 제거됩니다(이전에는 `"validated"`가 아닌 모든 결과가 자동으로 필터링됨).
- **전문가 인식 신뢰도 패널티** — 단일 에이전트 결과가 해당 에이전트의 전문화(예: AnthropicReasoningSpecialist + 경제 공격)와 일치하면 -0.05 패널티, 비전문가 결과는 -0.15 유지
- **라인 버킷 중복 제거 수정** — 임의 경계 문제를 일으킨 `(line // 10) * 10` 버킷 제거(라인 9와 11이 다른 버킷에 속함). 이제 정규화된 취약점 유형만 사용하며 `_findings_match_fuzzy()`가 라인 근접성을 처리합니다.
- **DeFi 탐지기 통합** — `DeFiVulnerabilityDetector`(2단계 존재/부재 의미 분석)가 `EnhancedVulnerabilityDetector`와 함께 향상된 감사 엔진에서 실행됩니다.
- **프롬프트 내 동적 익스플로잇 패턴** — `enhanced_prompts.py`가 이제 초점 영역으로 필터링된 ExploitKnowledgeBase의 패턴을 로드하며, 정적 패턴으로 대체됩니다.
- **1461개 테스트** 통과 (55개 테스트 파일, 약 50초)

### v3.2 — 작업 통계 및 UI 수정
- **작업 결과/비용/LLM 통계가 항상 0으로 표시되는 문제 수정** — 감사 워커가 이제 `run_audit()`에서 결과 딕셔너리를 캡처하여 결과 수를 추출합니다. 싱글톤 참조를 고아로 만든 `LLMUsageTracker.reset()` 제거. 4개 워커 유형 모두 스냅샷 델타에서 작업별 통계를 계산합니다.
- **창 전환 시 UI 다시 그리기 아티팩트 수정** — JobDetailScreen에서 스크롤 가능 컨테이너를 일반 `Container` + `overflow: hidden`으로 대체하여 오래된 컴포지터 프레임을 방지합니다.
- **"작업 세부 정보"를 border_title로 이동** — 메타데이터 패널 렌더링 개선
- `CLAUDE.md`를 git 추적에서 제거

### v3.0 — 완전 인라인 Textual TUI
- **`app.suspend()` 호출 제로** — TUI가 원시 터미널로 드롭되지 않음; 모든 작업이 인라인으로 실행
- **백그라운드 PoC 생성** — `AuditRunner.start_poc_generation()`을 통해 데몬 스레드로 실행되며 JobDetailScreen에 실시간 출력 표시
- **백그라운드 보고서 생성** — `AuditRunner.start_report_generation()`을 통해 데몬 스레드로 실행되며 실시간 출력
- **백그라운드 GitHub 감사** — Textual 대화상자를 통한 범위 선택, `AuditRunner.start_github_audit()`를 통해 데몬 스레드로 감사 실행
- **ContractSelectorDialog** — curses 기반 `ScopeManager.interactive_select()`를 대체하는 거의 전체 화면 필터링 가능 다중 선택 모달. Space로 토글, `a`/`n`으로 전체/없음, 입력하여 필터, 이전에 감사된 컨트랙트는 색상 코드 표시
- **GitHubAuditHelper** — `GitHubAuditor`/`AetherDatabase`를 감싸는 분해된 래퍼로 Textual 화면에서 호출 가능한 원자적 연산(`clone_and_discover`, `get_scope_state`, `save_new_scope`, `get_pending_contracts`, `handle_reaudit`) 제공
- **인라인 설정** — API 키 및 모델 구성을 네이티브 TextInputDialog/SelectDialog를 통해 설정, 외부 설정 마법사 불필요
- **인라인 GitHub 범위 관리** — SelectDialog를 통해 계속, 재감사 또는 새 범위 생성; ContractSelectorDialog를 통한 컨트랙트 선택
- **6개 화면 재작성** — PoCScreen, ReportsScreen, SettingsScreen, NewAuditScreen, HistoryScreen, ResumeScreen — 모두 완전 인라인
- **770개 테스트** 통과 (50개 테스트 파일)

### v2.2 — Textual TUI 대시보드
- 전체 화면 Textual TUI, 영구 앱, 키 바인딩, 1초 새로고침 타이머
- 실시간 작업 테이블 및 세션 비용 표시줄이 있는 MainScreen
- 실시간 로그 뷰어, 단계 진행률 표시줄 및 메타데이터가 있는 JobDetailScreen
- questionary 프롬프트를 대체하는 모달 대화상자(확인, 텍스트 입력, 선택, 체크박스, 경로 선택기)
- ThreadDemuxWriter 출력 캡처를 통한 AuditRunner의 백그라운드 감사 실행
- 세션 작업 등록을 위한 JobManager 싱글톤
- LLMUsageTracker 스냅샷을 통한 작업별 비용 추적

### v2.1 — 병렬 감사, Slither 제거 및 테스트 정리
- 병렬 감사 엔진 — `ThreadPoolExecutor`로 여러 컨트랙트를 동시에 실행, 최대 8개 병렬 워커까지 구성 가능
- 스레드 안전 진행률 추적 — 잠금이 있는 `ContractAuditStatus`, stdout 다중화를 위한 `ThreadDemuxWriter`
- 감사 후 요약 — 병렬 감사 완료 후 통합 결과 보기
- LLM 사용 추적 — 세 공급자 모두에 대한 토큰 사용량, 비용 및 API 호출 추적
- Slither 완전 제거 — 모든 종속성, 통합 코드 및 테스트 삭제(~1200줄); 패턴 기반 탐지기 + Foundry ABI + 정규식이 유일한 분석 도구
- 테스트 스위트 정리 — 40개 이상의 오래된/느린/통합 테스트 파일 제거

### v2.0 — 대화형 메뉴 TUI
- 대화형 메뉴 중심 TUI를 기본 인터페이스로
- 소스 선택, 기능 체크박스 및 확인이 포함된 안내 감사 마법사
- 진행 중인 GitHub 감사에 대한 재개 감사 기능
- 로컬 및 GitHub 데이터베이스 모두에 대한 통합 감사 기록 브라우저
- 메뉴에서 통합 PoC 생성 및 보고서 워크플로
- 선택적 즉시 감사가 가능한 다중 체인 컨트랙트 가져오기
- 메뉴에서 설정 관리
- 메뉴에서 콘솔 시작/반환

### v1.5 — 세 공급자 LLM 지원 및 향상된 분석
- Anthropic Claude 통합(Sonnet 4.5, Opus 4.6, Haiku 4.5)을 세 번째 LLM 공급자로 추가
- 6에이전트 AI 앙상블: 2 OpenAI + 2 Gemini + 2 Anthropic 전문가 에이전트
- 최대 가용성을 위한 자동 교차 공급자 대체
- 업데이트된 OpenAI 모델(GPT-5.3) 및 Google Gemini 모델(3.0 Flash/Pro)
- Anthropic API 키 구성 및 모델 선택이 포함된 설정 마법사 업데이트
- 손상된 generate-foundry CLI 명령 수정

---

## 라이선스

Aether는 **MIT 라이선스** 하에 배포됩니다. 자세한 내용은 [LICENSE](https://github.com/l33tdawg/aether/blob/HEAD/LICENSE) 파일을 참조하세요.

## 저자

**Dhillon Andrew Kannabhiran** (@l33tdawg)
- 이메일: [email protected]
- 트위터: [@l33tdawg](https://twitter.com/l33tdawg)
- GitHub: [@l33tdawg](https://github.com/l33tdawg)

## 기여

기여를 환영합니다! 자유롭게 이슈를 제출하고, 저장소를 포크하고, 풀 리퀘스트를 생성해 주세요.
도구 다운로드
카테고리심각도예시 토큰
전송 수수료HIGHUSDT, STA, PAXG
리베이스 토큰HIGHstETH, AMPL, OHM
ERC-777 콜백HIGHimBTC
플래시 민트 가능HIGHDAI
비표준 반환MEDIUM구 USDT
블랙리스트 토큰MEDIUMUSDC, USDT
일시 중지 가능 토큰MEDIUMUSDC
저소수점 토큰MEDIUMUSDC (6), WBTC (8)
전송 훅MEDIUMLINK (ERC-677)
승인 경쟁LOW다양함
다중 진입점LOWTUSD
업그레이드 가능 토큰LOWUSDC v2
패스목적모델 계층
Pass 1프로토콜 이해 — 프로토콜이 무엇인지, 불변량, 가치 흐름, 신뢰 가정저렴 (캐시됨)
Pass 2공격 표면 매핑 — 모든 진입점, 상태 읽기/쓰기, 재진입 기회저렴 (캐시됨)
Pass 3불변량 위반 분석 — 모든 코드 경로에 대해 모든 불변량 체계적으로 확인강력
Pass 4함수 간 상호 작용 — 상태 종속성 분석, 시간 종속성, 플래시 대출 시퀀스강력
Pass 5적대적 모델링 — 플래시 대출, MEV, 다중 계정을 이용한 명시적 공격자 관점강력
Pass 6경계 및 극한 사례 — 첫 번째/마지막 연산, 0 값, 최대 값, 자기 참조 연산중간
원형예시 체크리스트 항목
ERC-4626 볼트최초 예치자 인플레이션, 반올림 방향, 기부를 통한 주식 가격 조작
대출 풀오라클 가격 조작, 청산 임계값 조작, 부실 채무 캐스케이드, 이자율 조작
DEX/AMM최초 LP 조작, 샌드위치 공격, 준비금을 통한 가격 오라클
브리지체인 간 리플레이, 검증자 손상, 토큰 매핑 불일치, 인출 증명 위조
스테이킹보상 계산 조작, 보상율 오버플로, 언스테이킹 재진입
거버넌스플래시 대출 거버넌스 공격, 타임락 우회, 쿼럼 조작
오라클오래된 가격 데이터, 가격 편차, L2 시퀀서 다운타임
카테고리패턴예시
인플레이션/주식 공격6ERC-4626 최초 예치자, LP 토큰 인플레이션, 기부 기반 조작
재진입7클래식, 읽기 전용, 함수 간, 컨트랙트 간, ERC-777/1155 훅, 플래시 대출 콜백
오라클5현물 가격 조작, TWAP 조작, 만료, 소수점 불일치, L2 시퀀서
거버넌스4플래시 대출 투표(Beanstalk), 타임락 우회, 쿼럼 조작
브리지5메시지 리플레이(Nomad), 검증자 손상(Ronin), 토큰 매핑(Wormhole)
정밀도/반올림4반올림 방향, 확인되지 않은 오버플로, 전송 수수료, 리베이스 토큰 드리프트
접근 제어5초기화되지 않은 프록시, 스토리지 충돌, 선택기 충돌, delegatecall 주입
경제적/DeFi8샌드위치 공격, JIT 유동성, 부실 채무 캐스케이드, 반환 데이터 폭탄, 서명 리플레이
로직61차이 오류, 마감일/슬리피지 누락, 확인되지 않은 반환, 자체 전송 회계
q
report감사 보고서 생성 (markdown/json/html)
  • 향상된 정밀도 엔진 — 지분 인플레이션 탐지, 반올림 방향 분석, 나눗셈 잘림 추적, 더스트 익스플로잇, 누산기 오버플로우 평가
  • LLM 분석 — OpenAI, Gemini 및 Claude를 사용한 구조화된 검증 중심 분석; 다중 공급자 순환 (자동 폴백 포함); 재정적 영향 임계값에 연결된 심각도 보정
  • 컨텍스트 인식 필터링 — 심각도 저하 전 위험 컨텍스트(확인되지 않은 블록, 값 연산, 오라클 사용) 확인; 오염 인식 검증 단계; LLM 검증을 위해 보류된 발견 유지
  • 병렬 감사 — 작업 테이블에서 실시간 진행률을 보여주는 동시 다중 계약 분석
  • GitHub 감사 워크플로 — 저장소 클론, 프레임워크 탐지, 계약 발견, 인라인 범위 선택, 영구 상태
  • Foundry PoC 생성 — AST 기반 분석, 반복 컴파일 피드백 (최대 5회), 모의 계약 라이브러리(ERC20, Oracle, WETH, FlashLoan), 지능형 setUp() 생성, 프로덕션 수준 익스플로잇 프롬프트, forge test --json을 통한 자동 실행 (포크 모드 지원)
  • 멀티체인 계약 가져오기 — 10개 이상의 EVM 네트워크 + Solana 지원
  • 보고서 — 감사 데이터에서 Markdown, JSON, HTML 보고서 생성
  • LLM 사용 추적 — 모든 공급자에 걸친 토큰 사용량, 비용 추적 및 감사 후 요약
  • 지속성 — 엔진 결과 및 GitHub 감사 워크플로를 위한 두 개의 SQLite 데이터베이스
  • TextInputDialog
    SelectDialog
    CheckboxDialog
    PathDialog
    ContractSelectorDialog
  • 도우미(Helpers): GitHubAuditHelper — TUI 통합을 위해 분해된 GitHub 감사 작업
  • 테마(Theme): theme.tcss — 청록색 테마 Textual CSS
  • core/token_quirks.py — 토큰 특이점 데이터베이스 (비표준 ERC-20 동작의 12개 범주)
  • core/halmos_runner.py — 형식 검증을 위한 Halmos 기호 실행 실행기
  • core/halmos_property_generator.py — 불변식에서 Halmos 검증 속성 자동 생성
  • core/accuracy_tracker.py — ML 피드백 루프: 탐지기별 정확도 추적, 신뢰 가중치 조정, 심각도 보정
  • core/data_decoding_analyzer.py
  • 토큰 특이점 탐지는 core/token_quirks.py를 통해 정적 탐지 파이프라인에 통합됨