업데이트로 돌아가기
New releaseSep 17, 2026

trufflehog v3.97.5

유출된 자격 증명을 찾고, 검증하고, 분석합니다.

공유

GoReleaser Logo

TruffleHog

유출된 자격 증명을 찾아냅니다.


Go Report Card License Total Detectors


🔎 현재 스캔 중

...그리고 더 많은 것들

TruffleHog와 그 기능 및 역량에 대해 더 알아보려면 제품 페이지를 방문하세요.

🌐 TruffleHog Enterprise

Git, Jira, Slack, Confluence, Microsoft Teams, Sharepoint (그리고 더 많은 것들) 에서 자격 증명을 지속적으로 모니터링하는 데 관심이 있으신가요? 도움이 될 수 있는 엔터프라이즈 제품이 있습니다! https://trufflesecurity.com/trufflehog-enterprise에서 더 알아보세요.

우리는 엔터프라이즈 제품에서 발생한 수익을 전체 커뮤니티가 혜택을 받을 수 있는 더 멋진 오픈 소스 프로젝트에 지원하는 데 사용합니다.

TruffleHog란 무엇인가 🐽

TruffleHog는 가장 강력한 시크릿 탐지, 분류, 검증, 및 분석 도구입니다. 이 맥락에서 시크릿이란 머신이 다른 머신에 인증하기 위해 사용하는 자격 증명을 의미합니다. 여기에는 API 키, 데이터베이스 비밀번호, 개인 암호화 키 등이 포함됩니다.

탐지 🔍

TruffleHog는 Git, 채팅, 위키, 로그, API 테스트 플랫폼, 오브젝트 스토어, 파일 시스템 등 다양한 곳에서 시크릿을 찾을 수 있습니다.

분류 📁

TruffleHog는 800개 이상의 시크릿 유형을 분류하고, 이를 해당 시크릿이 속한 특정 ID에 매핑합니다. AWS 시크릿인가요? Stripe 시크릿인가요? Cloudflare 시크릿인가요? Postgres 비밀번호인가요? SSL 개인 키인가요? 때로는 보고 판단하기 어려울 수 있으므로, TruffleHog는 발견한 모든 것을 분류합니다.

검증 ✅

TruffleHog가 분류할 수 있는 모든 시크릿에 대해, 해당 시크릿이 실제로 사용 가능한지 확인하기 위해 로그인을 시도할 수 있습니다. 이 단계는 현재 활성화된 위험이 있는지 여부를 파악하는 데 매우 중요합니다.

분석 🔬

가장 흔히 유출되는 20여 가지 자격 증명 유형에 대해서는, 시크릿이 로그인할 수 있는지 확인하기 위해 하나의 요청을 보내는 대신, TruffleHog는 여러 요청을 보내 해당 시크릿에 대해 알 수 있는 모든 것을 파악할 수 있습니다. 누가 만들었나요? 어떤 리소스에 접근할 수 있나요? 해당 리소스에 어떤 권한을 가지고 있나요?

📢 커뮤니티에 참여하세요

질문이 있으신가요? 피드백이 있으신가요? Slack 또는 Discord에 뛰어들어 우리와 함께 어울려 보세요.

Slack 커뮤니티에 참여하세요

Secret Scanning Discord에 참여하세요

📺 데모

GitHub scanning demo```bash docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity

# :floppy_disk: 설치

다음과 같은 몇 가지 옵션을 사용할 수 있습니다:

### MacOS 사용자```bash
brew install trufflehog

Docker:

다음 명령을 실행하기 전에 Docker 엔진이 실행 중인지 확인하세요:

    Unix```bash

docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

####     Windows 명령 프롬프트```bash
docker run --rm -it -v "%cd:/=\%:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

    Windows PowerShell```bash

docker run --rm -it -v "${PWD}:/pwd" trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys

####     M1 및 M2 Mac```bash
docker run --platform linux/arm64 --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

바이너리 릴리스```bash

Download and unpack from https://github.com/trufflesecurity/trufflehog/releases

### 소스에서 컴파일```bash
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog; go install

설치 스크립트 사용```bash

curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin

### 설치 스크립트를 사용하여 체크섬 서명 확인 (cosign이 설치되어 있어야 함)```bash
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -v -b /usr/local/bin

