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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
troll-a — WARC 웹 아카이브에서 Gitleaks 규칙을 사용하여 비밀(암호, API 키, 토큰)을 추출합니다. HTTP, S3, 로컬 파일 및 압축 아카이브를 동시 처리로 지원합니다. | Kitploit
도구/GitHubGitHub/crissyfield/troll-a
Vulnerability AnalysisInformation GatheringUtilities & FrameworksSecret Detection
GitHubcrissyfield/troll-a

troll-a

WARC 웹 아카이브에서 Gitleaks 규칙을 사용하여 비밀(암호, API 키, 토큰)을 추출합니다. HTTP, S3, 로컬 파일 및 압축 아카이브를 동시 처리로 지원합니다.

저장소 보기
140111년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Troll-A

License: Apache Go Report Card Go Reference

Troll-A는 WARC(Web ARChive) 파일에서 비밀번호, API 키, 토큰과 같은 비밀 정보를 추출하기 위한 명령줄 도구입니다. Troll-A는 웹 아카이브에서 비밀 정보를 찾기 위한 사용하기 쉬운, 포괄적인, 빠른 솔루션입니다.

기능

  • 프로토콜: HTTP/HTTPS를 통한 네트워크 서버, Amazon S3 객체 스토리지 서비스, 로컬 파일 시스템, 또는 STDIN에서 직접 웹 아카이브를 검색할 수 있습니다.
  • 압축: GZip, BZip2, XZ, 또는 ZStd로 압축된 웹 아카이브를 지원합니다. ZStd의 경우 압축 데이터 스트림 앞에 사용자 정의 사전이 추가된 경우(*.megawarc.warc.zst 파일에서 사용)도 지원합니다.
  • 포괄적: Gitleaks 프로젝트의 실전 검증된 규칙 세트를 사용하여 최대 166가지 유형의 비밀, 토큰, 키 또는 기타 민감한 정보를 탐지합니다.
  • 성능: 동시에 작동하며, 선택적으로 최적화된 정규 표현식(go-re2 사용)을 사용하여 AWS c7g.12xlarge에서 일반적인 Common Crawl 웹 아카이브(~34,000 페이지)를 30초 이내에 처리합니다. --filter 옵션을 통해 처리할 WARC 레코드를 좁히면 성능을 더욱 향상시킬 수 있습니다.
  • 배포: Troll-A는 미리 빌드된 바이너리, Docker 이미지, 또는 소스 형태로 배포됩니다.

설치

Docker

Troll-A는 GitHub의 컨테이너 레지스트리에서 사용할 수 있으며 다음과 같이 사용할 수 있습니다:

root@kitploit:~
docker run --rm ghcr.io/crissyfield/troll-a [flags] [url]

미리 빌드된 바이너리

Troll-A는 macOS 및 Linux용 바이너리 형태로도 릴리스 페이지에서 제공됩니다.

[!NOTE] Docker 이미지와 달리 미리 빌드된 바이너리는 Go의 표준 라이브러리 정규 표현식을 사용하여 컴파일되므로 눈에 띄게 느립니다. 네이티브 바이너리를 선호하고 성능이 중요한 경우, 소스에서 빌드하는 것이 좋습니다.

소스에서 빌드

더 나은 성능을 위해 소스에서 Troll-A를 빌드하는 것이 좋습니다. 이렇게 하면 go-re2에서 제공하는 최적화된 정규 표현식 엔진을 사용할 수 있습니다. 이를 위해서는 먼저 RE2 종속성을 설치해야 합니다.

macOS

root@kitploit:~
# 종속성 설치
brew install re2

# RE2 활성화하여 설치
go install -tags re2_cgo github.com/crissyfield/[email protected]

Debian / Ubuntu

root@kitploit:~
# 종속성 설치
sudo apt install -y build-essential libre2-dev

# RE2 활성화하여 설치
go install -tags re2_cgo github.com/crissyfield/[email protected]

