Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
deepsecrets — Escáner de secretos sin conexión que combina reglas regex, análisis semántico basado en lexer y coincidencia de valores con hash para detectar credenciales expuestas en el código con salida SARIF. | Kitploit
Herramientas/GitHubGitHub/ntoskernel/deepsecrets
Herramientas DefensivasAnálisis EstáticoEscáneres de VulnerabilidadesAnálisis Estático de Código (SAST)Análisis de CódigoDevSecOpsDetección de SecretosSeguridad de Cadena de Suministro
GitHubntoskernel/deepsecrets

deepsecrets

Escáner de secretos sin conexión que combina reglas regex, análisis semántico basado en lexer y coincidencia de valores con hash para detectar credenciales expuestas en el código con salida SARIF.

184185hace 25 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

OWASP DeepSecrets — una mejor herramienta para el escaneo de secretos

Tests Status

¿Qué es? ¿Otro proxy CLI que desperdicia tokens hacia una API de IA?

¡Absolutamente no!

En nuestra era del hype de los LLM, DeepSecrets sigue ejecutándose completamente en tu máquina — brindándote excelentes resultados sin conexión, de forma segura y gratuita.

Entonces, ¿por qué otra herramienta más?

La mayoría de los escáneres existentes en realidad no "entienden" el código. En cambio, solo analizan textos y tienen una cobertura deficiente.

DeepSecrets cierra la brecha entre los escáneres clásicos basados en regex y las herramientas SAST comerciales de gran escala. Extiende la estrategia clásica de escaneo basada en regex apoyándose en gran medida en el análisis semántico del código, la detección de variables peligrosas y el análisis de entropía consciente del contexto. Esto significa que los candidatos a secretos siempre son semánticamente correctos. Logramos una verdadera comprensión del código en más de 500 lenguajes y formatos mediante técnicas de lexing y parsing.

DeepSecrets también introduce una nueva forma de encontrar credenciales con conocimiento cero: el HashedSecret Engine. Solo proporciona los valores hash de tus secretos de producción conocidos, y la herramienta los encontrará expuestos en texto plano dentro de tu código.

Rendimiento y benchmarks (SecretBench)

DeepSecrets v2.0 fue evaluado (junio de 2026) contra el benchmark SecretBench, superando a los escáneres tradicionales de texto plano:

  • 93% de Recall
  • 8% de tasa de falsos positivos en el alcance de SecretBench
  • ~9K hallazgos adicionales fuera del alcance de SecretBench

(Puedes leer la historia completa entre bastidores y el desglose del benchmark en mi artículo de HackerNoon aquí)

Guía de inicio rápido

Instalación

Desde Github vía pip

$ pip install git+https://github.com/ntoskernel/deepsecrets.git

Desde PyPi

$ pip install deepsecrets

DeepSecrets requiere Python 3.11 o superior.

Escaneo

La forma más sencilla de ejecutar un escaneo:

$ deepsecrets --target-dir /path/to/your/code --outformat dojo-sarif --outfile report.json

Esto ejecutará un escaneo contra /path/to/your/code usando la configuración predeterminada:

  • Regex usando el conjunto de reglas integrado
  • Comprobaciones semánticas (detección de variables, comprobaciones de entropía)

Un informe en formato SARIF (compatible con DefectDojo y GitHub Security) se guardará en report.json.

Ajuste fino