설치 스크립트를 사용하여 특정 버전 설치하기```bash

curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin

# :closed_lock_with_key: 아티팩트 검증

모든 아티팩트에 체크섬이 적용되며, 생성된 체크섬 파일은 cosign을 사용하여 서명됩니다.

서명을 검증하려면 다음 도구가 필요합니다:

- [Cosign](https://docs.sigstore.dev/cosign/system_config/installation/)

검증 단계는 다음과 같습니다:

1. 원하는 아티팩트 파일과 [releases](https://github.com/trufflesecurity/trufflehog/releases) 페이지에서 다음 파일들을 다운로드합니다.

   - trufflehog\_{version}\_checksums.txt
   - trufflehog\_{version}\_checksums.txt.pem
   - trufflehog\_{version}\_checksums.txt.sig

2. 서명을 검증합니다:   ```shell
   cosign verify-blob <path to trufflehog_{version}_checksums.txt> \
   --certificate <path to trufflehog_{version}_checksums.txt.pem> \
   --signature <path to trufflehog_{version}_checksums.txt.sig> \
   --certificate-identity-regexp 'https://github\.com/trufflesecurity/trufflehog/\.github/workflows/.+' \
   --certificate-oidc-issuer "https://token.actions.githubusercontent.com"
  1. 서명이 유효한 것으로 확인되면, 다운로드한 아티팩트와 SHA256 합계가 일치하는지 검증을 진행할 수 있습니다: ```shell sha256sum --ignore-missing -c trufflehog_{version}_checksums.txt

{version}을 다운로드한 파일의 버전으로 바꾸세요

또는 설치 스크립트를 사용하는 경우 -v 옵션을 전달하여 서명 검증을 수행하세요. 이를 위해서는 설치 스크립트를 실행하기 전에 Cosign 바이너리가 설치되어 있어야 합니다.

🚀 빠른 시작

1: 검증된 시크릿만을 대상으로 저장소 스캔

명령:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified

Expected output:```
🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷

Found verified result 🐷🔑
Detector Type: AWS
Decoder Type: PLAIN
Raw result: AKIAYVP4CIPPERUVIFXG
Line: 4
Commit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca
File: keys
Email: counter <[email protected]>
Repository: https://github.com/trufflesecurity/test_keys
Timestamp: 2022-06-16 10:17:40 -0700 PDT
...

2: 검증된 시크릿만을 대상으로 GitHub 조직 스캔하기```bash

trufflehog github --org=trufflesecurity --results=verified

## 3: 아카이브된 리포지토리를 제외한 GitHub 조직 스캔```bash
trufflehog github --org=trufflesecurity --exclude-archived

4: 검증된 시크릿만을 대상으로 GitHub 리포지토리를 스캔하고 JSON 출력 얻기

명령:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified --json

Expected output:```
{"SourceMetadata":{"Data":{"Git":{"commit":"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca","file":"keys","email":"counter \[email protected]\u003e","repository":"https://github.com/trufflesecurity/test_keys","timestamp":"2022-06-16 10:17:40 -0700 PDT","line":4}}},"SourceID":0,"SourceType":16,"SourceName":"trufflehog - git","DetectorType":2,"DetectorName":"AWS","DecoderName":"PLAIN","Verified":true,"Raw":"AKIAYVP4CIPPERUVIFXG","Redacted":"AKIAYVP4CIPPERUVIFXG","ExtraData":{"account":"595918472158","arn":"arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj","user_id":"AIDAYVP4CIPPJ5M54LRCY"},"StructuredData":null}
...

TruffleHog는 --json 대신 --sarif를 사용하여 SARIF를 출력할 수도 있습니다. GitHub 코드 스캐닝은 SARIF를 기본적으로 이해하므로, 이를 업로드하면 pull request diff와 저장소의 Security 탭에 발견 사항이 인라인으로 표시되며, 매 실행마다 동일한 발견 사항을 보고하는 대신 스캔 간에 새로운/수정된 발견 사항으로 추적됩니다. 업로드 방법은 아래의 TruffleHog Github Action 섹션을 참조하세요. 다른 출력 형식과 달리 SARIF 결과는 전체 스캔 동안 메모리에 버퍼링되었다가 마지막에 기록됩니다. 이는 SARIF가 스트림이 아닌 단일 JSON 문서를 요구하기 때문입니다. 일반적인 스캔에는 문제없지만, 매우 많은 수의 결과를 생성하는 스캔은 그에 비례하여 더 많은 메모리를 사용합니다.

카테고리