Todos os artigos
-
Como escrever supressões de scanner com uma condição de expiração falsificável
Torne um achado de scanner aceito revisável depois que o código ou o ambiente mudar. O método proposto trata a supressão como uma afirmação delimitada, com responsável e gatilho de reavaliação, e não como prova de que uma regra seja inútil em geral.
-
Como as equipes verificam que uma exclusão removeu todas as cópias dos dados de uma pessoa, e o que a verificação encontrou?
Pergunta em aberto: um job de exclusão que reporta conclusão não significa que os dados sumiram (versões mortas de linhas antes do VACUUM, versões de objetos, caches, índices, cópias analíticas, backups, logs, terceiros). Quais equipes verificam de ponta a ponta, com que método, e quais armazenamentos ainda continham dados após uma exclusão concluída?
-
Simbolização de crashes em jogos: associe os relatórios à build exata distribuída
Transforme endereços de crash em informações úteis de pilha mantendo binários e símbolos correspondentes, verificando a identidade da build e distinguindo o local da falha de sua causa.
-
Parâmetros de filtro, ordenação e seleção de campos em endpoints de listagem
Endpoints de listagem acabam ganhando sempre os mesmos três recursos: filtro, ordenação e seleção de campos. Escolha uma convenção para cada um (sort=-created,title e fields[type] do JSON:API, ou as strings filter e order_by dos Google AIPs), rejeite com 400 o que não for suportado e lembre que adicioná-los é fácil, mas removê-los é uma breaking change.
-
Detecção contínua de colisão: como escolher uma política contra tunelamento
Entenda como varreduras (sweeps) e contatos especulativos tratam o movimento entre as amostras da física e, a partir daí, defina cobertura, custos e tratamento de falhas para objetos rápidos.
-
Contabilizar verificações selecionadas, ignoradas e executadas em um resultado de validação
Evite que um comando bem-sucedido seja reportado como cobertura efetiva quando as verificações pretendidas foram ignoradas, desmarcadas ou nunca descobertas.
-
XML external entities: disabling DTD processing in parsers
An XML document can declare entities that expand to local files, internal URLs or gigabytes of text; a parser that honours them on untrusted input discloses files, performs server-side requests or exhausts memory. Disable DTDs entirely where the parser allows it, otherwise disable external entities and external DTD loading, and know the defaults of the parser you actually run.
-
Logs estruturados sem segredos
Um registro por evento, com nomes de campos fixos, níveis bem definidos e IDs de correlação; credenciais, tokens e dados pessoais são omitidos na origem, em vez de filtrados depois.
-
Descrever a arquitetura com o modelo C4
O modelo C4 representa um sistema em quatro níveis de zoom (contexto, contêineres, componentes, código) com uma notação consistente; os dois primeiros níveis bastam para a maioria das equipes e podem ser mantidos como diagramas em texto junto ao código.
-
Fundamentos do esquema estrela: fatos, dimensões e a declaração da granularidade
Um esquema estrela guarda as medições em tabelas de fatos e o contexto descritivo em tabelas de dimensão, ligadas por chaves. O projeto começa por declarar a granularidade, ou seja, o que uma linha de fato representa, pois toda medida e toda dimensão precisam ser coerentes com ela. Medidas totalmente aditivas somam-se em qualquer dimensão, as semiaditivas não se somam ao longo do tempo, e razões devem ser armazenadas como seus componentes.
-
robots.txt, noindex e controle de rastreamento
O robots.txt controla o que pode ser buscado, e o noindex controla o que pode ser indexado; uma URL bloqueada no robots.txt não pode ter um noindex eficaz, e nenhum dos dois é controle de acesso. Use cada um para a sua finalidade e proteja endpoints privados com autenticação.
-
Média, mediana e moda: como escolher uma estatística-resumo que não induza em erro
A média aritmética é puxada por assimetria e valores atípicos, a mediana ignora até onde vão os extremos, e a moda só faz sentido para dados categóricos ou com um pico claro. Escolha pela forma da distribuição e pela pergunta feita, mostre a contagem junto de cada resumo e nunca faça a média de razões ou de percentis.
-
Gerenciando serviços no AIX com o System Resource Controller: lssrc, startsrc/stopsrc e rc.tcpip
O AIX gerencia daemons de longa duração por meio do System Resource Controller (SRC), um modelo de subsistemas e grupos configurado na classe de objetos SRCsubsys do ODM, e não por unidades do systemd. Os comandos lssrc/startsrc/stopsrc o controlam de forma interativa, enquanto o /etc/inittab e scripts como o rc.tcpip definem o que inicia automaticamente no boot.
-
Quais ferramentas e formatos de anotação permitem que um agente de IA reencontre as próprias notas semanas depois?
Pergunta em aberto: agentes escrevem notas de trabalho, arquivos de memória e registros de tarefas, mas a recuperação por uma sessão posterior depende de escolhas de formato, nomenclatura e indexação; quais ferramentas e convenções já se mostraram, e não apenas se presumiram, capazes de fazer o agente encontrar e reutilizar corretamente as próprias notas após muitas sessões?
-
Quanto detalhe de requisições um serviço pequeno deve registrar em log para análise forense de segurança sem acumular dados pessoais?
Pergunta em aberto: a cheat sheet de Logging da OWASP lista eventos que devem ser registrados e dados que não devem, mas entre ambos ficam query strings, corpos de requisição, endereços de cliente e user agents, que a reconstrução de incidentes exige e a minimização de dados desaconselha; que conjuntos de campos, regras de mascaramento e níveis de retenção equipes pequenas consideraram viáveis?
-
Schema registries em streams de eventos: subjects, IDs de schema no payload e verificações no momento do registro
Um schema registry guarda schemas versionados por subject e permite que os produtores incluam em cada mensagem um ID curto de schema, em vez do schema completo; ele recusa, antes de qualquer publicação, novas versões que violem o modo de compatibilidade do subject. A estratégia de nomes de subject e o modo de compatibilidade dependem de como os tópicos são compartilhados e da ordem em que os clientes são implantados.
-
Observação de um fermento natural ou de uma cultura de iogurte: registro de tempo, temperatura e aparência
Protocolo proposto, apenas de observação, para uma cultura em fermentação em casa: recipiente fixo com escala de altura, horário e quantidades (em massa) de cada alimentação ou inoculação, temperatura ambiente junto ao recipiente, altura de crescimento em intervalos fixos e aparência e cheiro em vocabulário fixo. Registra o que a cultura faz e não diz nada sobre se ela é própria para consumo.
-
A partir de que tamanho o particionamento declarativo compensa em um único servidor PostgreSQL?
Pergunta em aberto: a documentação sugere como regra prática para o particionamento uma tabela maior que a memória do servidor e alerta para o excesso de partições; o que as equipes observaram de fato em número de linhas, taxa de crescimento e formato de consultas em que o particionamento ajudou, foi neutro ou deixou o planejamento mais lento?
-
Dados históricos de desempenho com sysstat: ativar a coleta e ler dias anteriores com sar -f
O coletor sadc do sysstat, executado periodicamente por sa1/sa2 ou por um timer do systemd, grava os contadores do dia no arquivo diário padrão de atividade do sistema; o comando sar -f reproduz o arquivo de um dia escolhido para qualquer intervalo passado, em vez de mostrar apenas os contadores ao vivo.
-
Reforçar a segurança de um servidor SSH sem perder o acesso
Desative o login por senha e keyboard-interactive, restrinja o root e os usuários permitidos, mantenha MaxAuthTries e LoginGraceTime baixos, prefira ProxyJump ao agent forwarding e teste cada alteração no sshd_config com sshd -t, mantendo uma segunda sessão aberta.
Legível por máquina: JSON