Especificação · documento canónico

A Escala Intruso

Uma medida económica da robustez anti-automação.

Versão 1.0 · 21 de Setembro de 2026 · Manuel Quintas
Repositório canónico: github.com/Quintas701/escala-intruso
Endereço permanente: intruso.org/escala
Licença: CC BY 4.0 Palavras-chave RFC 2119 Versionamento semântico

0Âmbito

Este documento define como medir, em dólares, o custo de atacar automaticamente um mecanismo anti-bot, e como exprimir esse custo numa escala comparável entre mecanismos, entre organizações e ao longo do tempo.

Define três coisas e não define mais nenhuma:

V* — o custo da via de ataque mais barata, em dólares por resolução.
M = log₁₀(V*/A) — a margem, em ordens de grandeza.
1 intruso = $0,001 por resolução — a unidade.

O que este documento não é. Não é um produto, não é código, e não descreve nenhuma implementação em particular. É a especificação da medida. Qualquer pessoa a pode implementar, e o § 6 diz o que uma implementação tem de fazer para poder dizer que reporta intrusos.

Palavras-chave normativas. DEVE, NÃO DEVE e PODE são usadas no sentido do RFC 2119: DEVE marca um requisito de conformidade, PODE marca uma opção legítima.

1A tese

A segurança de um mecanismo anti-bot não é uma propriedade dele. É uma relação entre o custo de o atacar e o valor de o atravessar.

Daqui decorre tudo o resto. Se a segurança é uma relação entre dois preços, então: mede-se em dinheiro, não em percentagens; é comparável entre mecanismos que não se parecem em nada; muda quando o preço do compute muda, mesmo que ninguém toque no código; e pode ser calculada antes de o ataque acontecer.

A tese não é nova em economia da segurança — Anderson (2001) e Gordon & Loeb (2002) defendem-na há vinte e cinco anos. O que não existe é a instrumentação: um procedimento que pegue num mecanismo concreto e devolva o preço. É isso que esta escala especifica.

2O erro que se repete

Um fornecedor de CAPTCHA diz «bloqueamos 99,4% dos bots».

A frase é verdadeira e não significa nada, por três razões independentes.

2.1  É uma medida do denominador errado

99,4% de quê? Dos bots que tentaram — ou seja, da população de atacantes que o mecanismo já dissuadiu. Um mecanismo que bloqueia 99,4% de dez mil tentativas triviais e 0% das seis tentativas competentes reporta 99,4%.

2.2  Não tem unidade económica

Tome-se um atacante com receita de $0,02 por conta criada e custo de $0,000026 por resolução (números da medição de referência do § 7). Bloquear 99,4% entra na conta dele como um multiplicador de custo: só 1 em 167 tentativas passa, logo cada conta que consegue sai-lhe a $0,0043. Contra $0,02 de receita, continua a ganhar $0,0157 por conta.

A taxa de bloqueio de 99,4% é real e o negócio do atacante também. Uma métrica que pode estar em 99,4% enquanto o atacante lucra quase quatro vezes o que gasta não está a medir segurança — está a medir esforço.

2.3  Degrada-se sem aviso

A taxa de bloqueio de hoje é uma função do estado da arte em visão computacional de hoje. Bursztein et al. (WOOT 2014) resolveram genericamente famílias inteiras de CAPTCHAs de texto que, na véspera, tinham taxas de bloqueio publicadas na casa dos 90%. Nada no mecanismo mudou. Mudou o preço de o atacar.

Uma medida útil tem de ser uma medida de preço.

3Definições normativas

3.1  V* — o custo de ataque

Seja W o conjunto das vias de ataque disponíveis. Para cada via w ∈ W, seja c(w) o custo total em dólares incorrido, e s(w) o número de resoluções bem-sucedidas que produz. Então:

V* = min   c(w) / s(w)
    w ∈ W

V* é um mínimo, não uma média. Esta é a decisão de desenho central da escala. A segurança de uma corrente é a do elo mais fraco, e um atacante racional não faz a média das opções disponíveis: escolhe a mais barata. Uma implementação NÃO DEVE reportar como V* a média, a mediana ou qualquer outra estatística central do conjunto das vias.

Na medição de referência do § 7, a média das três vias daria $0,0004 em vez de $0,000026 — uma margem 1,2 ordens de grandeza melhor do que a realidade, que descreveria apenas um atacante que escolhe a sua estratégia ao acaso.

As vias a considerar dependem do mecanismo. Para mecanismos de desafio visual, o conjunto mínimo é:

