Uma extensão nunca escolhe binários, argumentos ou imagens. Ela pede uma capacidade tipada e o supervisor do CatBridge monta o comando, reserva o orçamento e devolve apenas JSON verificado. Cada capacidade tem um executor fixado por versão e hash; modificar o executável invalida as capacidades aprovadas.
Capacidades iniciais (SDK 1.3) #
| Capacidade | Executor fixado | Resultado |
|---|---|---|
http.probe | httpx 1.12.0 | Serviços HTTP, status, título, headers selecionados e tecnologias observadas |
web.crawl | Katana 1.7.0 | Páginas, formulários, parâmetros e candidatos de JavaScript estático |
api.schema.test | Schemathesis 4.29.1 | Cobertura, checks, falhas observadas, seed e caso reduzido |
nuclei.scan | Instalação revisada do administrador | Resultados de templates HTTP aprovados |
Capacidades do ecossistema (SDK 1.4) #
Os adaptadores das etapas 2 a 5 exigem contrato 2 e .catflow 5. A API v1 e o Protocol 2 assinado permanecem compatíveis.
| Capacidade | Executor fixado |
|---|---|
assets.subdomains.discover | subfinder 2.16.0, Amass 5.1.1 |
dns.resolve / dns.enumerate | dnsx 1.3.1 |
dns.permute | AlterX 0.1.0 |
urls.history | gau 2.2.4, waybackurls 0.1.0 |
assets.search | Uncover 1.2.1 |
net.ports.discover | naabu 2.6.1, Nmap 7.991 |
net.services.fingerprint | Nmap 7.991 |
web.paths.fuzz / http.parameters.fuzz / web.vhosts.fuzz | ffuf 2.3.0 |
http.parameters.discover | Arjun 2.2.7 |
web.xss.analyze | Dalfox 3.2.3 |
api.sqli.validate | SQLmap 1.10 |
jwt.analyze | JWT Tool 2.3.0 |
tls.assess | testssl.sh 3.2.4 |
web.server.assess | Nikto 2.6.1 |
code.secrets.scan | Gitleaks 8.30.1, Trufflehog 3.97.9 |
code.sast.scan | Semgrep 1.179.0 |
Alguns perfis consultam fontes públicas selecionadas: subfinder usa crt.sh e CertSpotter; Uncover usa o Shodan InternetDB por IP, sem credenciais; gau e waybackurls usam o Wayback — URLs históricas não comprovam serviços ativos. DNS aceita A, AAAA, CNAME, MX, NS e TXT; TTL e DNSSEC não são considerados verificados.
Perfis de execução #
read-only— operações offline e consultas DNS.external-approved— consulta a fontes externas aprovadas.active-approved— testes ativos contra destinos aprovados.mutation-approved— exclusivo do Schemathesis, só depois de selecionar explicitamente as operações e obter nova aprovação.
No ecossistema o HTTP é limitado a GET. Descobertas e redirecionamentos não ampliam o escopo.
Orçamentos e limites #
Os limites valem para a tarefa inteira e são reservados antes de cada lote:
| Limite | Valor |
|---|---|
| Destinos por tarefa | até 25 (httpx aceita 50; Schemathesis usa um endereço base) |
| Operações de rede | até 500 |
| Taxa | 5 requests/s, 2 conexões |
| Tempo | 120 s (httpx/Katana) · 300 s (Schemathesis) · 10 min (Nuclei) |
| Resultados | 1.000 por tarefa |
| Katana | depth até 2 e pages até 25, sem navegador ou execução de JavaScript |
| Schemathesis | operations/paths até 20; examples até 25; seed inteiro |
| Portas TCP | até 32 por tarefa, um destino por tarefa |
| TLS | uma porta por etapa |
O cancelamento não devolve uma reserva cujo consumo seja desconhecido. Lotes concluídos (até cinco destinos e cinco templates) são reutilizados; repetir um lote de resultado desconhecido exige escolha explícita.
Templates revisados (Nuclei) #
O manifesto é uma lista com id, path, sha256 e name em pt-BR/en. Atualize o hash somente depois de revisar o YAML.
{
"templates": [
{
"id": "aurora-cache",
"path": "examples/aurora-cache.yaml",
"sha256": "…",
"name": {"pt-BR": "Cache do Aurora", "en": "Aurora cache"}
}
]
}Apenas HTTP GET/HEAD, destinos baseados em {{BaseURL}}, matchers e extractors são aceitos. Código, JavaScript executável, headless, DNS, OAST, workflows externos, raw requests e redirecionamentos configurados não são aceitos. Headers que alteram host ou enquadramento são recusados. Os hashes são verificados antes de cada execução.
Dados que a ferramenta recebe #
- O perfil padrão
endpoints-onlynão encaminha cookies, tokens ou corpos. selected-headerscompartilha até 16 cabeçalhos / 16 KiB escolhidos explicitamente na etapa e incluídos na aprovação.CookieeAuthorizationexigem seleção explícita e classificação SECRET; cabeçalhos de host/enquadramento são recusados.- Os valores selecionados ficam em um arquivo temporário privado, removido ao terminar. Corpos nunca são enviados ao Nuclei.
Recursos enviados ao fluxo #
Alguns adaptadores usam recursos que você envia em partes assinadas de até 64 KiB, vinculados a aparelho, fluxo, revisão e classificação; o hash faz parte da aprovação imutável.
| Recurso | Limite |
|---|---|
| Dicionário (wordlist) | 2 a 500 entradas únicas de até 128 caracteres |
| Snapshot de arquivos | 100 arquivos, 256 KiB por arquivo, 1 MiB no total |
| JWT | recurso SECRET de até 16 KiB |
Caminhos absolutos, travessia de diretório e links simbólicos são recusados.
Resultados e evidências #
Os resultados chegam em páginas assinadas de até 50 registros ou 512 KiB, com recibos verificáveis, versões e hashes do executável e dos templates. Valores de credenciais e parâmetros reconhecidos como secretos são ocultados.