# trufflehog: encontrar y verificar credenciales filtradas

> Cómo instalar y ejecutar trufflehog, por qué importa el modo verified-only, y cómo Tandera convierte un secreto verificado en un finding con severidad real.

`trufflehog` escanea contenido en busca de credenciales y — esto es lo que lo separa de todo escáner de secretos basado en regex — intenta verificarlas contra el servicio emisor. Un match no verificado es una cadena que parece una clave. Un match verificado es una clave que funciona.

## Instalación

```bash
# macOS
brew install trufflehog

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

# Docker
docker run --rm -it trufflesecurity/trufflehog:latest github --repo https://github.com/example/repo
```

## Comandos principales

```bash
# un repo git, historial completo
trufflehog git https://github.com/example/repo --only-verified

# un checkout local
trufflehog filesystem ./src --only-verified

# una organización entera de GitHub
trufflehog github --org=example --only-verified

# JSON para importar
trufflehog git file://./repo --only-verified --json > secrets.jsonl

# S3, con un perfil de credencial específico
trufflehog s3 --bucket=example-assets --only-verified
```

`--only-verified` es la flag que hace la salida reportable. Sin ella obtienes miles de cadenas candidatas; con ella obtienes credenciales que autenticaron con éxito.

## Salida

```json
{"SourceMetadata":{"Data":{"Git":{"commit":"a3f9...","file":"config/settings.py",
 "line":42,"repository":"https://github.com/example/repo"}}},
 "DetectorName":"AWS","Verified":true,"Raw":"AKIA..."}
```

## Dónde encaja en Tandera

trufflehog se ejecuta en la fase de **analyze** de `recon_web_lite` y `recon_web_full`, contra los bundles JavaScript y assets que `katana` y `linkfinder` recuperaron. El uso orientado a web es más estrecho que el uso en historial git por el que la mayoría lo conoce: busca claves enviadas al navegador.

Los resultados verificados mapean al catálogo de findings `secrets.yaml`, que es lo que les da una severidad y remediación canónicas en lugar de un nombre en bruto de detector.

## Uso en un pentest

**Verificado cambia la severidad, y la conversación.** "Encontramos una cadena que coincide con el formato de una clave AWS" invita al debate. "Encontramos una clave AWS que autentica" lo cierra. Reporta las dos categorías por separado y nunca las mezcles.

**No uses la credencial más allá de la verificación.** Confirmar que una clave es válida está dentro del alcance. Enumerar la cuenta que abre es otra autorización, y a menudo otro contrato. Verifica, captura evidencia, detente, escala al cliente.

**El historial git es donde viven.** Una clave borrada de `HEAD` sigue en el commit que la añadió. Escanear el working tree en lugar del historial del repositorio es la forma más común de usar mal esta herramienta.

**Rotar es la remediación, no borrar.** Una clave eliminada del repo pero nunca rotada sigue siendo una clave válida. Dilo explícitamente en el finding.

---

Canonical: https://tandera.io/es/tools/trufflehog
This page as markdown: https://tandera.io/es/tools/trufflehog.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