ViaO que custa
Bot própriotreino + inferência, amortizados pelas resoluções produzidas
Trabalho humanocusto por resolução, ancorado a preços publicados
API de visãopreço por chamada × chamadas por resolução bem-sucedida
Mimetismo comportamentalcusto de simular um humano, tipicamente base/(1−m)^k

Uma implementação PODE acrescentar vias. DEVE documentar quais considerou, porque uma via omitida só pode subir V* — e subir V* é o erro que faz um cliente sentir-se seguro sem o estar.

3.2  M — a margem de Intruso

M = log₁₀( V* / A )

onde A é o valor de uma resolução bem-sucedida para o atacante.

Nota de notação. V* é um custo, apesar da letra; a estrela marca o mínimo definido em 3.1. O valor chama-se A (de Atacante) precisamente para não colidir com ele. Uma versão anterior deste trabalho usava V para o valor e colidia.

MLeitura
M > 1sobra margem; endurecer mais só afasta clientes
0 < M < 1defende-se, mas sem folga para o próximo salto de compute
M ≈ 0fronteira; é aqui que o ataque começa a compensar
M < 0atacar compensa — provavelmente já está a acontecer

A é do cliente, não do auditor. Quem mede não sabe quanto vale uma conta fraudulenta no negócio de quem é medido. Uma implementação DEVE aceitar A como entrada declarada e DEVE reportá-lo junto de M, porque um M sem o A que o gerou não é interpretável.

Porquê logaritmo. Porque a quantidade que interessa é quantas ordens de grandeza faltam, não a razão bruta. Um rácio de 1000 e um rácio de 3 são a mesma categoria de «seguro» numa escala linear e categorias completamente diferentes numa decisão de investimento. E porque o compute baratece exponencialmente: uma escala logarítmica em dólares é aproximadamente linear no tempo. M = 2 não é «duas vezes melhor» do que M = 1 — é mais uns anos.

3.3  O intruso — a unidade

1 intruso = $0,001 por resolução

Ancorada ao preço de mercado de uma resolução humana documentado por Motoyama et al. (USENIX Security 2010): $0,50 a $1,00 por mil resoluções.

A âncora é fixa e pública, como o dBm ou a escala de Richter. NÃO DEVE ser actualizada com a inflação, com o câmbio ou com os preços de mercado correntes, e não pretende prever a factura de ninguém. Existe para que «0,03 intrusos» signifique exactamente a mesma coisa em 2026 e em 2036, e para que dois mecanismos medidos com dez anos de intervalo continuem comparáveis.

Uma unidade que se move deixa de ser uma unidade. O barateamento do compute tem de aparecer no número medido, que é onde ele é informação; se aparecesse também na unidade, cancelar-se-ia e a escala deixaria de detectar a única coisa que a Previsão 3 (§ 8) diz que ela detecta.

4Procedimento de medição

O custo de um bot próprio não é directamente observável: depende de quantos dados o atacante consegue reunir, e um atacante determinado reúne mais do que qualquer bancada de ensaio produz. A escala contorna-o medindo a derivada em vez do valor.

4.1  A curva de aprendizagem

Treina-se a bateria de adversários com n exemplos, para uma sucessão crescente de n, e mede-se a taxa de resolução s(n) num conjunto reservado. Ajusta-se:

s(n) = s∞ − a · n^(−b)

Uma lei de potência. A escolha não é arbitrária: é a forma empiricamente observada das curvas de escala em aprendizagem automática (Hestness et al., 2017; Kaplan et al., 2020). s∞ é a assímptota — a taxa de resolução de um atacante com dados ilimitados.

É s∞, e não s(n_max), que entra em V*. Uma implementação DEVE usar a assímptota. Medir a taxa no maior n ensaiado e reportar isso como o custo de ataque seria auditar o adversário que o auditor construiu, e não o que o cliente vai enfrentar.

4.2  A armadilha dos graus de liberdade

O ajuste tem três parâmetros livres (s∞, a, b). Com três pontos ou menos, o sistema tem zero graus de liberdade: o ajuste não está a ajustar, está a interpolar. A curva passa exactamente por todos os pontos e o r² sai 1.000 — por identidade algébrica, não por qualidade do modelo. Sai igual se os pontos forem [0,50, 0,10, 0,90], que não seguem lei de potência nenhuma.

Um R² = 1.000 numa auditoria é o número que faz uma sala de reunião parar de fazer perguntas.

