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
regextokens — lista de patrones regex para tokens de oauth / api con la fuente proporcionada | Kitploit
Herramientas/GitHubGitHub/odomojuli/regextokens
Herramientas DefensivasAnálisis EstáticoEscáneres de VulnerabilidadesAnálisis de CódigoDevSecOpsDetección de SecretosSeguridad de Cadena de SuministroRecursos Curados
GitHubodomojuli/regextokens

regextokens

lista de patrones regex para tokens de oauth / api con la fuente proporcionada

Ver Repositorio
2936316hace 3 mesesRevisado 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 →
Compartir

regextokens

Un escáner con fuentes, probado y con verificación offline para tokens y secretos de OAuth / API. Cada patrón está respaldado por fuentes (documentación primaria del proveedor), probado (muestras positivas + negativas) y verificado (compatible con RE2, comprobado contra ReDoS). Incluye una CLI con niveles de confianza. La fuente de verdad es DATA en build_patterns.py; patterns.json y este archivo se generan a partir de ella.

109 patrones / 64 proveedores / generado 2026-07-02

Instalación

pip install -e .          # console script + importable package

Escaneo

regextokens scan PATH...              # walk files/dirs, report findings
regextokens scan PATH -m verified     # only offline-proven findings
regextokens scan PATH -f sarif        # SARIF for GitHub code scanning
regextokens list                      # show the catalog

Estado de salida: 0 sin hallazgos, 1 hallazgos en o por encima del nivel solicitado, 2 error. Apúntalo a un diff o árbol en CI para bloquear fusiones. Los secretos se redactan en la salida de forma predeterminada.

Línea base / lista de permitidos

Acepta hallazgos revisados (fixtures de prueba, ejemplos de documentación) para que CI solo falle ante secretos nuevos:

regextokens scan . --write-baseline .regextokens-baseline.json   # snapshot current findings
regextokens scan . --baseline .regextokens-baseline.json         # subtract them

La línea base almacena huellas digitales (sha256 del id del patrón + cuerpo del secreto hasheado), nunca los secretos en sí, por lo que es seguro confirmarla en el repositorio. La coincidencia es independiente de la línea — editar por encima de un hallazgo aceptado no lo des-suprime — pero el mismo token en un archivo diferente es una nueva exposición y se reporta. Una sección allow editada manualmente contiene la política: globs de rutas fnmatch e ids de patrones. --write-baseline la preserva y la aplica. Este repositorio confirma su propia línea base que cubre las muestras sintéticas en build_patterns.py; la CI se autoescanea contra ella.

Hook de pre-commit y GitHub Action

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/odomojuli/regextokens
    rev: v0.2.0
    hooks:
      - id: regextokens
# .github/workflows/secrets.yml
jobs:
  secrets:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: odomojuli/regextokens@main
        with:
          min-confidence: probable
          # baseline: .regextokens-baseline.json
      # optional: feed the SARIF to code scanning
      # - uses: github/codeql-action/upload-sarif@v3
      #   if: always()
      #   with: {sarif_file: regextokens.sarif}

Ambos usan -m probable por defecto: el nivel low incluye identificadores públicos y marcadores de posición que harían inutilizable una compuerta de commits.

Niveles de confianza

Cada hallazgo se puntúa mediante prueba offline — solo computación local, sin red, sin llamadas al emisor. Una coincidencia de forma responde a "¿esto parece un token?"; estas comprobaciones responden a "¿podemos probar, localmente, que lo es o que no lo es?". Filtra con -m/--min-confidence.

  • verified-offline — una suma de verificación o un decodificador demuestra que la estructura es auténtica (CRC32 de GitHub/npm; validado empíricamente contra tokens revocados reales).
  • probable — estructura más un cuerpo de entropía de Shannon consistente con un secreto real.
  • low — solo coincidencia de forma; puede ser un marcador de posición o un identificador público.
  • rejected — la prueba offline indica que esto es demostrablemente no un token real (p. ej., discrepancia de CRC32); se descarta antes de llegar a ti.

El nivel rejected es el diferenciador: una cadena ghp_/npm_ con un prefijo y una longitud válidos pero una suma de verificación incorrecta se descarta con certeza, eliminando la mayor clase de falsos positivos para los proveedores de mayor valor. La prueba offline nunca afirma que una clave esté activa — eso aún requiere la API del emisor.

