Os erros de permissão que ocorrem apenas em subprocessos surgem quando o agente inicia processos filhos com uma identidade, ambiente, espaço de nomes, vista do sistema de ficheiros ou política de segurança diferentes.
Um processo de agente pode ler um ficheiro doméstico ou chamar uma ferramenta com êxito e, em seguida, receber uma mensagem de acesso negado quando a mesma ação é executada através de uma shell, de um processo de trabalho Python, de um contentor ou de uma sandbox. O processo filho pode perder grupos suplementares, credenciais, variáveis de ambiente, capacidades, acesso a sockets, visibilidade de montagens ou permissões de execução. O texto do comando é idêntico, mas o respetivo contexto de segurança não é.
O processo filho pode herdar um conjunto de utilizador e credenciais diferente
Os lançadores podem definir UID, GID, grupos suplementares, umask, diretório de trabalho, ambiente e descritores de ficheiros. Os gestores de serviços, auxiliares setuid, contentores e conjuntos de processos de trabalho podem reduzir deliberadamente os privilégios antes de executar código gerado. Esta distinção continua visível durante testes domésticos posteriores.
Uma análise prática do contexto de segurança do processo começa pelas verificações de identidade, política de segurança e espaço de nomes, em vez de presumir que os bits de modo Unix contam toda a história. O padrão é um id, grupos, umask ou disponibilidade de credenciais diferentes dentro do processo filho.
O facto de um processo pai ser executado como root não garante que o processo filho tenha acesso irrestrito, e os IDs numéricos podem ser mapeados de forma diferente entre contentores ou partilhas de rede. Compare a identidade efetiva na chamada de sistema que falha. O resultado intermédio tem de continuar a ser inspecionável antes de a automatização prosseguir.
Os espaços de nomes, as montagens e as sandboxes alteram a vista do sistema de ficheiros
Um subprocesso pode entrar num contentor ou numa sandbox onde os caminhos são só de leitura, estão ocultos, remapeados, montados com noexec ou pertencem a outro ID numérico. Os sockets Unix e os ficheiros de dispositivos podem estar ausentes mesmo quando os ficheiros normais estão visíveis.
Um caso de resolução de problemas de uma sandbox mostra as permissões de sockets da sandbox quando um processo filho não consegue aceder ao socket encaminhado de que necessita. A lição é que o acesso negado pode descrever conectividade ou uma política de espaço de nomes, e não apenas o conteúdo dos ficheiros. Esse limite deve ser medido separadamente em condições operacionais realistas.
Se o processo filho vir outro inode, opções de montagem ou caminho, alterar as permissões no anfitrião pode não o afetar. Resolva o caminho e a identidade da montagem a partir do contexto que está a falhar. A consequência prática surge quando várias fontes competem por um contexto limitado.
As capacidades e as políticas obrigatórias podem negar bits de modo permitidos
As capacidades do Linux dividem os privilégios do root, enquanto o SELinux, o AppArmor, o seccomp e as regras da sandbox podem rejeitar operações apesar dos bits de leitura ou execução do proprietário. As operações de rede, ptrace, dispositivos e montagem são limites comuns. Esta dependência deve permanecer explícita na interface final.
O modelo de capacidades e etiquetas de segurança apresenta os controlos de UID e GID juntamente com as capacidades e as etiquetas de segurança. Estas camadas independentes explicam por que razão o chmod, por si só, pode não alterar a falha do subprocesso. Por isso, o resultado tem de ser verificado em relação às evidências originais.
O limite da falha é uma mensagem de permissão gerada pela aplicação que não corresponde a uma negação do sistema operativo. Registe errno, os registos de auditoria e a chamada de sistema exata antes de enfraquecer a política da sandbox ou de tornar os ficheiros graváveis por todos. Esta distinção continua visível durante testes domésticos posteriores.
Compare os contextos de segurança do processo pai e do processo filho na chamada que falha
Registe o caminho do executável, os argumentos, o cwd, o UID, o GID, os grupos, a umask, os nomes das variáveis de ambiente, os descritores de ficheiros, os IDs dos espaços de nomes, a tabela de montagens, o inode do caminho, o modo, a ACL, a etiqueta de segurança, as capacidades, o estado do seccomp, a presença do socket, o errno e a decisão de auditoria no processo pai e no processo filho.
Use os controlos de capacidades do agente para relacionar o resultado com o âmbito das ferramentas do agente. Reproduza o problema com um processo filho mínimo e volte a adicionar as camadas do lançador, do contentor e da sandbox, uma de cada vez. O resultado intermédio tem de continuar a ser inspecionável antes de a automatização prosseguir.
Conceda apenas a capacidade, o grupo, a montagem, o socket ou o caminho em falta. Mantenha a restrição quando esta refletir o isolamento pretendido; a falha do subprocesso pode ser uma evidência de que o limite de confiança da IA doméstica está a funcionar corretamente. Esse limite deve ser medido separadamente em condições operacionais realistas.
Centro de Tecnologia e IA
Mais para Ler

O que faz com que um planeador de agentes de IA repita passos que já concluiu?
Rastreie passos repetidos do planeador através da persistência do estado, das evidências de conclusão, da análise dos resultados das ferramentas, da retenção do contexto,...

O que causa a saturação da CPU quando a transcodificação de hardware e a IA de vídeo são executadas em simultâneo?
Analise a saturação da CPU no processamento externo de codecs, na conversão de píxeis, nas cópias de fotogramas, no pré-processamento de IA, no áudio,...

O que faz com que o mesmo LLM local devolva esquemas JSON inconsistentes?
Diagnostique JSON local inconsistente fixando o caminho do modelo, o prompt, o esquema, as restrições do descodificador, a amostragem, o contexto, as condições de...

