Detecção de Shellcode Dinâmico Sophos no Windows
A mitigação de exploração Sophos pode bloquear o IronPDF na inicialização em aplicativos do .NET Framework, mesmo quando os binários são oficiais, assinados e não modificados. O gatilho é como a DLL nativa é carregada da memória gerenciada pelo CLR.
Sophos DynamicShellcode / HeapHeapHooray
O Sophos DynamicShellcode / HeapHeapHooray baseia-se em heurísticas de mitigação de exploração comportamental. Em um processo do .NET Framework, a chamada LoadLibrary para IronInterop.dll se origina de memória anonimamente compilada JIT do CLR, em vez de uma origem com suporte de arquivo. O Sophos lê esse padrão como comportamento de shellcode e bloqueia o processo antes que ele possa começar.
Isso afeta o IronPDF 2026.3.1 no Windows 10 x64 sob o .NET Framework.
Solução
Opção 1: Adicionar uma exclusão estreita no Sophos
Crie a exclusão mais rígida que o Sophos oferece para essa detecção. É preferível uma regra de permissão baseada em certificado para binários assinados pela Iron Software; em caso contrário, exclua o ID de detecção específico do Sophos confirmado pelo Suporte Sophos.
Recomendado: mantenha o escopo da exclusão estreito. Não desative a proteção DynamicShellcode em todo o aplicativo, a menos que o Sophos não ofereça uma opção mais restrita e a equipe de segurança aprove.
Opção 2: Execute através do IronPdfEngine em modo remoto gRPC
Quando exclusões de endpoint não são aceitáveis, direcione o processamento de PDF para IronPdfEngine no modo remoto gRPC. A DLL nativa então é carregada dentro de um processo de mecanismo separado em vez do cliente .NET Framework, o que contorna a detecção completamente.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.