Série Code Security para Tech Leads
2026 Série Code Securitypara Tech Leads. Quatro posts sobre os três sinais que descrevem a saúde de segurança do seu código — Security..
No post anterior falamos de Hotspots — código que merece revisão. Vulnerability é o passo seguinte: bug de segurança que análise estática consegue confirmar.
A diferença operacional é grande. Hotspot abre a pergunta "isto é seguro neste contexto?". Vulnerability afirma "existe um caminho de exploração — corrija ou aceite o risco com justificativa".
Code Vulnerability é bug de segurança confirmado — diferente do Hotspot, é executável: existe um payload que aciona o problema. Análise estática moderna detecta as famílias clássicas (SQL injection, XSS, path traversal, command injection, deserialização insegura) via taint analysis. Catalogadas em CWE e OWASP Top 10 — não é teoria acadêmica, é a lista do que efetivamente é explorado em produção.
A diferença mais clara aparece no código. Veja Hotspot e Vulnerability lado a lado:
// Pode ser OK se for ID de log
const id = Math.random()
.toString(36);
app.get('/user', (req, res) => {
const id = req.query.id; // taint source
db.query(`SELECT * FROM users WHERE id=${id}`,
callback); // taint sink
});
A segunda função tem um caminho rastreável do input do usuário até a execução de SQL. Análise estática moderna marca isso como vulnerability — não hotspot, não warning, não suggestion. Bug com payload.
A técnica chama taint analysis (análise de contaminação). O analisador rastreia:
Se existe um caminho do source ao sink sem passar por sanitizer, a ferramenta marca vulnerability. Se passa por sanitizer reconhecido, OK. Se passa por função custom desconhecida, fica como hotspot — depende da ferramenta saber se a função sanitiza de fato.
A OWASP Top 10 muda a cada 4 anos, mas as famílias que análise estática captura bem são consistentes:
"../../config/secrets.yml". Cura: whitelisting + path.resolve + verificação de prefixo./api/order/123 — qualquer autenticado acessa qualquer order. Cura: verificação de ownership em cada endpoint.A boa notícia: ferramentas modernas detectam todas as 6 com taxa de falso positivo aceitável. A má notícia: detecção depende de a ferramenta entender seu framework. ORMs custom, frameworks proprietários, DSLs internos — tudo isso reduz cobertura.
CWE (Common Weakness Enumeration) é a taxonomia formal. Cada padrão tem um número (CWE-89 SQL injection, CWE-79 XSS, CWE-22 Path traversal, CWE-78 OS command injection, CWE-502 Insecure deserialization, CWE-918 SSRF).
Por que isso importa? Porque tira a discussão do achismo. "Achei um bug" vira "detectamos CWE-89 em 12 endpoints, todos eles em código que muda toda semana". CWE é defensível em reunião com CTO/CISO. "Bug" não é.
“A maturidade do time aparece quando uma reunião de incidente termina com CWE number e contagem por categoria, não com "alguns bugs de segurança encontrados".
A IA generativa escreve vulnerabilities por padrão estatístico. Não porque o modelo seja malicioso — porque o corpus de treinamento tem milhões de exemplos de SQL com string interpolation, fs.readFile com path do usuário, eval() de JSON externo. O LLM aprende padrões frequentes; padrões frequentes incluem padrões inseguros.
critical ou high falha o build. As já existentes viram baseline negociado.Code Vulnerabilities é o que você escreveu — bug que análise estática encontra no seu código. Mas grande parte da superfície de risco hoje vem de código que você não escreveu: bibliotecas externas, transitive dependencies, supply chain. Log4Shell não foi bug que a Apache colocou — foi bug que pegou todo mundo que dependia de log4j. O próximo post fala disso.
Post 03 Dependency Vulnerabilities →A Codurance acompanha times de engenharia que querem instrumentar a saúde de segurança do código sem virar AppSec. Ajudamos Tech Leads e Staff Engineers a integrar SAST em pipelines de PR, alinhar regras a CWE, e estabelecer baseline para conversas com CTO/CISO baseadas em fato — não em achismo.
Se você quer aplicar essas práticas no seu time, entre em contato hoje.
[PARÁGRAFO_BIOGRAFICO_AUTOR]
2026 Série Code Securitypara Tech Leads. Quatro posts sobre os três sinais que descrevem a saúde de segurança do seu código — Security..
Dezembro 2021. Sexta-feira à tarde. Pesquisador de segurança chinês publica detalhes de Log4Shell — vulnerability crítica em log4j-core, biblioteca..
Você leu cinco posts sobre métricas individuais. Cada uma cobre uma dimensão. Mas a saúde do código não é uma métrica — é o conjunto. E é olhando o..
Junte-se à nossa newsletter para obter dicas de especialistas e estudos de caso inspiradores
Junte-se à nossa newsletter para obter dicas de especialistas e estudos de caso inspiradores