Portanto: quando os graus de liberdade forem ≤ 0, uma implementação DEVE omitir o r² e DEVE assinalar que o ajuste é interpolado.

O que NÃO DEVE fazer é cancelar a extrapolação. Cair para «s∞ = última taxa medida» subestima o atacante, o que inflaciona V* e diz ao cliente que está mais seguro do que está — o erro que toda esta escala existe para não cometer. A extrapolação mantém-se e perde a credencial: o intervalo por bootstrap passa a ser a única declaração de incerteza, que é o que sempre deveria ter sido.

Este requisito não é teórico. Foi escrito depois de a primeira medição de referência ter sido publicada com r² = 1,000 sobre três pontos, e de ninguém ter reparado durante vários dias.

4.3  A bateria e a fronteira

Recomenda-se uma bateria de famílias de adversário em vez de um único modelo — por exemplo, para desafios de texto: floresta aleatória sobre píxeis, modelo linear sobre HOG, e rede neuronal sobre HOG. Quando o desafio é decomponível (por exemplo, em posições de carácter), escolhe-se o melhor especialista por posição e a taxa da fronteira é o produto das taxas por posição.

Isto sobrestima deliberadamente o atacante. É o desenho correcto: V* é um limite superior da segurança, logo tem de ser construído a partir de um limite inferior do custo de ataque. Errar por excesso de paranóia custa ao cliente dinheiro em contramedidas; errar por optimismo custa-lhe o negócio.

4.4  Três conjuntos disjuntos

Um corpus treina. Outro selecciona o melhor adversário. Um terceiro mede. Uma implementação DEVE mantê-los disjuntos e DEVE falhar com erro — não com aviso — se forem reutilizados.

Seleccionar o vencedor e medi-lo nos mesmos dados enviesa a taxa de resolução para cima, o que faz o mecanismo parecer mais fraco do que é, o que leva o cliente a comprar contramedidas contra uma ameaça sobredimensionada. Numa medição que é vendida a quem depois gasta dinheiro com base nela, isto não é um deslize metodológico: é vender um problema inventado.

4.5  Contramedidas

Uma implementação que reporte o efeito de uma contramedida DEVE regenerar o mecanismo com a alteração aplicada e reatacá-lo de raiz. NÃO DEVE estimar o efeito por extrapolação, por tabela ou por julgamento.

A razão é que a contramedida muda a distribuição sobre a qual o adversário treina, e um adversário treinado do zero sobre a versão endurecida é precisamente o que o mundo real produz ao fim de uma semana.

5Honestidade estatística

Três regras. Uma implementação conforme aplica-as sem excepção.

Um «≥ $0,40» honesto vale mais do que um «$5,00» fabricado — e vale mais precisamente porque é pior.

6Conformidade

Uma medição PODE ser descrita como «em intrusos» ou «conforme à Escala Intruso v1.0» se, e só se, satisfizer tudo o seguinte:

  1. V* é o mínimo sobre as vias consideradas (§ 3.1), e as vias consideradas estão enumeradas no resultado.
  2. A é declarado junto de qualquer M reportado (§ 3.2).
  3. A unidade não foi reancorada: 1 intruso = $0,001/resolução (§ 3.3).
  4. V* usa a assímptota s∞, não a taxa no maior n ensaiado (§ 4.1).
  5. O r² é omitido quando os graus de liberdade são ≤ 0 (§ 4.2).
  6. Os conjuntos de treino, selecção e avaliação são disjuntos (§ 4.4).
  7. Todas as proporções trazem intervalo de Wilson a 95% (§ 5).
  8. Tudo o que não foi medido está marcado como assumido e traz banda (§ 5).
  9. Os pressupostos de preço são publicados com o resultado — preço de compute, de dados, de trabalho humano, de chamadas a APIs. Sem eles, V* não é verificável nem reproduzível.
  10. O resultado tem data. Uma medição sem data não é interpretável, porque a Previsão 3 (§ 8) diz que ela decai.
  11. A medição incide sobre um mecanismo que o medidor possui, opera, ou tem autorização escrita para testar. Esta escala existe para atribuir preço à defesa de quem a implementa. NÃO DEVE ser usada como pretexto para atacar sistemas de terceiros, e uma medição obtida assim não é conforme.

7Medição de referência

Um CAPTCHA de texto com distorção ligeira — do tipo que ainda hoje se encontra em formulários de registo. Medido em 21 de Setembro de 2026, corpus sintético, semente 20260918, cinco pontos de curva.

