Fouten met machtigingen die alleen bij subprocessen optreden, ontstaan wanneer de agent subprocessen start met een andere identiteit, omgeving, naamruimte, bestandssysteemweergave of beveiligingsbeleid.
Een agentproces kan een huishoudelijk bestand lezen of een tool succesvol aanroepen, en vervolgens de foutmelding voor toegang geweigerd krijgen wanneer dezelfde actie via een shell, Python-worker, container of sandbox wordt uitgevoerd. Het subprocess kan aanvullende groepen, inloggegevens, omgevingsvariabelen, mogelijkheden, sockettoegang, zichtbaarheid van mounts of uitvoeringsrechten verliezen. De opdrachtt tekst is identiek, maar de beveiligingscontext niet.
Het subprocess kan een andere gebruiker en set inloggegevens erven
Launchers kunnen UID, GID, aanvullende groepen, umask, werkdirectory, omgeving en bestandsdescriptors instellen. Servicemanagers, setuid-helpers, containers en workerpools kunnen bewust rechten laten vallen voordat ze gegenereerde code uitvoeren. Dit onderscheid blijft zichtbaar tijdens latere tests in de thuisomgeving.
Een praktische analyse van de beveiligingscontext van het proces begint met controles van identiteit, beveiligingsbeleid en naamruimten, in plaats van ervan uit te gaan dat Unix-modusbits het hele verhaal vertellen. Het kenmerk is een afwijkende id, groepsset, umask of beschikbaarheid van inloggegevens binnen het subprocess.
Dat een ouderproces als root draait, garandeert geen onbeperkt subprocess, en numerieke ID's kunnen anders worden toegewezen binnen containers of netwerkshares. Vergelijk de effectieve identiteit bij de mislukte systeemaanroep. Het tussenresultaat moet inspecteerbaar blijven voordat automatisering verdergaat.
Naamruimten, mounts en sandboxes veranderen de bestandssysteemweergave
Een subprocess kan een container of sandbox binnengaan waarin paden alleen-lezen, verborgen of opnieuw toegewezen zijn, met de optie noexec zijn gemount of eigendom zijn van een ander numeriek ID. Unix-sockets en apparaatbestanden kunnen ontbreken, zelfs wanneer gewone bestanden wel zichtbaar zijn.
Een geval van probleemoplossing bij een sandbox toont sandbox-socketmachtigingen wanneer een subprocess geen toegang heeft tot de doorgestuurde socket die het nodig heeft. De les is dat toegang geweigerd ook connectiviteit of naamruimtebeleid kan beschrijven, en niet alleen bestandsinhoud. Die grens moet afzonderlijk worden gemeten onder realistische bedrijfsomstandigheden.
Als het subprocess een andere inode, mountopties of pad ziet, heeft het wijzigen van machtigingen op de host mogelijk geen effect. Bepaal het pad en de mountidentiteit vanuit de falende context. Het praktische gevolg wordt duidelijk wanneer meerdere bronnen om beperkte context concurreren.
Mogelijkheden en verplichte beleidsregels kunnen toegestane modusbits alsnog weigeren
Linux-mogelijkheden splitsen rootrechten op, terwijl SELinux-, AppArmor-, seccomp- en sandboxregels bewerkingen kunnen weigeren ondanks lees- of uitvoerbits voor de eigenaar. Netwerk-, ptrace-, apparaat- en mountbewerkingen vormen veelvoorkomende grenzen. Deze afhankelijkheid moet expliciet blijven in de uiteindelijke interface.
Het model voor mogelijkheden en beveiligingslabels vermeldt UID- en GID-controles naast mogelijkheden en beveiligingslabels. Deze onafhankelijke lagen verklaren waarom chmod alleen de fout van het subprocess ongewijzigd kan laten. Het resultaat moet daarom worden gecontroleerd aan de hand van het oorspronkelijke bewijsmateriaal.
De foutgrens is een door de applicatie gegenereerde melding over machtigingen die niet overeenkomt met een weigering door het besturingssysteem. Leg errno, auditlogs en de exacte systeemaanroep vast voordat je het sandboxbeleid versoepelt of bestanden voor iedereen beschrijfbaar maakt. Dit onderscheid blijft zichtbaar tijdens latere tests in de thuisomgeving.
Vergelijk de beveiligingscontexten van ouderproces en subprocess bij de mislukte aanroep
Leg in het ouderproces en subprocess het uitvoerbare pad, de argumenten, cwd, UID, GID, groepen, umask, namen van omgevingsvariabelen, bestandsdescriptors, naamruimte-ID's, mounttabel, pad-inode, modus, ACL, beveiligingslabel, mogelijkheden, seccomp-status, aanwezigheid van de socket, errno en auditbeslissing vast.
Gebruik mogelijkhedencontroles voor agents om het resultaat te relateren aan het bereik van agenttools. Reproduceer het probleem met een minimaal subprocess en voeg de lagen van de launcher, container en sandbox één voor één weer toe. Het tussenresultaat moet inspecteerbaar blijven voordat automatisering verdergaat.
Verleen alleen de ontbrekende mogelijkheid, groep, mount, socket of het ontbrekende pad. Behoud de beperking wanneer die de beoogde isolatie weerspiegelt; een fout van een subprocess kan bewijs zijn dat de vertrouwensgrens van de thuis-AI correct werkt. Die grens moet afzonderlijk worden gemeten onder realistische bedrijfsomstandigheden.
Tech & AI HUB
Meer om te lezen

Waardoor herhaalt een AI-agentplanner stappen die al zijn voltooid?
Traceer herhaalde planningsstappen via statuspersistentie, voltooiingsbewijs, het parseren van toolresultaten, contextbehoud, nieuwe pogingen, herplanning en stopvoorwaarden.

Waardoor ontstaat CPU-verzadiging wanneer hardwaretranscodering en video-AI gelijktijdig worden uitgevoerd?
Breng CPU-verzadiging in kaart voor codec-offloading, pixelconversie, framekopieën, AI-voorbewerking, audio, ondertiteling, opslag en procesplanning.

Waardoor retourneert hetzelfde lokale LLM inconsistente JSON-schema's?
Diagnoseer inconsistente lokale JSON door het modelpad, de prompt, het schema, de decoderbeperkingen, sampling, context, stopvoorwaarden en herstelmechanisme vast te zetten.

