1 pontos por GN⁺ 2025-02-26 | 1 comentários | Compartilhar no WhatsApp
  • O amplo princípio de transparência da FOIA de Illinois foi colocado à prova diante de um esquema de banco de dados de órgão público, e um pedido sobre o banco de dados de multas de estacionamento do Chicago CANVAS levou a uma ação judicial e a discussões legislativas
  • A FOIA garante fortemente a divulgação de informações existentes, mas não pode obrigar a criação de novos registros; por isso, quanto mais os dados ficam dentro de aplicações, mais importante se torna o esquema, que indica quais consultas solicitar
  • Chicago argumentou que o esquema do CANVAS ameaçava a segurança, e o ponto central do julgamento foi se a divulgação do esquema realmente tornaria possíveis ou facilitaria ataques de SQL Injection
  • Na primeira instância e no tribunal de apelação, o lado favorável à divulgação venceu, mas a Suprema Corte de Illinois considerou que file layout é, por si só, objeto de exceção, e que SQL schema também se enquadra nisso
  • Atualmente, órgãos públicos de Illinois podem recusar a divulgação de esquemas de banco de dados, e o SB0226 tenta obrigar o fornecimento de uma descrição da estrutura do banco de dados para que o solicitante possa pedir consultas específicas ao banco

O problema que a FOIA de Illinois encontrou diante dos bancos de dados

  • A FOIA de Illinois trata, em princípio, as informações coletadas por órgãos públicos como propriedade pública, com exceções limitadas
    • Em geral, o solicitante não é cobrado
    • Órgãos públicos não podem limitar facilmente a quantidade de pedidos
    • O prazo de resposta padrão é de 5 dias, com possibilidade de mais 5 dias mediante pedido de prorrogação por escrito
    • Em caso de ação judicial contra uma recusa indevida, é possível recuperar os honorários advocatícios
  • Uma grande limitação é que a FOIA não pode obrigar um órgão público a criar novos registros
    • Se o relatório desejado já existe, é possível solicitá-lo
    • Se não existe, é preciso solicitar os dados brutos e montá-lo por conta própria
  • À medida que as informações de órgãos públicos passam a estar mais em aplicações especializadas e bancos de dados do que em arquivos físicos, drives compartilhados ou documentos Word, o valor do esquema aumenta
  • Um esquema de banco de dados é uma estrutura que contém os nomes de várias tabelas e os nomes das colunas de cada tabela
    • O texto o compara a uma planilha Excel com várias abas
    • O nome de cada aba e a linha de cabeçalho de cada aba correspondem ao esquema

O pedido de Matt Chapman pelo esquema do CANVAS

  • Matt Chapman é apresentado como um civic hacker que faz jornalismo de dados usando pedidos FOIA em larga escala
  • Durante o trabalho com dados de multas de estacionamento de Chicago, surgiu um sistema chamado CANVAS
    • O CANVAS é o repositório central que contém todos os dados de multas de estacionamento de Chicago
    • Para entender o que havia no banco de dados do CANVAS, Matt Chapman solicitou o esquema via FOIA
  • Chicago negou o pedido com base na exceção da FOIA de Illinois relacionada ao processamento automatizado de dados
    • Essa cláusula inclui software, protocolos operacionais, visões gerais de programas, file layouts, listas de fontes, módulos, guias de usuário, documentos de projeto lógico e físico, manuais de funcionários, entre outros
    • Informações que, se divulgadas, poderiam ameaçar a segurança do sistema ou dos dados também são listadas como exceção
  • Chicago chamou Matt Chapman de “hacker” e alegou que, se o esquema do CANVAS caísse em mãos erradas, poderia representar um risco para a cidade

