Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/odomojuli/regextokens
Ferramentas DefensivasAnálise EstáticaScanners de VulnerabilidadesAnálise de CódigoDevSecOpsDetecção de SegredosSegurança da Cadeia de SuprimentosRecursos Curados
GitHubodomojuli/regextokens

regextokens

lista de padrões regex para tokens oauth / api com fonte fornecida

Ver Repositório
2936316há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

regextokens

Um scanner com fontes, testado e com prova offline para tokens e segredos de OAuth / API. Cada padrão é com fontes (documentação primária do provedor), testado (amostras positivas + negativas) e provado (compatível com RE2, verificado contra ReDoS). Inclui uma CLI com níveis de confiança. A fonte da verdade é DATA em build_patterns.py; patterns.json e este arquivo são gerados a partir dele.

109 padrões / 64 provedores / gerado em 2026-07-02

Instalação

pip install -e .          # console script + importable package

Varredura

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

Status de saída: 0 sem achados, 1 achados no nível solicitado ou acima, 2 erro. Aponte-o para um diff ou árvore no CI para bloquear merges. Segredos são redigidos na saída por padrão.

Baseline / allowlist

Aceite achados revisados (fixtures de teste, exemplos de documentação) para que o CI falhe apenas em segredos novos:

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

A linha de base armazena impressões digitais (sha256 do id do padrão + corpo do segredo com hash), nunca os próprios segredos, portanto é seguro fazer commit. A correspondência é independente de linha — editar acima de um achado aceito não o des-suprime — mas o mesmo token em um arquivo diferente é uma nova exposição e é reportado. Uma seção allow editada manualmente contém a política: globs de caminho fnmatch e ids de padrão. --write-baseline a preserva e aplica. Este repositório faz commit de sua própria linha de base cobrindo as amostras sintéticas em build_patterns.py; a CI faz auto-varredura com base nela.

Hook de pré-commit e 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 usam -m probable por padrão: o nível low inclui identificadores públicos e placeholders que tornariam um gate de commit inutilizável.

Níveis de confiança

Cada achado é pontuado por prova offline — apenas computação local, sem rede, sem chamadas ao emissor. Uma correspondência de forma responde "isto parece um token?"; estas verificações respondem "podemos provar, localmente, que é ou não é um?". Filtre com -m/--min-confidence.

  • verified-offline — um checksum ou decodificador prova que a estrutura é autêntica (CRC32 do GitHub/npm; validado empiricamente contra tokens revogados reais).
  • probable — estrutura mais um corpo de entropia de Shannon consistente com um segredo real.
  • low — apenas correspondência de forma; pode ser um placeholder ou identificador público.
  • rejected — a prova offline indica que isto é comprovadamente não um token real (por exemplo, incompatibilidade de CRC32); descartado antes de chegar até você.

O nível rejected é o diferencial: uma string ghp_/npm_ com prefixo e comprimento válidos mas checksum inválido é descartada com certeza, eliminando a maior classe de falsos positivos para os provedores de maior valor. A prova offline nunca afirma que uma chave está ativa — isso ainda requer a API do emissor.

Desenvolver

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

Consuma o catálogo diretamente (sem engine):

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)

Arquivos

  • build_patterns.py — fonte da verdade (DATA) + validador; reconstrói patterns.json e README.md.
  • patterns.json — catálogo gerado (legível por máquina). Nunca edite manualmente.
  • regextokens/ — pacote instalável: catalog (carregar), scanner (percorrer/comparar), verify (prova offline), baseline (descobertas aceitas + allowlist), report (humano/JSON/SARIF), cli. Inclui uma cópia sincronizada de patterns.json.
  • .pre-commit-hooks.yaml / action.yml / .github/workflows/ — distribuição: hook de pre-commit, GitHub Action composta, CI + lançamento no PyPI acionado por tag (publicação confiável).
  • tests/ — test_patterns.py (cada padrão: compilação, correspondência, RE2, ReDoS) e test_engine.py (scanner, verify, report, CLI, sincronização do catálogo).
  • sniffer-audit.md — auditoria de outros scanners de segredos (verificação, obsolescência).
  • references.bib / references.md — bibliografia da literatura sobre detecção de segredos.

Convenções

  • Sabor: compatível com RE2 (gitleaks/Go) e re do Python. Sem lookbehind ou referências anteriores.
  • Os padrões são escritos para re.search (varredura de texto incorporado). Envolva com ^/$ para usar como validadores.
  • Limites de palavra \b delimitam a maioria dos tokens. Remova-os ao varrer dentro de blobs base64.
  • Tag de estratégia por entrada: prefix = confiável isoladamente; structure = forma fixa; keyword = condicionado a uma palavra-chave próxima; identifier = público, não secreto; encoding = verificação de formato, não secreto.
  • Uma correspondência de forma é necessária, não suficiente. Muitos emissores incorporam checksums; verifique antes de agir.[^verify]
  • Os tokens de exemplo em patterns.json são preenchimento sintético, não credenciais reais.

Referências

  • sniffer-audit.md — como os principais scanners constroem e verificam padrões, com dados de benchmark.
  • references.bib / references.md — bibliografia da literatura sobre detecção de segredos.
  • A linhagem dos padrões remonta a Meli et al., How Bad Can It Git? (NDSS 2019).[^ndss]

Índice

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

Genérico / Cripto

Genérico

String Base64 [encoding]

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

Validador de formato, não um segredo. Alfabeto Base64 padrão com preenchimento. Ancorado.

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,}

Três segmentos base64url. O cabeçalho começa com ey (ou seja, {"). Decodifique para inspecionar; a assinatura por si só não é o segredo.

src: https://datatracker.ietf.org/doc/html/rfc7519

Bloco de chave privada PEM [prefix]

-----BEGIN (?:RSA |EC |DSA |OPENSSH |PGP |ENCRYPTED )?PRIVATE KEY-----
Baixar ferramenta