Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ApiHunter — Rust로 작성된 비동기 API 보안 스캐너로, CORS, CSP, GraphQL, JWT, OpenAPI 및 능동적 API 자세 점검을 수행합니다. | Kitploit
도구/GitHubGitHub/teycir/apihunter
ReconnaissanceVulnerability ScannersDynamic Analysis (Sandboxing)Web Application ExploitationInformation GatheringWeb SecurityPenetration TestingDevSecOpsAPI Security
GitHubteycir/apihunter

ApiHunter

Rust로 작성된 비동기 API 보안 스캐너로, CORS, CSP, GraphQL, JWT, OpenAPI 및 능동적 API 자세 점검을 수행합니다.

192172개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

개발 지원

이 프로젝트가 업무에 도움이 된다면, 지속적인 유지보수와 새로운 기능 개발을 지원해 주세요.

ETH 기부 지갑
0x11282eE5726B3370c8B480e321b3B2aA13686582

이더리움 기부 QR 코드

QR 코드를 스캔하거나 위의 지갑 주소를 복사하세요.

🎯 ApiHunter

Typing SVG

Rust Security API Async CI License


📺 비디오 데모

ApiHunter 데모 비디오
YouTube에서 전체 데모를 보려면 클릭하세요

🖥️ 데스크톱 앱 스냅샷

ApiHunter 데스크톱 — 버전 칩, 상태 확인(health check), Full Scan 대상 입력이 있는 개요(Overview) 패널

ApiHunter 데스크톱 — Full Scan 컨트롤: Quick Passive / Deep Active 프리셋, 접을 수 있는 Safety, Runtime Limits, Scanner Toggles 섹션

ApiHunter 데스크톱 — 결과 분석 대시보드: 심각도 히트맵, 최악 대상 카드, 스캔 효율성, 요약, 발견 항목 분석, 상위 검사

ApiHunter 데스크톱 — 결과 하단 패널: 대상 순위, 스캐너 커버리지, 검사 심각도 분석, 대상별 요약, 원클릭 내보내기 버튼


📑 목차

  • 비디오 데모
  • 데스크톱 앱 스냅샷
  • 왜 ApiHunter인가?
  • 스캐너 모듈
  • 기능
  • 다른 도구와의 비교
  • 빠른 시작
  • 아키텍처
  • 템플릿 도구
  • 스캔 스크립트
  • 테스트 전략
  • 문서
  • 로드맵
  • 설치
  • CLI 참조
  • 종료 코드
  • 보안 및 법적 가드레일
  • 관련 프로젝트
  • 소개
  • FAQ
  • 라이선스

API 기준 테스트와 회귀 탐지를 위한 비동기, 모듈형 API 보안 스캐너.
적응형 동시성과 CI 대응 출력(NDJSON/SARIF)을 사용하여 탐지와 타겟 검사(CORS/CSP/GraphQL/OpenAPI/JWT/API 보안)를 결합합니다.

사용 사례: 공격(offense) 측면에서는 레드팀/API 침투 테스트 탐지와 익스플로잇 검증, 방어(defense) 측면에서는 CI/CD 회귀 게이팅, 지속적인 API 하드닝, 조기 오구성 탐지 등이 있습니다.

대규모 스캐닝을 하시나요? Triage 모드를 확인하세요 — 핵심 보안 검사로 20분 안에 5000개 대상을 스캔한 다음, Enrich 모드를 사용해 발견 항목에 위협 인텔리전스 컨텍스트(포트, CVE, ASN, 도메인 연령)를 추가할 수 있습니다.

명칭

  • 프로젝트/저장소: ApiHunter
  • Cargo 패키지: apihunter
  • 라이브러리 크레이트: api_scanner
  • CLI 바이너리: apihunter (cargo run 기본값)

GitHub 메타데이터 (권장)

검색 가능성을 위해 GitHub 저장소 설정에서 다음 항목을 지정하세요:

  • 설명: Async API security scanner for CORS/CSP/GraphQL/JWT/OpenAPI and active API posture checks.
  • 웹사이트: https://github.com/Teycir/ApiHunter
  • 토픽: rust, security, api-security, scanner, graphql, cors, csp, jwt, openapi, sarif, ndjson