Develop

pip install pytest
pytest                     # validate every pattern + engine
python build_patterns.py   # regenerate patterns.json + README.md

Consumir el catálogo directamente (sin motor):

import json, re
pats = json.load(open("patterns.json"))["patterns"]
rx = {p["id"]: re.compile(p["regex"]) for p in pats}
rx["github-pat-classic"].search(text)

Archivos

  • build_patterns.py — fuente de verdad (DATA) + validador; reconstruye patterns.json y README.md.
  • patterns.json — catálogo generado (legible por máquina). Nunca editar a mano.
  • regextokens/ — paquete instalable: catalog (carga), scanner (recorrido/coincidencia), verify (prueba offline), baseline (hallazgos aceptados + allowlist), report (humano/JSON/SARIF), cli. Incluye una copia sincronizada de patterns.json.
  • .pre-commit-hooks.yaml / action.yml / .github/workflows/ — distribución: hook de pre-commit, GitHub Action compuesta, CI + publicación en PyPI activada por tag (trusted publishing).
  • tests/ — test_patterns.py (cada patrón: compilación, coincidencia, RE2, ReDoS) y test_engine.py (scanner, verify, report, CLI, sincronización del catálogo).
  • sniffer-audit.md — auditoría de otros escáneres de secretos (verificación, obsolescencia).
  • references.bib / references.md — bibliografía de la literatura sobre detección de secretos.

Convenciones

  • Sabor: compatible con RE2 (gitleaks/Go) y re de Python. Sin lookbehind ni retroreferencias.
  • Los patrones están escritos para re.search (escaneo de texto embebido). Envolver con ^/$ para usarlos como validadores.
  • Los límites de palabra \b delimitan la mayoría de los tokens. Eliminarlos si se escanea dentro de blobs base64.
  • Etiqueta de estrategia por entrada: prefix = fiable por sí solo; structure = forma fija; keyword = condicionado a una palabra clave cercana; identifier = público, no secreto; encoding = comprobación de formato, no secreto.
  • Una coincidencia de forma es necesaria, no suficiente. Muchos emisores incorporan sumas de verificación; verificar antes de actuar.[^verify]
  • Los tokens de ejemplo en patterns.json son relleno sintético, no credenciales reales.

Referencias

  • sniffer-audit.md — cómo los principales escáneres construyen y verifican patrones, con datos de benchmark.
  • references.bib / references.md — bibliografía de la literatura sobre detección de secretos.
  • El linaje de los patrones se remonta a Meli et al., How Bad Can It Git? (NDSS 2019).[^ndss]

Índice

  • Genérico / Cripto: Generic, age
  • Nube: Amazon MWS, Amazon Web Services, Cloudflare, DigitalOcean, Fly.io, Google, HashiCorp Terraform, HashiCorp Vault, Heroku, Microsoft Azure, Netlify, Okta, Pulumi, Tailscale, Vercel
  • Código fuente / CI: CircleCI, Docker, GitHub, GitLab, PyPI, RubyGems, npm
  • IA: Anthropic, Cohere, DeepSeek, Fireworks AI, Groq, Hugging Face, Mistral AI, OpenAI, OpenRouter, Perplexity, Replicate, xAI
  • Pagos: PayPal / Braintree, Picatic, Shopify, Square, Stripe
  • Comunicaciones: Discord, Mailchimp, Mailgun, SendGrid, Slack, Telegram, Twilio
  • Redes sociales: Facebook, Foursquare, Instagram, Twitter / X
  • Productividad: Airtable, Atlassian, Databricks, Datadog, Doppler, Dropbox, Grafana, Linear, Notion, Postman, Sentry, WakaTime

Genérico / Cripto

Genérico

Cadena Base64 [encoding]

^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$

Validador de formato, no un secreto. Alfabeto Base64 estándar con relleno. Anclado.

src: https://datatracker.ietf.org/doc/html/rfc4648#section-4

JSON Web Token (JWT) [structure]

\bey[A-Za-z0-9_-]{10,}\.ey[A-Za-z0-9/_-]{10,}\.[A-Za-z0-9/_-]{10,}
Descargar herramienta