사용법

root@kitploit:~
Usage:
  troll-a [flags] [url]

이 도구는 WARC(Web ARChive) 파일에서 비밀번호, API 키, 토큰과 같은 (잠재적) 비밀 정보를 추출할 수 있게 해줍니다.
추출된 정보는 구조화된 텍스트 또는 JSON 형식으로 출력되어 데이터의 추가 처리를 간소화합니다.

"url"은 일반 HTTP 또는 HTTPS 참조("https://domain/path"), Amazon S3 참조("s3://bucket/path"),
파일 경로("file:///path" 또는 단순히 "path"), 또는 STDIN에서 읽기 위한 대시("-")일 수 있습니다.
"url"이 생략되면 STDIN에서 데이터를 읽습니다. 입력 데이터가 GZip, BZip2, XZ 또는 ZStd로 압축된 경우
자동으로 압축이 해제됩니다. 사용자 정의 사전이 앞에 추가된 ZStd("*.megawarc.warc.zst"에서 사용)도
투명하게 처리됩니다.

이 도구는 Gitleaks 프로젝트(https://gitleaks.io)의 규칙을 사용하여 비밀 정보를 탐지합니다.

Flags:
  -c, --custom stringArray     적용할 추가 사용자 정의 규칙입니다. 주어진 정규 표현식(RE2 구문 사용)과
                               일치하는 비밀 정보도 보고됩니다. 여러 번 지정할 수 있습니다.
  -e, --enclosed              컨텍스트 내에 포함된 비밀 정보만 보고합니다.
  -f, --filter string         각 WARC 레코드의 대상 URL에 대한 필터입니다. 주어진 정규 표현식(RE2 구문 사용)과
                              일치하는 WARC 레코드만 비밀 정보가 확인됩니다. 빈 필터는 모든 것을 일치시킵니다.
  -h, --help                  troll-a에 대한 도움말을 표시합니다.
  -j, --jobs uint             이 수의 동시 작업으로 비밀 정보를 탐지합니다(기본값 8).
  -s, --json                  탐지된 비밀 정보를 JSON으로 출력합니다.
  -p, --preset rules-preset   사용할 규칙 프리셋입니다. 다음 중 하나일 수 있습니다:
                              all:         알려진 모든 규칙이 적용되며, 대규모 데이터 세트에서 상당한
                                           노이즈가 발생할 수 있습니다.
                              most:        대부분의 규칙이 적용되며, 오탐의 주요 원인을 건너뜁니다.
                              secret:      실제 비밀 정보 유출 가능성이 가장 높은 규칙만 적용됩니다.
                              none:        규칙이 전혀 적용되지 않습니다. --custom/-c 스위치를 통해
                                           사용자 정의 규칙과 함께 사용할 수 있습니다.
                              다른 값은 허용되지 않습니다. (기본값 secret)
  -q, --quiet                 성공 메시지를 표시하지 않습니다.
  -r, --retry retry-strategy  사용할 재시도 전략입니다. 다음 중 하나일 수 있습니다:
                              never:       첫 번째 가져오기 실패 후 실패하며 재시도하지 않습니다.
                              constant:    최대 5회 재시도하며, 각 시도 후 5초 지연합니다.
                              exponential: 15분 동안 재시도하며, 각 시도 후 지연 시간이 지수적으로
                                           증가합니다.
                              always:      영원히 재시도하며, 각 시도 후 지연이 전혀 없습니다.
                              다른 값은 허용되지 않습니다. (기본값 never)
  -t, --timeout duration      가져오기 타임아웃입니다(파일에는 적용되지 않음)(기본값 30m0s).
  -v, --version               troll-a의 버전을 표시합니다.

예제

Common Crawl

Common Crawl은 누구나 사용할 수 있는 무료 오픈 웹 크롤 데이터 저장소를 유지 관리합니다. Common Crawl 코퍼스는 2008년부터 정기적으로 수집된 페타바이트 규모의 데이터를 포함합니다.

예를 들어, 2023년 11월/12월 크롤(CC-MAIN-2023-50이라고 함)의 33억 5천만 페이지 모두에서 비밀 정보를 추출하려면 다음과 같이 할 수 있습니다:

root@kitploit:~
# 90,000개 WARC 경로 목록 다운로드
curl -sSL -O https://data.commoncrawl.org/crawl-data/CC-MAIN-2023-50/warc.paths.gz

# 64개의 스캔 작업으로 모든 경로를 반복하고 일치 항목을 JSON으로 출력
gzcat warc.paths.gz | \
xargs -I{} -- troll-a -e -s -j64 https://data.commoncrawl.org/{} > secrets.json

[!WARNING] 이 작업은 오래 걸립니다! 하드웨어와 인터넷 연결에 따라 일주일에서 몇 달까지 소요될 수 있습니다. 이 예제는 warc.paths.gz의 첫 몇 줄에 대해서만 실행하는 것이 좋습니다.

Internet Archive

Archive Team은 2009년에 설립된 디지털 보존 및 웹 아카이빙에 전념하는 그룹입니다. 웹 아카이브는 WARC 파일(보다 구체적으로 MegaWARC 형식)로 저장되며 Internet Archive를 통해 제공됩니다.

예를 들어, Archive Team이 2023년 4월에 pastebin.com에서 크롤링한 113,372 페이지에서 비밀 정보를 추출하려면(해당 게시물은 Internet Archive에 있습니다) 다음과 같이 할 수 있습니다:

root@kitploit:~
# MegaWARC URL을 직접 troll-a에 전달
troll-a -e https://archive.org/download/archiveteam_pastebin_20230421003309_a3b951b4/pastebin_20230421003309_a3b951b4.1603050931.megawarc.warc.zst

...결과는 다음과 같습니다:

root@kitploit:~
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/bKMJXkQE" line=36 column=15
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/bKMJXkQE" line=36 column=15
Detected: secret="acf30fb56amsh654fa8104418601p1e420cjsn3152a0032f0b" rule="rapidapi-access-token" uri="https://pastebin.com/raw/nferefe2" line=37 column=6
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/print/cQEA2GCS" line=39 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_js/cQEA2GCS" line=11 column=2688
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_iframe/cQEA2GCS?theme=dark" line=49 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/cQEA2GCS" line=222 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/raw/cQEA2GCS" line=22 column=22
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_iframe/cQEA2GCS" line=48 column=123
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/embed_js/cQEA2GCS?theme=dark" line=11 column=2796
Detected: secret="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" rule="github-pat" uri="https://pastebin.com/clone/cQEA2GCS" line=152 column=27
Success: Processed https://archive.org/download/archiveteam_pastebin_20230421003309_a3b951b4/pastebin_20230421003309_a3b951b4.1603050931.megawarc.warc.zst (113372 records)

크레딧

실제 비밀 정보를 탐지하는 데 사용되는 규칙 세트는 Gitleaks 프로젝트의 일부입니다. 이 모든 정보를 정리하는 데 엄청난 작업을 해주신 분들께 깊은 감사를 드립니다!

이름에 담긴 의미는?

Troll A 플랫폼은 노르웨이 서해안의 Troll 가스전에 있는 천연가스 플랫폼입니다. 2014년 기준으로 지구 표면을 기준으로 다른 위치로 이동된 가장 높은 구조물이며, 역사상 가장 크고 복잡한 공학 프로젝트 중 하나입니다. 1996년에 이 플랫폼은 세계에서 가장 큰 해상 가스 플랫폼으로 기네스 세계 기록을 세웠습니다.

[!NOTE] 우리는 천연 자원의 착취를 깊이 싫어하지만, 그 공학적 위업은 존경합니다!

도구 다운로드