A questão técnica central no tribunal: SQL Injection

  • A pergunta central do julgamento era se a divulgação do esquema do CANVAS possibilitaria ataques de SQL Injection
  • SQL é a linguagem usada por muitos programas para conversar com bancos de dados, e SQL Injection é uma vulnerabilidade de segurança que pode ocorrer em programas que usam SQL
  • SQL Injection acontece quando a entrada do usuário é inserida incorretamente em um modelo de consulta SQL dentro do código da aplicação
    • Como exemplo, em uma consulta que coloca o nome entre aspas, uma entrada contendo aspas, como Bob O’Connor, pode confundir a interpretação do banco de dados
    • Um atacante pode usar esses pontos de entrada para fazer o restante da entrada ser executado como código
  • O CISO de Chicago, Bruce Coffing, argumentou que divulgar o esquema ajudaria atacantes de três formas
    • Ajudaria a encontrar vulnerabilidades
    • Tornaria a busca por vulnerabilidades mais discreta
    • Ajudaria a escolher aplicações de maior valor para atacar
  • O argumento contrário se concentrou no fato de que o esquema não é o lugar onde se encontram vulnerabilidades de SQL Injection
    • Vulnerabilidades de SQL Injection são encontradas nos modelos de consulta SQL do código-fonte da aplicação, não no esquema do banco de dados
    • O objeto do pedido não era código-fonte, mas algo mais próximo das linhas de cabeçalho das tabelas
    • Um atacante pode recuperar o esquema por meio de SQL Injection; o esquema é mais próximo de um resultado do ataque do que de um pré-requisito

As decisões da primeira instância e do tribunal de apelação

  • Na primeira instância, o lado de Matt Chapman venceu
    • Chicago recorreu imediatamente, e Matt Chapman não recebeu o esquema do CANVAS
  • O tribunal de apelação tratou das questões jurídicas partindo do pressuposto de que a primeira instância era a principal responsável pela apuração dos fatos
  • O risco decorrente da divulgação girou em torno do critério de “would jeopardize”
    • “could” significa um nível em que se pode imaginar que algo aconteça
    • O critério jurídico de “would” foi descrito como uma prova clara de dano que não deixa dúvida razoável ao juiz
    • O tribunal de apelação decidiu no sentido de que a probabilidade de dano deveria ser muito alta
  • O tribunal de apelação analisou se a frase limitadora da cláusula de exceção se aplicava apenas a “any other information” ou a toda a expressão “Administrative or technical information” da exceção
    • Se se aplicasse apenas a “any other information”, file layouts e itens semelhantes seriam isentos por si só
    • Se se aplicasse à exceção inteira, o lado de Matt Chapman poderia vencer apenas com a constatação factual de que a divulgação não ameaçava a segurança
  • O tribunal de apelação entendeu que a frase limitadora se aplicava à exceção inteira e decidiu a favor de Matt Chapman

A conclusão revertida na Suprema Corte de Illinois

  • Chicago recorreu novamente, e o caso foi para a Suprema Corte de Illinois
  • A Suprema Corte de Illinois interpretou a cláusula de exceção da FOIA de forma diferente do tribunal de apelação
    • A frase limitadora se aplica apenas a “any other information”
    • Os demais itens são, por si só, objeto de isenção
  • Com essa decisão, a questão decisiva passou a ser se SQL schema é file layout
  • Surgiu a objeção de que esquema e file layout são tecnicamente diferentes
    • O mesmo SQL schema pode ser usado por vários mecanismos de banco de dados
    • Cada mecanismo de banco de dados gerencia os dados resultantes com um underlying file layout diferente
    • O McGraw-Hill Dictionary of Scientific & Technical Terms, 6E define file layout como “descrição da disposição dos dados dentro de um arquivo”
    • SQL schema é mais próximo de uma abstração criada para evitar que se pense na disposição real dos dados
  • A Suprema Corte de Illinois também usou a definição de schema do Merriam-Webster Online Dictionary: “structured framework or plan: outline”
    • O tribunal considerou que a diferença era apenas de nome
    • Como resultado, o esquema foi tratado como file layout, e o lado de Matt Chapman perdeu

