Ler um relatório de auditoria de VPN: o escopo vale mais que o selo
Um selo de auditoria esconde quatro fatos que vale a pena ler: quais componentes foram testados, qual compilação, o que foi excluído e quais correções foram testadas novamente.
Selos são baratos de exibir e caros de interpretar. Um relatório de auditoria publicado é uma peça delimitada de trabalho de engenharia: um avaliador nomeado examinou componentes nomeados, em uma versão nomeada, com um método declarado e um orçamento de tempo. Esses quatro fatos determinam o que a conclusão pode sustentar, e costumam estar nas primeiras páginas e não no resumo de marketing. Lê-los leva dez minutos e evita o erro comum de estender um achado sobre um aplicativo cliente a todo um serviço.
O que a seção de escopo realmente delimita
Uma declaração de escopo é uma cerca, e tudo fora dela fica sem resposta em vez de aprovado. Os relatórios listam os componentes examinados, o intervalo de commits ou o identificador de compilação, o ambiente usado e o modelo de interação permitido. Um cliente de desktop, um aplicativo móvel, o código do servidor, o backend da conta e a infraestrutura de produção são cinco assuntos diferentes, e um trabalho pode cobrir qualquer subconjunto deles.
As exclusões importam tanto quanto as inclusões, porque são declaradas de propósito e lidas com descuido. Um sistema de contas descrito como fora de escopo não é implicitamente seguro, e um aplicativo móvel deixado fora de um trabalho simplesmente não é examinado. Marque cada componente não testado em suas notas como desconhecido e resista à tentação de preencher a lacuna com reputação.
Dois tipos de teste respondem a perguntas diferentes
A revisão do código-fonte e os testes em execução procuram falhas diferentes. Um revisor que lê código pode seguir uma derivação de chave, notar uma verificação de comprimento ausente e raciocinar sobre um analisador inteiro sem executá-lo. Um testador contra um serviço em funcionamento descobre o que a compilação implantada realmente faz: um certificado que o aplicativo recusa, um protocolo de reserva ainda habilitado, um endpoint que vaza um banner de versão por meio de uma configuração que ninguém revisou.
Nenhum substitui o outro, e o relatório costuma indicar qual foi realizado. Quando um resumo diz «auditado» sem essa distinção, a ambiguidade está no resumo, não no relatório.
Os limites de acesso fazem o mesmo trabalho. Um trabalho de caixa-preta não vê a configuração do servidor, e uma revisão de arquitetura que nunca toca um endpoint implantado não percebe que a produção difere do diagrama. Ambos são legítimos; misturar seus resultados não é.
Como um achado se torna uma versão corrigida
A metade valiosa de um relatório é a tabela de remediação: cada achado, sua gravidade segundo o método do avaliador, a resposta do operador e o resultado do reteste. Os números de gravidade vêm de uma metodologia escolhida e não da natureza, então compare gravidades dentro de um relatório e não entre dois com escalas diferentes.
Depois, ligue a correção ao software lançado. Um achado corrigido só importa ao usuário quando a versão que traz a correção é a instalada, e por isso o identificador de compilação de um relatório e o changelog de uma versão precisam ser lidos juntos. Um reteste que cobriu a correção fecha o ciclo; uma correção não testada é uma afirmação. Também é uma correção lançada apenas em um ramo que nenhuma versão estável chegou a mesclar.
O que o selo não pode lhe dizer
A ausência de achados não é prova da ausência de defeitos. Um trabalho curto com orçamento fixo deixará coisas passar, e a leitura honesta de um relatório limpo é que o avaliador não encontrou as classes de problema que procurava no tempo disponível.
O selo também não pode falar por propriedades fora de seu escopo. As afirmações sobre práticas de registro, jurisdição ou retenção vivem em um documento de política, não em uma auditoria de um aplicativo cliente, e nenhuma reputação do avaliador atravessa essa fronteira.
Registrar evidências que você possa defender
Escreva a citação em três partes: o componente, a versão e a correção verificada. Um trabalho publicado como a auditoria de VPN encomendada pela Mozilla sustenta exatamente as afirmações que seu escopo descreve e nada mais amplo, o que ainda vale bastante quando a citação é precisa. O mesmo relatório citado por algo que nunca examinou vale menos que nenhuma citação, porque convida a uma confiança que ninguém conquistou.
Quando uma propriedade alegada cai fora de todo relatório disponível, deixe-a sem resolver no documento. Uma linha sem resolver convida a uma pergunta de acompanhamento; um selo não. A única exceção é uma propriedade que outro documento, igualmente específico, resolve, e então muda a citação e não a alegação.
Mais dois hábitos tornam a leitura duradoura: anote a data do relatório em relação à versão que você realmente executa, e guarde a diferença entre o que foi testado e o que você implantou. Ambos transformam uma decisão de confiança em algo que um colega pode verificar.