M  = −2,89                        já deve estar a ser atacado
V* = $0,000026 / resolução        0,026 intrusos
A  = $0,02 / resolução            (declarado)

A curva de aprendizagem

(300 amostras de avaliação em cada ponto)

n (treino)resolveIC 95% de Wilson
12026,3%21,7 – 31,6
30080,0%75,1 – 84,1
60096,0%93,1 – 97,7
100096,0%93,1 – 97,7
150099,3%97,6 – 99,8

Extrapolando: s∞ = 100% [99,5 – 100,0], r² = 0,997 com 2 graus de liberdade. O ajuste encosta ao tecto, pelo que o resultado é reportado como o piso do intervalo e não como valor exacto.

As três vias, e porque V* é o mínimo

Via$/resolução
bot próprio0,000026medido
modelo de visão0,000101assumido
trabalho humano0,001053assumido

A via mais barata é 40× mais barata do que o trabalho humano.

As contramedidas, medidas e não estimadas

Cada uma regenerou o mecanismo e foi reatacada de raiz (§ 4.5):

ContramedidaQueda na taxaEfeito em M
ondulação73,3 pp+0,48
multi-fonte35,3 pp+0,09
rotação26,6 pp+0,03
sobreposição4,0 pp−0,08

A melhor move a margem em +0,48 e M continua negativo. A leitura correcta não é «instalem-se as quatro»: é que este mecanismo não serve como barreira única, qualquer que seja o número de contramedidas cosméticas que se lhe apliquem.

Sobreposição piora M porque aumenta o custo de servir sem reduzir proporcionalmente a taxa de resolução — um resultado que só é visível numa escala que mede preço, e que uma métrica de taxa de bloqueio reportaria como melhoria.

Pressupostos de preço usados (requisito 9 do § 6): compute a preço de instância CPU de mercado em 2026, dados de treino a custo de geração, trabalho humano ancorado a Motoyama et al. (2010) ajustado por 2% de atrito e 95% de acerto, API de visão a $0,0001 por chamada.

8Como isto pode estar errado

Uma tese que não pode falhar não é uma tese. Estas são as previsões da escala e o que as falsificaria.

Onde a extrapolação quebra. A lei de potência do § 4.1 assume que a única coisa que falta ao atacante são dados. Não captura mudanças de paradigma: um modelo de visão pré-treinado que chegue e resolva de imediato aquilo que a curva dizia precisar de 10⁶ exemplos não viola o ajuste — viola o pressuposto de que a família de adversários considerada era a certa. Ye et al. (CCS 2018) demonstraram exactamente esse salto, com GANs a reduzirem em duas ordens de grandeza os dados necessários.

A mitigação honesta não é matemática: é re-medir. É por isso que o requisito 10 do § 6 exige data.

9Limitações

Por ordem decrescente de gravidade:

  1. Corpora sintéticos medem o mecanismo, não o tráfego. O tráfego real tem distribuições que nenhum gerador reproduz.
  2. Os preços são pressupostos. Publicados e discutíveis (requisito 9), mas pressupostos. V* é tão bom quanto eles.
  3. As previsões do § 8 não foram validadas contra dados de incidentes reais. Este é o maior buraco, e está escrito aqui porque é.
  4. A bateria de adversários tem data. Um atacante com um modelo melhor do que o ensaiado tem custos menores do que os medidos — o que significa que V* é um limite superior do custo de ataque, e portanto M é optimista. A escala erra para o lado de dizer que se está mais seguro do que se está, e quem a usa tem de saber disso.

10A inversão: do teste à tarifa

O CAPTCHA original (von Ahn et al., EUROCRYPT 2003) assentava numa aposta explícita e elegante: que existem tarefas fáceis para humanos e difíceis para máquinas, e que essa diferença dura. Se a máquina resolver, dizia a aposta, a inteligência artificial avançou — e isso também é bom.

A aposta perdeu-se. E não gradualmente: Bursztein et al. (IEEE S&P 2010) já mediam humanos a falhar CAPTCHAs difíceis com frequência incómoda, e hoje um modelo de visão de prateleira é melhor do que o utilizador médio em várias famílias de desafio. A diferença que sustentava a construção inverteu-se de sinal.

Logo, a pergunta «isto é um humano?» deixou de ter resposta fiável. E, o que é mais importante, deixou de ser a pergunta certa — porque uma fracção crescente do tráfego legítimo é composta por agentes a agir por mandato de um humano. Bloqueá-los é bloquear clientes.