El comando --help siempre está listo para guiarte, pero aquí están los flags clave que puedes usar para adaptar el escaneo a tu entorno:

  • --regex-rules /path/to/rules.json: Proporciona tu propio conjunto de reglas regex personalizado.
  • --hashed-values /path/to/hashes.json: Proporciona una lista de secretos de producción conocidos previamente hasheados para buscarlos de forma segura.
  • --excluded-paths /path/to/exclusions.json: Sobrescribe o amplía las rutas predeterminadas ignoradas durante el escaneo.
  • --deep-max-size BYTES: Los archivos más grandes que este tamaño (por defecto 250,000 bytes) reciben el análisis rápido: las reglas regex y la búsqueda de variables, sin el lexer del lenguaje. Los archivos grandes suelen ser generados o minificados, el lexer consume la mayor parte del tiempo de escaneo en ellos y rara vez encuentra más allí. 0 aplica el análisis completo a todos los archivos.
  • --skip-bundles: Omite por completo el JavaScript minificado, los source maps y los bundles (*.min.js, *.map, *.bundle.js), además de las otras exclusiones de rutas.
  • --confidence-level {all,low,medium,high,very-high}: El nivel de confianza más bajo a reportar (por defecto low, todos los hallazgos). medium, high y very-high conservan confianza 3, 6 y 9 o más; all también reporta las coincidencias regex que el escáner consideró que no eran secretos (marcadores de posición, ejemplos), con un id de regla -INFO.
  • --report-diagnostics: Añade cada archivo encontrado bajo el objetivo al informe SARIF, con su estado, tiempo de escaneo, motivo de omisión y profundidad de análisis.
  • --regex-candidate-scoring-rules /path/to/rules.json: Proporciona tus propias reglas para evaluar las coincidencias regex antes de que se reporten. No des ningún valor al flag para reportar las coincidencias regex sin evaluar.
  • --multiprocessing-context {forkserver,spawn,fork}: Cómo se inician los procesos trabajadores. El valor predeterminado es forkserver donde la plataforma lo tiene (Linux, macOS): los trabajadores comparten el escáner ya cargado en un proceso servidor. Windows usa spawn. Los tres producen los mismos hallazgos.
  • --disable-masking: Mantiene los posibles secretos sin enmascarar en el informe de salida (ver advertencia a continuación).
  • --ci / --no-ci: Activa o desactiva el modo CI. El modo CI imprime una línea de progreso simple cada 30 segundos en lugar de la visualización de progreso en vivo. Se activa por sí solo dentro de servicios de CI (GitHub Actions, GitLab CI, Jenkins y otros) y siempre que la salida no sea un terminal.

Integración con Github Actions

ej. .github/workflows/deepsecrets.yml

name: DeepSecrets Scan
on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install DeepSecrets
        run: pip install deepsecrets

      - name: Run Scan
        run: deepsecrets --target-dir . --outformat dojo-sarif --outfile report.sarif
        continue-on-error: true

      - name: Upload SARIF report
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: report.sarif

Enmascaramiento de secretos en los informes

A partir de la v1.3.0, los posibles secretos se enmascaran automáticamente dentro de los informes para proteger los artefactos de tu pipeline. Desactiva esta opción mediante el flag --disable-masking si es necesario.

El enmascaramiento no rompe la lógica de deduplicación de las plataformas posteriores (como Github), ya que la sección partialFingerprints del informe se rellena correctamente a partir de los datos sin procesar.

[!Caution]
Si integras DeepSecrets en tu pipeline de CI con el enmascaramiento desactivado, es probable que vuelvas a filtrar tus secretos dentro de los registros y artefactos de tu CI.

Informes SARIF y confianza dinámica

Cada hallazgo recibe una puntuación de confianza. Sin embargo, las distintas plataformas de seguridad analizan las métricas SARIF de forma diferente. Para garantizar la compatibilidad con los paneles de ASPM modernos, DeepSecrets hace lo siguiente:

  • Subreglas virtuales (rules[]): Genera dinámicamente reglas por nivel de confianza, desde S105-LOW pasando por -MEDIUM y -HIGH hasta S105-VERY-HIGH (y -INFO para las coincidencias rechazadas que se informan con --confidence-level all). Esto obliga a GitHub Security y DefectDojo a mapear correctamente la varianza de precisión semántica sin romper los analizadores nativos.

  • Nivel de resultado determinista: La herramienta siempre establece explícitamente level: error en el modelo results[]. Esto actúa como un mecanismo de reserva universal para los pipelines de CI/CD y los analizadores SAST más antiguos, garantizando que los secretos expuestos interrumpan de forma fiable las compilaciones o bloqueen las Pull Requests independientemente de las interpretaciones individuales de las reglas.

Descargar herramienta