Cyber Security Brasilby Igor Deungaro

Autenticação em MCP: o que existe, o que falta e o que dá para improvisar

Autenticação em MCP: o que existe, o que falta e o que dá para improvisar

Existe uma crítica comum — “MCP não tem autenticação” — que era verdadeira e hoje não é mais. A especificação tem um modelo de autorização definido. O problema mudou de “não existe” para “existe e quase ninguém implementa”, que é um problema diferente e mais tratável.

O modelo, em três obrigações

A revisão de junho de 2025 reclassificou o servidor MCP como resource server OAuth puro — ele não autentica usuário, não emite token, não gerencia login. Sobram três tarefas:

  • Responder 401 com header WWW-Authenticate apontando para o documento de metadados do recurso.
  • Publicar esse documento conforme a RFC 9728, indicando qual authorization server ele confia e quais escopos existem.
  • Rejeitar todo token que não tenha sido emitido para ele — validação de audiência. É o único item realmente crítico e o mais pulado.

O cliente atua como cliente OAuth 2.1, com PKCE obrigatório no método S256, e descobre o authorization server pela cadeia de metadados. Revisões posteriores apertaram validação de issuer e registro de cliente.

A distância entre especificação e realidade

A auditoria da Astrix em mais de 5.200 servidores encontrou 88% exigindo credencial de algum tipo, 53% apoiados em chave estática ou token de acesso pessoal, e apenas 8,5% usando OAuth. Setenta e nove por cento passavam a chave por variável de ambiente.

Não é lacuna de especificação. É lacuna de adoção — que é exatamente onde a função de segurança tem alguma coisa a fazer.

O que fazer se você não pode reescrever o servidor

Boa parte dos servidores em produção é código de terceiro que você não controla. Trate como serviço legado sem autenticação — um problema que a indústria já resolveu:

  • Coloque um gateway na frente que faça validação de token e terminação mTLS, e restrinja o servidor a aceitar conexão só do gateway.
  • Troque chave estática por credencial de vida curta sempre que o serviço de destino permitir.
  • Tire o segredo da variável de ambiente e injete via arquivo montado com permissão restrita ou provedor de secrets — variável de ambiente vaza em dump de processo, em log de crash e em qualquer ferramenta que liste o ambiente.
  • Se o servidor não valida audiência, garanta que ele só receba tokens de um emissor único e que esse emissor não sirva outros públicos.

Nenhuma dessas medidas é nova. Elas são o mesmo playbook de colocar um serviço interno antigo atrás de controle moderno — só que aplicado a um componente que a organização ainda não classificou como serviço.

Este blog publica em português e inglês. / This blog publishes in Portuguese and English. EN · PT

Denunciar abuso

As inseguranças do sucesso da segurança cibernética

As inseguranças do sucesso da segurança cibernética. Tornar-se um grande profissional não precisa custar sua felicidade, mas a cultura da moagem torna isso provável. Nos últimos anos, a questão da saúde mental no setor de segurança cibernética ganhou destaque. Uma  pesquisa de 2019  revelou que 1 em cada 6 CISOs admitiu se  automedicar  para lidar com o estresse de seu trabalho. A tensão passa pelo escritório do CISO e permeia todo o setor. Um perfil que está crescendo  mais rápido que o orçamento  e uma sofisticação cada vez maior e  o impacto financeiro  dos ataques se combinam para transformar o que antes era um canto do departamento de TI em uma panela de pressão. John Hammond  , pesquisador de segurança cibernética da Huntress, falou sobre “ Hard Truths and Unexpected Realities: Lamentations in Producing Cybersecurity Content ” na  Intigriti 1337UP Live  , uma conferência online sobre bugs, em março de 2022. Seus...

DICA: comandos para pentest e segurança ofensiva

Fala galera, blz ? Segue uma lista de comandos maravilhosa, voltada para teste de vulnerabilidades. Observação Pertinente: Os TIPOS de COMANDOS e as INSTRUÇÕES estão em INGLÊS! NÂO ME RESPONSABILIZO POR USO INDEVIDO. Pré-requisitos: ✔️  Python 3.5 ✔️  OS que suporte Python (eu utilizei Kali) Reconnaissance / Enumeration Extracting Live IPs from Nmap Scan nmap 10.1.1.1 --open -oG scan-results; cat scan-results | grep "/open" | cut -d " " -f 2 > exposed-services-ips Simple Port Knocking for x in 7000 8000 9000; do nmap -Pn –host_timeout 201 –max-retries 0 -p $x 1.1.1.1; done DNS lookups, Zone Transfers & Brute-Force whois domain.com dig {a|txt|ns|mx} domain.com dig {a|txt|ns|mx} domain.com @ns1.domain.com host -t {a|txt|ns|mx} megacorpone.com host -a megacorpone.com host -l megacorpone.com ns1.megacorpone.com dnsrecon -d megacorpone.com -t axfr @ns2.megacorpone.com dnsenum domain.com nslookup -> set type=any -> ls -d domain.com for ...

Atacantes precisam de menos de 10 horas para encontrar fraquezas

Atacantes precisam de menos de 10 horas para encontrar fraquezas. Configurações vulneráveis, falhas de software e serviços da Web expostos permitem que hackers encontrem pontos fracos exploráveis ​​nos perímetros das empresas em apenas algumas horas, não em dias. O hacker ético médio pode encontrar uma vulnerabilidade que permite a violação do perímetro da rede e, em seguida, explorar o ambiente em menos de 10 horas, com testadores de penetração focados na segurança da nuvem obtendo acesso mais rapidamente aos ativos direcionados. Além disso, uma vez que uma vulnerabilidade ou fraqueza é encontrada, cerca de 58% dos hackers éticos podem invadir um ambiente em menos de cinco horas. Isso está de acordo com uma pesquisa com 300 especialistas do SANS Institute e patrocinada pela empresa de serviços de segurança cibernética Bishop Fox, que também descobriu que as fraquezas mais comuns exploradas pelos hackers incluem configurações vulneráveis, falhas de software e serviços da Web expost...

Quem sou eu

Minha foto
Igor Deungaro
Bem Vindo ao Cyber Security Brasil, espero que goste !!!
Ver meu perfil completo

Cyber Security

A Shared Service Account Across Agents Destroys the Investigation

It is worth separating two moments: the day you design the architecture and the day you have to reconstruct what happened. A shared identity is comfortable on the first and devastating on the second. The investigation that never happens Picture the alert: the automation account read 4,200 customer records at 3:12 a.m. and made an external request straight after. The responder's questions are immediate — which agent, triggered by which task, on behalf of which user, reading what content before the decision. With a shared identity, the logs answer none of them. What remains is timestamp correlation across systems that share no identifier, which is guessing with the appearance of method. The entire difference between containing an incident in an hour or in a week is being able to name the actor. The side effect on response There is a second, less obvious harm. Without attribution, the only available containment is shutting everything down. And because shutting everything down...

Marcadores