Arquivos gerados por agentes de IA devem passar por uma área de quarentena antes de serem disponibilizados ao usuário ou enviados para outro sistema. Quarentena é um armazenamento separado no qual o arquivo existe, mas ainda não está autorizado para download, publicação ou execução. A liberação depende de verificações externas ao modelo.
O ponto central é conferir o que vai sair do ambiente de geração e como será consumido. Um relatório pode estar correto visualmente e ainda conter dados indevidos, conteúdo ativo ou referências externas inesperadas. Por isso, separe geração, avaliação e entrega, mantendo a decisão vinculada à versão exata do arquivo.
Resumo rápido
- Grave resultados inicialmente em uma área privada e sem publicação automática.
- Associe cada arquivo à tarefa, ao solicitante e a um identificador de conteúdo.
- Valide estrutura, conteúdo e comportamento no aplicativo que receberá a saída.
- Libere somente a versão examinada, com autorização e registro da decisão.
- Se qualquer etapa falhar, mantenha o arquivo retido e explique o motivo.
Por que a saída precisa de uma barreira própria
Uma equipe pode proteger os documentos de entrada e ainda entregar uma saída inadequada. O agente talvez gere uma planilha, uma página HTML, um documento ou um pacote de arquivos. Cada formato segue um caminho diferente depois do download. Essa mudança de contexto precisa entrar na avaliação de risco do processo.
A orientação da OWASP sobre tratamento de arquivos recomenda controles em camadas, permissões restritas e armazenamento separado. Ela trata principalmente de uploads. Aqui aplicamos esses princípios, como proposta de arquitetura, aos resultados produzidos por um agente antes da entrega a outra pessoa ou aplicação.
Não confunda segurança do ambiente gerador com autorização da saída. O isolamento da execução de Python em agentes protege uma etapa anterior. Mesmo que o programa execute dentro das restrições previstas, o arquivo resultante ainda precisa atender ao contrato de entrega e ao público autorizado.
Comece definindo o consumidor: alguém abrirá o documento no computador, um serviço importará registros ou uma página será publicada? A verificação deve responder a essa finalidade. Uma imagem destinada à apresentação não precisa receber o mesmo conjunto de permissões de um pacote que será executado em um servidor.
Organize estados e uma identidade para o artefato
Artefato é o resultado material de uma tarefa, como um arquivo de relatório. Uma proposta simples de fluxo usa os estados gerado, em avaliação, retido, aprovado e liberado. Eles devem ser controlados pela aplicação. Uma mensagem do agente dizendo que terminou não muda, sozinha, a autorização de acesso.
No manifesto do resultado, registre identificador da tarefa, solicitante, formato esperado, tamanho, responsável pela revisão e destino autorizado. Acrescente um resumo criptográfico, ou hash, do conteúdo. Esse identificador permite comparar os bytes avaliados com os bytes entregues; ele não comprova que o arquivo é seguro.
A documentação de hashlib do Python descreve funções de resumo criptográfico. Use uma implementação mantida e uma escolha compatível com a política técnica da equipe. Se o arquivo for regravado, convertido ou corrigido, trate o resultado como uma nova versão que exige nova avaliação.
Impeça que o processo gerador altere a versão durante a revisão. Uma opção de desenho é copiar a saída concluída para um armazenamento de quarentena sob controle de outro serviço. O gerador pode criar resultados, mas não marcar aprovação nem modificar o objeto que o revisor já examinou.
| Estado | Acesso proposto | Condição para avançar |
|---|---|---|
| Gerado | Somente serviço de coleta | Manifesto e conteúdo registrados |
| Em avaliação | Verificadores isolados | Checagens concluídas |
| Retido | Responsável autorizado | Correção ou decisão documentada |
| Aprovado | Serviço de liberação | Versão e destinatário confirmados |
| Liberado | Consumidor autorizado | Entrega registrada |
Verifique estrutura, dados e uso no consumidor
A primeira checagem compara o resultado ao pedido. Se o contrato prevê uma planilha de despesas, uma página HTML ou um executável não deve seguir adiante por ter recebido um nome parecido. Formato declarado, estrutura reconhecida e conteúdo precisam ser coerentes com a finalidade da tarefa.
Em seguida, confira dados de negócio: destinatários, período, totais, campos obrigatórios e referências usadas. Uma política de segurança não corrige números errados. Para arquivos destinados a outro sistema, valide o esquema e execute uma importação de teste com dados sintéticos, sem acionar efeitos reais em produção.
Planilhas exigem atenção ao comportamento das células. A OWASP descreve a injeção de fórmulas em CSV, quando conteúdo é interpretado como fórmula por aplicativos de planilha. A revisão da saída deve considerar o aplicativo consumidor, principalmente quando textos externos são copiados para campos tabulares.
Para esse caso específico, use o procedimento detalhado de proteção de exportações CSV contra fórmulas. Na barreira de liberação, registre qual transformação foi aplicada e teste o arquivo transformado. Evite aprovar o original e entregar uma versão modificada posteriormente sem repetir as checagens relevantes.
O mesmo raciocínio vale para links, macros, scripts e recursos externos. Defina quais elementos são necessários ao produto entregue e retenha o que não pertence ao contrato. Não apresente uma inspeção automática como prova universal de ausência de ameaças. Ela fornece evidência dentro do escopo e das limitações configuradas.
Separe a prévia, o download e a publicação
Mostrar uma prévia já é uma forma de consumir o conteúdo. Por isso, não renderize diretamente na sessão autenticada do usuário um HTML que o agente acabou de produzir. Uma proposta mais restrita é fornecer representação estática ou uma visualização isolada, sem acesso às credenciais e aos recursos da aplicação principal.
No download, o servidor precisa informar o tipo de conteúdo correto e a forma de apresentação. A documentação do cabeçalho Content-Disposition na MDN explica a diferença entre apresentação embutida e entrega como anexo. Solicitar download não transforma o conteúdo em seguro quando ele for aberto depois.
O cabeçalho X-Content-Type-Options, também documentado pela MDN, permite indicar que o navegador respeite o tipo declarado com a diretiva nosniff. É uma camada de controle da resposta HTTP. Ela não substitui autorização, revisão de conteúdo nem isolamento da visualização.
Para publicar, use uma identidade separada da identidade que gerou o arquivo. O serviço de entrega confere aprovação, hash e destinatário antes de copiar a versão para a área final. O endereço do objeto em quarentena não deve funcionar como um atalho público capaz de contornar essa decisão.
Defina também a revogação. Se uma saída liberada for considerada incorreta, o processo deve permitir suspender novos acessos e informar quem recebeu a versão. Arquivos já baixados podem continuar fora do seu controle; essa limitação precisa orientar a escolha do conteúdo e dos destinatários antes da primeira entrega.
Exemplo: escritório de arquitetura em Belo Horizonte
Considere um cenário ilustrativo de um escritório de arquitetura em Belo Horizonte. Um agente prepara uma planilha de materiais e um relatório para apresentação ao cliente. A equipe quer reduzir o trabalho de montagem, mantendo a revisão das informações e a decisão sobre o envio.
Ao concluir a tarefa, o sistema grava os dois resultados na quarentena. O manifesto associa os arquivos ao projeto, ao destinatário e às fontes autorizadas. Um verificador confere a estrutura da planilha e procura conteúdo que não corresponde ao contrato, enquanto outro prepara uma prévia estática do relatório.
A pessoa responsável compara os materiais com os documentos de referência. Também confirma que o relatório não inclui observações internas de outro projeto. A proposta se relaciona à identificação das versões de documentos citados pela IA: saber qual referência foi utilizada torna a revisão mais verificável.
Se a planilha precisar de correção, o arquivo anterior permanece retido. A nova geração recebe outra identidade e volta às checagens. Na aprovação, o sistema registra responsável e versão. Só então a rotina de entrega disponibiliza os arquivos ao cliente selecionado, sem conceder acesso ao restante da pasta de trabalho.
Durante a homologação, o escritório simula uma troca de arquivo depois da aprovação, um destinatário de outro projeto e uma falha no verificador. Em todos esses casos, a entrega esperada é interrompida. Um relatório válido também passa pelo fluxo inteiro, para comprovar que a barreira permite o trabalho correto.
Erros comuns
Inclua essas situações em uma lista de aceite mantida pela equipe. A aprovação deve mostrar quais controles foram executados, quais ficaram pendentes e quem decidiu pela entrega. Quando o fluxo mudar, revise a lista antes de ampliar os formatos aceitos.
Liberar pelo nome do arquivo. O mesmo nome pode apontar para conteúdos diferentes ao longo da tarefa. Vincule a aprovação a uma versão identificada. Se houver alteração, volte à avaliação em vez de preservar uma autorização aplicada a outros bytes.
Deixar o agente aprovar a própria saída. Ele pode explicar como produziu o resultado e sugerir verificações. A decisão final deve seguir regras externas, com permissões separadas. Isso evita que uma instrução equivocada na tarefa amplie também o direito de entrega.
Usar a prévia como teste de segurança. Um documento visualmente correto ainda pode conter informações indevidas ou elementos que a prévia não mostra. Combine revisão de negócio e verificações técnicas, escolhidas para o formato e o aplicativo que receberá o arquivo.
Continuar quando o verificador está indisponível. Defina um estado pendente e uma mensagem clara. Não transforme falha de infraestrutura em aprovação implícita. A equipe precisa saber quem pode avaliar uma exceção e qual evidência deve acompanhar essa decisão.
Manter quarentena sem prazo nem responsável. Estabeleça retenção compatível com o processo e limpeza controlada, incluindo cópias temporárias. Registros de decisão devem permitir investigação sem guardar indefinidamente todo o conteúdo produzido. Teste a limpeza sem atingir arquivos já entregues ou outras tarefas.
Perguntas frequentes
Um arquivo produzido dentro de sandbox já pode ser enviado?
O isolamento limita a etapa de execução conforme a configuração aplicada. A entrega envolve outras perguntas: qual versão foi gerada, quem pode recebê-la e como será aberta? Mantenha uma barreira própria para decidir sobre esses pontos.
O hash comprova que o arquivo não tem problema?
Não. Ele ajuda a conferir a identidade do conteúdo. Um arquivo inadequado também possui hash. A utilidade no fluxo é impedir que uma aprovação para determinada versão seja reutilizada silenciosamente para outra versão diferente.
Antivírus substitui a revisão humana?
Uma ferramenta de detecção pode integrar as checagens técnicas, conforme a política da equipe. Ela não decide se os dados pertencem ao cliente correto ou se o relatório atende ao pedido. Defina quais decisões são automáticas e quais exigem julgamento de negócio.
Posso enviar os arquivos a um serviço público de análise?
Avalie previamente as condições do serviço e a autorização para compartilhar o conteúdo. Resultados podem incluir dados internos. Como proposta inicial, prefira verificadores dentro do ambiente autorizado e arquivos sintéticos para testar ferramentas externas.
Como começar sem construir um sistema complexo?
Comece com uma pasta privada de resultados, registro de versões, revisão por responsável e uma etapa separada de entrega. Garanta que a pasta não seja publicada automaticamente. Automatize as verificações repetitivas conforme os formatos e riscos ficarem claros.