저장소 흐름```mermaid

flowchart LR A[CLI apihunter] --> B[main.rs] D[Input Sources] --> E[Pre-filter + Discovery] B --> C[HttpClient + Config] E --> F[runner.rs] C --> F

F --> G1[Passive scanners]
F --> G2[Active scanners]

I[template-tool] --> H[CVE templates]
H --> G2

G1 --> J[Findings]
G2 --> J
J --> K[Reporter]
K --> L[Auto Reports]
K --> M[CI/CD Controls]
## ApiHunter를 선택해야 하는 이유는?

### 핵심 장점

- **API 우선 아키텍처**: 웹 앱 스캐너를 개조한 것이 아니라 REST/GraphQL API 전용으로 설계됨
- **지능형 오탐(False Positive) 감소**:
  - 카나리 프로빙을 통한 SPA catch-all 감지
  - 컨텍스트 인식 시크릿 검증(프런트엔드 vs 백엔드)
  - 본문 콘텐츠 검증 및 referer 확인
  - 중복 발견 항목을 건너뛰기 위한 응답 핑거프린팅
- **설계상 프로덕션 안전**:
  - 오류 발생 시 백오프하는 적응형 동시성(AIMD)
  - 구성 가능한 지연 시간을 갖춘 호스트별 속도 제한
  - 정중함 제어(재시도, 타임아웃, WAF 우회)
  - 활성 검사를 위한 드라이런 모드
- **스텔스 및 회피**:
  - 큐레이션된 풀(assets/user_agents.txt)에서 런타임 User-Agent 로테이션
  - 지터가 포함된 무작위 요청 지연
  - 호스트별 지연 강제(버스트 패턴 방지)
  - 지수 백오프가 포함된 재시도 로직
  - 정상 트래픽과 혼합되기 위한 사용자 정의 헤더 주입
  - 서버 응답에 따른 적응형 타이밍
  - 기본 모드에서 하드코딩된 스캐너 핑거프린트 없음

### 스텔스 기법 심층 분석

ApiHunter는 WAF(웹 애플리케이션 방화벽) 및 봇 보호 시스템의 탐지를 피하기 위해 여러 스텔스 기법을 사용합니다:

#### 1. User-Agent 로테이션
**기능:** 파일(`assets/user_agents.txt`)에서 100개 이상의 실제 브라우저 User-Agent 문자열을 무작위로 순환합니다.

**효과가 있는 이유:** 봇은 일반적으로 동일한 User-Agent(예: `curl/7.68.0`)를 사용합니다. Chrome, Firefox, Safari 등으로 위장하면 정상 트래픽에 섞여들 수 있습니다.

**쉬운 비유:** 항상 같은 제복을 입는 대신 여러 가지 변장을 하는 것과 같습니다.

#### 2. 무작위 타이밍 및 지터
**기능:** 요청 사이에 지터(작은 무작위 변동)와 함께 무작위 지연을 추가합니다(`--delay-ms`로 제어).

**효과가 있는 이유:** 봇은 완벽한 간격(정확히 100ms 간격)으로 요청을 보냅니다. 인간은 예측할 수 없습니다. 무작위 타이밍은 트래픽을 자연스럽게 보이게 만듭니다.

**쉬운 비유:** 로봇처럼 행진하는 대신 불규칙한 보폭으로 걷는 것과 같습니다.

#### 3. 호스트별 지연 강제
**기능:** 전역이 아닌 각 도메인에 대해 지연을 별도로 추적합니다.

**효과가 있는 이유:** 한 호스트에 50번을 순식간에 때리는 버스트 패턴을 방지합니다. 각 호스트는 정중하고 간격을 둔 요청을 보게 됩니다.

**쉬운 비유:** 한 사람에게 반복적으로 소리치는 대신 여러 대화에 번갈아 참여하는 것과 같습니다.

#### 4. 적응형 동시성(AIMD)
**기능:** 429(속도 제한) 또는 503(서버 사용 중) 오류가 발생하면 자동으로 속도를 늦추고, 성공하면 속도를 높입니다.

**효과가 있는 이유:** 적발되면 물러나고 브라우저가 재시도하는 방식을 모방합니다. WAF는 "이 클라이언트는 우리의 제한을 존중한다"고 봅니다.

**쉬운 비유:** 교통이 혼잡하면 속도를 줄이고, 열린 도로에서는 속도를 높이는 것과 같습니다.

#### 5. 지수 백오프 재시도
**기능:** 요청이 실패하면 재시도 전에 1초, 그다음 2초, 그다음 4초를 기다립니다.

**효과가 있는 이유:** 정당한 클라이언트는 정상적으로 재시도합니다. 봇은 종종 즉시 두들기거나 포기합니다.

**쉬운 비유:** 문을 두드릴 때 계속 두드리는 대신 매번 더 오래 기다리는 것과 같습니다.

#### 6. 스캐너 핑거프린트 없음
**기능:** `X-Scanner: ApiHunter` 같은 헤더나 예측 가능한 패턴을 보내지 않습니다.

**효과가 있는 이유:** 많은 도구가 시그니처(Nuclei 템플릿, sqlmap 패턴)를 남깁니다. ApiHunter는 명백한 표식을 피합니다.

**쉬운 비유:** "보안 테스터"라는 이름표를 달지 않는 것과 같습니다.

#### 7. 연결 재사용 및 풀링
**기능:** 호스트별 HTTP 클라이언트 풀을 사용하고 연결을 유지합니다.

**효과가 있는 이유:** 브라우저는 연결을 재사용합니다. 모든 요청에 대해 열고 닫는 것은 의심스러워 보입니다.

**쉬운 비유:** 문을 계속 닫아 버리고 다시 벨을 누르는 대신 문을 열어 두는 것과 같습니다.

#### 8. 사용자 정의 헤더 주입
**기능:** `Referer`, `X-Forwarded-For`, 사용자 정의 쿠키 같은 헤더를 추가할 수 있습니다.

**효과가 있는 이유:** 요청이 정상적인 애플리케이션 흐름(링크 클릭, 세션 쿠키 보유)에서 온 것처럼 보이게 만듭니다.

**쉬운 비유:** 울타리를 넘는 대신 입장 시 티켓 스텁을 보여주는 것과 같습니다.

#### 탐지 비교

| 기법 | 회피 없음 | 회피 적용 |
|-----------|----------------|-------------|
| **User-Agent** | `python-requests/2.28.0`(명백한 봇) | `Mozilla/5.0 (Windows NT 10.0; Win64; x64)...`(Chrome처럼 보임) |
| **타이밍** | 완벽한 100ms 간격 → WAF 차단 | 120ms, 95ms, 180ms → 인간처럼 보임 |
| **재시도** | 즉시 재시도 → 차단 | 1초→2초→4초 대기 → "인내심 있는 클라이언트" |
| **동시성** | 100개 병렬 히트 → 경보 | 응답에 따라 적응형 5→10→3 → "정중한 브라우저" |

#### `--waf-evasion` 사용 시점

- Cloudflare/Akamai/AWS WAF가 있는 프로덕션 API 테스트
- 대규모 스캔 중 IP 차단 방지
- 레이더에 잡히지 않아야 하는 침투 테스트
도구 다운로드