Situação atual e SB0226

  • Atualmente, órgãos públicos de Illinois podem recusar a divulgação de esquemas de banco de dados
  • À medida que os dados migram para aplicações especializadas, aumentam as situações em que, para acessar dados básicos, é preciso solicitar consultas a bancos de dados via FOIA
  • Permanece o problema de que bancos de dados não devem se tornar um refúgio seguro para que governos locais evitem a divulgação de informações públicas
  • O SB0226 tenta acrescentar à lei da FOIA uma redação que obrigue órgãos públicos a fornecer uma descrição suficiente da estrutura de todos os bancos de dados que gerenciam
    • O objetivo é permitir que o solicitante peça ao órgão público a execução de consultas específicas ao banco de dados
  • Esse projeto de lei se alinha em grande parte ao movimento pelo qual Matt Chapman vem levantando essa questão continuamente

1 comentários

 
GN⁺ 2025-02-26
Opiniões no Hacker News
  • Sou o autor desta ação. Ainda estou escrevendo um texto complementar ao post do tptacek, que deve ficar pronto em breve; enquanto isso, podem fazer perguntas aqui
    Enquanto esperam, vale também consultar meu texto antigo: https://mchap.io/that-time-the-city-of-seattle-accidentally-...

    • Matt está fazendo um trabalho realmente necessário
      Mas é preciso lembrar que, mesmo com o apoio da Loevy and Loevy, um dos melhores escritórios de advocacia de direitos civis do país, Matt tecnicamente perdeu. Isso mostra como é absurdamente difícil enfrentar a prefeitura, e pior ainda se for sem advogado
      O que joga a nosso favor é mudar a lei, como sugerido no texto. Se a Suprema Corte estadual decidir, sem uma emenda acabou, e Illinois tem um histórico de alterar a lei de FOIA com frequência. Só que algumas dessas mudanças também foram no sentido de reforçar o sigilo de informações, não de ampliar a transparência
      Outra mudança necessária é impor punições fortes aos órgãos que perdem esse tipo de disputa. Em Illinois, isso se limita mais ou menos a uma multa civil de 5.000 dólares contra o órgão. A definição do que é uma multa civil é meio vaga; antes ela era paga ao autor, mas em casos que briguei depois fizeram o dinheiro simplesmente ir para o condado. Fica como disse um promotor estadual: “não me importo se eu perder, é só eu assinar um cheque para mim mesmo”
      Por fim, cuidado com o que você pede em uma ação judicial. Uma decisão de apelação como esta pode transformar em lei exatamente aquilo contra o qual você estava lutando. Não é culpa de ninguém, mas acontece. Eu mesmo já consegui uma decisão absurda que, em vez de fortalecer os direitos de presos, acabou eliminando-os
    • É difícil entender o argumento de que saber os nomes das colunas não ajuda um invasor. Em um banco de dados que não permite curingas, não é muito mais fácil saber que é possível fazer '); SELECT col FROM logins do que ter de adivinhar o nome da coluna?
      Também não é fácil discordar da avaliação do tribunal sobre o esquema e a disposição dos arquivos. O esquema não é exatamente a disposição dos arquivos, mas é parecido: ele informa como os “arquivos” (registros) estão organizados no “sistema de arquivos” (tabelas do banco de dados). Por exemplo, a desnormalização é muito semelhante a colocar dados inline dentro de um registro de arquivo. A ideia de que um sistema de arquivos é, na prática, um banco de dados também é bem conhecida. Fico curioso para saber como alguém poderia argumentar que os dois não são semelhantes
    • Fico imaginando se seria possível fazer um pedido do tipo “uma linha de cada tabela do banco de dados CANVAS”
    • Impressionante você ter aguentado essa briga. Só se consegue transparência quando as pessoas não se acomodam
      Fico curioso sobre qual você vê como o próximo passo
    • O que será que os administradores do CANVAS estão escondendo?
  • Acho que a cidade deveria compartilhar o esquema e que, na prática, está defendendo segurança por obscuridade, mas não concordo com a premissa central do texto de que “conhecer o esquema SQL não ajuda um invasor”
    Entendi o argumento do texto assim: “invasores recuperam o esquema SQL por meio de ataques de injeção de SQL. O esquema não é uma premissa do ataque, mas um produto dele.” Isso parece significar que, se você encontrar a vulnerabilidade, de todo modo conseguirá recuperar o esquema, mas nem sempre é assim. Algumas injeções de SQL só conseguem obter parte dos dados da tabela consultada no momento, e não conseguem acessar outras tabelas como information_schema. Se o sinal obtido pela vulnerabilidade for apenas “consulta falhou” ou “consulta bem-sucedida, dados retornados”, conhecer o esquema torna a exploração muito mais fácil
    Se consultas de banco de dados que falham forem registradas separadamente, é bem provável que as injeções que um ataque rodando 24 horas por dia conseguiria encontrar já tenham sido corrigidas. Então os logs podem não ficar ruidosos até que um ponto real de injeção seja encontrado — por exemplo, uma vulnerabilidade que só exista para usuários logados e que bots não encontrem —, e nesse momento haverá tempo para perceber e corrigir antes que o invasor descubra como explorá-la de fato
    Conhecer o esquema não só acelera a exploração de uma vulnerabilidade, como também aumenta a chance de explorar uma injeção desde o início sem causar falhas nas consultas

    • Pelo critério de que “conhecer o esquema SQL não ajuda um invasor”, saber o nome do serviço também ajuda um invasor, saber o nome de funcionários da prefeitura também ajuda, e saber o que é legalmente uma multa de estacionamento também ajuda. Se alguém pretende hackear o governo depois de ser processado, conhecer os detalhes do próprio processo também ajuda no ataque
      O critério não deveria ser “censure toda informação útil”, mas sim “não divulgue código que revele senhas ou backdoors”. O esquema não pode entrar nessa categoria
    • Não sou invasor, apenas um desenvolvedor de software comum, mas, se houver injeção de SQL, considero que, no que diz respeito ao esquema, praticamente tudo já era
      Ainda assim, já trabalhei com aplicações em que conhecer o esquema ajudava no vazamento de dados mesmo sem uma injeção completa. O exemplo mais óbvio é quando a consulta é construída com base em parâmetros de URL, mas esses parâmetros não são restringidos a uma lista de permissões
      Então concordo que o esquema pode dar uma pequena vantagem a um invasor
    • Isso me lembra que a vulnerabilidade recém-descoberta de “vazamento de e-mails pelo YouTube” também começou com a leitura de algo que, essencialmente, pode ser visto como esquema
      https://brutecat.com/articles/leaking-youtube-emails
    • Se consultas de banco de dados com falha são registradas separadamente e essa “falha” significa “sinal de injeção de SQL”, então nada que se faça com o esquema reduzirá esse sinal. Um único erro de sintaxe SQL já merece ser investigado
      Portanto, não acho que esse argumento se sustente
    • Injeção de SQL cega é o tipo que não gera erro, mas distingue sucesso e falha por sinais sutis. O caso mais interessante que conheço foi um em que a resposta aparentemente normal de uma injeção bem-sucedida tinha 1 byte a mais que a de uma injeção malsucedida; com isso, não só descobriram o esquema como também extraíram completamente o banco de dados inteiro
      Nos logs do servidor, não havia nada indicando erro
      A maioria dos exercícios relativamente introdutórios de injeção de SQL que ensinei também era feita sem conhecer o esquema. É por isso que injeção de SQL é tão sorrateira e perigosa
  • Kurt postou isso para me fisgar. Vale saber que o público-alvo original era composto, em sua maioria, por não técnicos envolvidos na política municipal da minha região de Chicagoland
    Fazendo um anúncio de utilidade pública sobre política local: envolver-se na política nacional é desolador e desanimador, como um inseto voando contra a janela de vidro de um arranha-céu. Já a política local é extremamente responsiva. Com meu tempo livre e quase nenhum custo, consegui resultados reais e até ajudei a aprovar uma lei. É dramaticamente diferente da política nacional
    O que surpreende em muitos lugares é que a política local gira em torno de fóruns. Esse fórum pode não ser o lugar onde você gostaria de estar, e em especial há muitos Facebook Groups, mas é preciso engolir isso. Se você gosta de participar de comunidades como o HN, também pode participar da política, e só atuando em fóruns já dá para fazer as coisas acontecerem

    • Também pesa o fato de você morar em um país onde governos locais têm autoridade para criar leis. Em muitos outros países isso não acontece ou, mais precisamente, o poder legislativo é extremamente limitado
      Na verdade, isso também ocorre com frequência dentro dos EUA. Apenas governos locais com poderes de home rule podem promulgar ordenanças sobre qualquer tema, desde que não conflitem com leis estaduais ou federais; governos locais sem isso só podem legislar sobre temas específicos autorizados pela assembleia estadual. Alguns estados concedem home rule a todos os condados e municípios, alguns não concedem a nenhum, e outros concedem apenas a alguns. No Texas, por exemplo, um município pode obter poderes de home rule depois de atingir 5.000 habitantes e receber aprovação dos eleitores
    • Fico curioso se você pode explicar melhor qual foi a lei que ajudou a aprovar
      Também gostaria de saber se consegue indicar bons recursos, no Facebook ou em outro lugar, para quem quer se envolver mais na política de Chicago. Já procurei antes, mas os resultados foram muito limitados
    • “Nunca duvide que um pequeno grupo de cidadãos atenciosos e comprometidos possa mudar o mundo. Na verdade, foi sempre isso que mudou o mundo.” - Margaret Mead
    • Fico curioso sobre como encontrar esses fóruns
    • Lembro do esforço que você e Maciej fizeram para distribuir chaves FIDO a funcionários de campanhas eleitorais, e foi realmente deprimente
  • Não é absurdo que a Suprema Corte e a corte de apelações tenham divergido por uma questão de estrutura da frase? Deixando de lado o fato de que isso é comum, pessoalmente acho sem sentido interpretar como “todas as disposições de arquivos e outros itens também se aplicam, mas esses outros itens só se forem ruins”. É estranho que aceitemos que o texto da lei permaneça completamente ambíguo
    Sei que esse tipo de ambiguidade favorece tribunais que ganham discricionariedade, e também sei que, apesar de tentativas corajosas, não dá para transformar a redação jurídica em uma linguagem “formalmente completa”. Sei que a lei é uma bagunça e que leis são escritas por humanos ingênuos e cheios de erros
    Ainda assim, se a estrutura básica das frases escritas na lei não é clara nem para os tribunais, o sistema inteiro não falhou logo na primeira etapa?

    • Não sou advogado, mas entendo que é assim mesmo que o Judiciário funciona. A linguagem é cheia de ambiguidades, então pessoas razoáveis podem divergir sobre o que exatamente uma frase complexa significa. Há debate desde o dia em que a Constituição dos EUA foi escrita sobre o que exatamente ela diz, e ainda há muitas discordâncias
      A resposta usual é que as leis deveriam ser escritas sem ambiguidade, mas é mais fácil falar do que fazer. Além disso, às vezes os próprios legisladores não conseguem chegar a um acordo completo, então deixam deliberadamente alguns trechos ambíguos para que os tribunais interpretem
    • Esse tipo de disputa parece justamente o motivo de existirem vários níveis de cortes de apelação. A parte de “formato de arquivo” foi realmente idiota e mal decidida, mas a interpretação jurídica de “caso seja divulgado” parece precisar de uma decisão final e consistente
  • Sou só eu que acho um pouco desconcertante e preocupante que a exceção para código-fonte tenha entrado de forma tão direta?
    É fácil imaginar um cenário em que a prefeitura desenvolva internamente um software específico e esconda no código-fonte algum “viés” ou outros elementos que ela talvez não queira expor
    Nem seria preciso criar tudo do zero. Bastaria aplicar patches a um componente de terceiros com licença permissiva e usá-lo
    Na minha opinião, a emenda proposta não vai longe o suficiente

    • Não acho surpreendente
      É o mesmo problema enfrentado por quem tenta transformar um projeto fechado em open source. Há código proprietário preso por todos os lados, em que desenvolvedores e clientes só têm o direito de usar, não de compartilhar o código-fonte
      Mesmo projetos criados desde o início com uma forte orientação aberta, sem interesses comerciais diretos como os de uma contratada do governo, podem sofrer com isso. Os problemas que o kernel Linux enfrenta ao dar suporte ao ZFS ou a drivers binários em blob no espaço de kernel/usuário são bem conhecidos[1]
      Paradoxalmente, por um lado a informação quer ser livre e, economicamente, o software open source tenderá a expulsar concorrentes fechados ao longo do tempo. Mas o próprio trabalho de transformar um projeto em open source é caro e às vezes quase inviável, impedindo gestores e empresas de liberar ferramentas antigas mesmo quando querem. Só envolver o jurídico e encontrar os detentores de direitos de cada componente já faz a maioria dos gestores desistir
      Se o governo exigisse em contrato que fornecedores usassem apenas componentes open source em toda a árvore de dependências, o custo poderia ser muito alto. Muitas dependências não têm substitutos open source equivalentes, ou os substitutos fechados têm funcionalidades ausentes que exigiriam orçamento para serem implementadas. No curto prazo, nenhum legislativo aceitaria esse custo adicional, mas, no longo prazo, o público sairia ganhando
      [1] É verdade que o problema do kernel é em grande parte função da GPL. Com licenças mais permissivas como Apache 2 ou MIT, esses problemas não existiriam, e os derivados de BSD também não tiveram dificuldade com suporte a ZFS. Dito isso, a posição de que aplicações públicas deveriam, por princípio, ser open source aproxima-se mais da GPL do que da MIT em termos de licenciamento. Caso contrário, fornecedores poderiam trazer as partes realmente importantes como código em blobs binários “vendorizados” e deixar apenas um esqueleto sem significado nos componentes públicos para cumprir os requisitos
    • Em tese, a própria decisão de colocar esse tipo de viés no código deveria ser informação pública. É possível solicitar quais critérios nortearam a criação do software; apenas o software em si não poderia ser solicitado
      Ainda assim, esse tipo de decisão pode gerar um efeito inibidor
    • Por isso é importante impulsionar iniciativas como dinheiro público - código aberto, que alguns países da UE tentam promover
      Pelo que me lembro, a coalizão anterior da Alemanha, agora fracassada, incluiu isso em suas promessas, mas não conseguiu implementá-lo. Talvez o novo governo o faça
  • Um texto muito interessante.
    Parece absurdo tratar a divulgação do esquema como algo a ser protegido. Pelo que foi descrito, isso permitiria um resultado quase mágico do tipo “como está dentro do banco de dados, não dá para saber nada; se você não puder dizer como encontrar, está perdido”.
    Do ponto de vista de quem trabalha em uma empresa pequena com muitos clientes, eu não gostaria de entregar o esquema do banco de dados tal como ele é, mas ainda assim me esforçaria para encontrar e fornecer os dados que o cliente quer, não recusaria.

    • Uma empresa privada não querer divulgar seu esquema de banco de dados faz sentido porque concorrentes podem se beneficiar ao ver como a empresa trabalha. Essa lógica não se aplica a bancos de dados governamentais.
  • Para o projeto cleartap.com, solicitei via FOIA mais de 1 milhão de páginas de documentação de bancos de dados de qualidade da água dos EUA.
    A maioria dos estados cobrou apenas uma pequena quantia para reunir os documentos.
    Michigan pediu US$ 50 mil pelo pedido de FOIA. Acho que foi por causa da crise de contaminação por chumbo em Flint. Parecia que queriam me fazer desistir.

    • Vi que havia dados de Flint, então fiquei curioso se você realmente pagou esse valor. Ou se existe algum tipo de processo de recurso quando se recebe uma estimativa injustificadamente alta.
      O projeto é excelente.
  • “Busque todos os dados de multas de estacionamento emitidas para Bob O e também busque todo o restante das informações do banco de dados e as senhas de todo mundo.”
    Esse é um exemplo de injeção de SQL escrito em inglês simples, mas aqui “everyone's” também é problemático por criar uma aspa simples órfã. Se “Bob O'Conner” é ruim, “everyone's” também é.

  • “O código-fonte dos programas que eles executam geralmente também não pode ser solicitado via FOIA.”
    Infelizmente, acho que essa parte deveria ser ilegal sob a FOIA.
    O código-fonte deveria ser open source e verificável. Torná-lo uma exceção à FOIA contorna a confiança pública no uso de software pelo governo.
    Fico curioso para saber onde e como os tribunais já decidiram sobre questões assim.

    • Mesmo havendo um forte argumento de interesse público, acho que a tendência de órgãos governamentais proibirem em bloco a divulgação de código-fonte vem, em grande parte, do mesmo motivo das empresas: é muito provável que informações sensíveis como senhas, tokens e endereços IP estejam hardcoded em código que passa longe do ideal de app de 12 fatores, e, se esse tipo de informação vazar, os problemas de segurança e responsabilidade ficam enormes.
      Também pode haver lógica de negócio que um órgão governamental realmente queira manter em segredo e que seja legalmente permitido manter assim. No caso do banco de dados de multas de estacionamento do texto original, o código-fonte do software que se comunica com esse banco talvez contenha a lógica que escolhe quando e onde os agentes de trânsito farão operações “aleatórias” de fiscalização concentrada.
  • Esse tipo de coisa me fez desistir da ideia de ir para a faculdade de Direito. Uma parte considerável do litígio parece teatro kabuki: não uma retórica para chegar a um resultado justo ou lógico, mas uma retórica para dar a alguém com autoridade uma desculpa para tomar a decisão que essa pessoa já queria tomar antes do julgamento.

    • Este caso também soa assim. O que me chamou especialmente a atenção foi o trecho que chamou a expressão “tem apenas um pouco de valor” de “hedge egocêntrico de fórum”. Na verdade, essa expressão também é simplesmente precisa, mas o autor parece ter concluído que não deveria tê-la dito porque a palavra “pouco” e a explicação longa não eram tão úteis retoricamente quanto dizer apenas “nenhum”.
      Alguém poderia montar legitimamente algo parecido com um firewall web que vasculha palavras-chave como information_schema em requisições HTTP e suas variações codificadas. Isso é sempre uma tentativa de invasão e pode ser bloqueado. Se você já conhece o esquema, pode montar consultas sem precisar primeiro contornar essa restrição. Isso provavelmente é uma barreira séria? Não. Isso tem a ver com egocentrismo? Não me parece.
      Dizer que há valor ínfimo apenas no sentido de “periférico”, isto é, não central e não importante o bastante para ser discutido, parece correto. Mas, ao dizer apenas a verdade, o outro lado amplia isso para tentar convencer o tribunal: “vejam, até o especialista deles diz que tem valor”. Daí a conclusão de que o especialista deveria simplesmente ter dito “não tem valor”. Eu acho essa afirmação falsa, mas falsa de um modo tão ínfimo que fica difícil provar que o outro lado não está totalmente certo. No fim, a formulação menos precisa acaba sendo mais vantajosa nesse tribunal, e a retórica passa a ser tão importante quanto o papel de especialista.