A pergunta com resposta é outra:

Quem responde por esta acção, e quanto paga por ela?

Um mandato assinado — por exemplo em Ed25519 (RFC 8032) — declarando emissor, agente, âmbito de acções permitidas, ritmo máximo, validade e tarifa. O sítio verifica a assinatura, o âmbito e o ritmo, e cobra.

A economia inverte-se de forma limpa:

V*_mandato = custo_de_identidade / acções_até_revogação

Um atacante que queira agir em escala tem de obter identidades verificadas, e cada identidade revogada leva consigo todo o investimento nela. O mecanismo deixa de depender de uma diferença de capacidade cognitiva — que se está a fechar — e passa a depender de um custo de identidade, que é uma variável de política, ajustável, e que não se degrada quando o modelo seguinte sai.

A direcção não é original: a assinatura criptográfica de pedidos HTTP está normalizada (RFC 9421) e há trabalho em curso na IETF sobre autenticação de agentes. O contributo específico desta escala é acoplar-lhe a tarifa e medir a margem resultante — tratar o agente como um cliente com preço, e não como uma ameaça com um portão.

11Trabalho relacionado

A economia da segurança. Anderson, Why Information Security is Hard (ACSAC 2001); Gordon & Loeb, The Economics of Information Security Investment (ACM TISSEC 2002); Herley, The Plight of the Targeted Attacker in a World of Scale (WEIS 2010). Estabelecem o enquadramento. Não instrumentam mecanismos concretos.

A economia dos CAPTCHAs. Motoyama et al., Re: CAPTCHAs — Understanding CAPTCHA-Solving Services in an Economic Context (USENIX Security 2010): a medição empírica do mercado de resolução, e a origem da âncora do § 3.3. Mede o mercado; não mede um mecanismo específico.

A quebra dos CAPTCHAs. von Ahn et al. (EUROCRYPT 2003); Bursztein et al. (IEEE S&P 2010; WOOT 2014); Ye et al. (CCS 2018). Demonstram quebras sucessivas. Reportam taxas de resolução, não preços por resolução.

Curvas de escala. Hestness et al. (2017); Kaplan et al. (2020). Dão a forma funcional do § 4.1, embora noutro domínio.

Intervalos de confiança para proporções. Wilson (1927).

Autenticação de agentes. RFC 9421 (HTTP Message Signatures); RFC 8032 (EdDSA). Dão o mecanismo criptográfico; não lhe atribuem preço.

O que não encontrámos. Trabalho que pegue num mecanismo anti-bot concreto, meça a curva de aprendizagem do adversário, extrapole a assímptota, converta em dólares por resolução e devolva uma margem accionável. É este o espaço que a escala ocupa. Se este trabalho existir e nos tiver escapado, queremos saber — ver § 13.

12O que falta para isto ser ciência

Honestamente: ainda não é. É um método, com previsões falsificáveis e uma implementação de referência — o que é o requisito de entrada, não o de chegada.

Falta:

Se estas três coisas acontecerem, passa a haver uma ciência da robustez económica. Se a primeira falhar, o método é um instrumento útil com uma teoria errada por trás — e continua a ser útil, porque os preços que mede são medidos na mesma.

Este documento é público para que a segunda e a terceira sejam possíveis. Uma unidade que só uma pessoa pode usar não é uma unidade; é jargão interno. O decibel funciona porque qualquer pessoa o pode aplicar sem pedir licença a ninguém.

13Participar

Contacto directo: quintas@intruso.org.

14Como citar

@misc{quintas2026escala,
  author       = {Quintas, Manuel},
  title        = {A Escala Intruso: uma medida económica da robustez
                  anti-automação},
  year         = {2026},
  version      = {1.0},
  howpublished = {\url{https://github.com/Quintas701/escala-intruso}},
  note         = {Especificação, versão 1.0, 21 de Setembro de 2026}
}

Ver também CITATION.cff.

15Histórico de versões

VersãoDataAlterações
1.02026-09-21Primeira publicação.

Esta escala segue versionamento semântico na sua definição normativa: uma alteração que mude um valor de V* ou de M calculado a partir dos mesmos dados incrementa a versão maior. Correcções de texto que não alterem nenhum número incrementam a versão menor. A âncora do § 3.3 não muda em nenhuma versão — se alguma vez precisar de mudar, o resultado será uma escala diferente, com outro nome.

↑ voltar ao início · Intruso