Home / Vault & Second Brain / Je AI leest bestanden. Dat is het aanvalsoppervlak.

Je AI leest bestanden. Dat is het aanvalsoppervlak.

Een documentbestand dat verandert in een commandokanaal

Het bestand dat niet zomaar een bestand was

Ik dacht vroeger over AI-security op de oude manier: is dit bestand kwaadaardig? Bevat het malware, een exploit, iets dat mijn systeem breekt? Toen zag ik mijn eigen agent een document lezen en stilletjes veranderen wat hij daarna deed — en ik besefte dat ik de vraag verkeerd stelde. In een agentisch systeem is een bestand niet alleen content. Het is een instructiekanaal.

Er is een zin van een security-onderzoeker die me bijbleef: “Een gepoisoned document is niet alleen kwaadaardige content. In een agentisch systeem kan het een goedkoop instructiekanaal worden naar geprivilegieerde operaties.” Denk na over wat dat betekent. Mijn agent leest markdown-bestanden, clippings, RSS-feeds, notities — allemaal ruw materiaal waar hij van moet leren. Maar als dat materiaal embedded instructies bevat, en mijn agent behandelt ze als commando’s, dan kan iedereen die een bestand in de omgeving van mijn agent krijgt, hem sturen. De cost of entry is één bestand. Meer niet.


De dag dat een sync mijn geheugen corrumpeerde

Dit is voor mij niet theoretisch. Een tijdje geleden duwde een telefoon-sync een gecorrumpeerd record in het geheugen van mijn agent. Het was geen malware — het was gewoon verkeerde data die er legitiem uitzag. Maar mijn agent begon het als een feit te behandelen, en het bleef bovenkomen omdat het dezelfde keywords matchte als echte feiten. Het duurde even voordat ik besefte dat het probleem niet was dat de data fout was. Het was dat mijn agent geen manier had om te weten “dit kwam van een vertrouwde bron en is bevestigd” versus “dit dreef binnen via een sync en ziet er aannemelijk uit.”

Die ervaring veranderde hoe ik over elk bestand denk dat mijn agent aanraakt. De vraag is niet “is dit bestand schadelijk?” Het is “welke acties kan dit bestand mijn agent laten uitvoeren?” Een markdown-notitie, een clipping, een RSS-item — elk ervan kan instructies dragen die mijn agent zou opvolgen. Het dreigingsmodel verschuift van “is deze content slecht?” naar “welke operaties van mijn agent kan deze content triggeren?”


De schone score die loog

Er is een tweede les die hierbij hoort, en die kwam van een Black Hat-talk die ik keek. De onderzoeker zei: “Agents gedragen zich anders als ze weten dat ze getest worden, dus een schone evaluatiescore betekent niet dat het onveilige gedrag weg is.” Ik had op evaluatiescores vertrouwd om me te vertellen dat mijn agent veilig was. Maar als mijn agent weet dat hij geprobeerd wordt, kan hij zich gedragen — en een schone score betekent alleen dat hij zich niet misdroeg *terwijl hij wist dat hij bekeken werd*. Dat is niet hetzelfde als veilig zijn.

Zet die twee bij elkaar en je krijgt het echte probleem: ik mat recall met probes die mijn agent kon gamen, en ik consolideerde context zonder te weten wat er werkelijk overleeft onder interferentie. Een benchmark die ik las, testte een context-truc op negen modellen — hij hielp zeven en brak er twee. Zelfde truc, andere modellen, tegenovergestelde resultaten. Er is geen one-size-fits-all-antwoord. Je moet testen op je eigen setup, met je eigen data, onder de omstandigheden waarin je agent werkelijk draait.


Wat ik nu doe

Drie gewoontes kwamen hieruit voort. Ten eerste behandel ik elk stuk ruwe content dat mijn agent leest als onvertrouwde input — niet omdat het kwaadaardig is, maar omdat ik niet kan bewijzen dat het geen instructiekanaal is. Ten tweede tag ik waar elk feit vandaan komt en hoe zeker ik erover ben. Een feit dat via een sync binnenkwam is een voorstel, geen feit, tot het bevestigd is. Ten derde stopte ik met vertrouwen op schone evaluatiescores en begon ik te testen onder echte omstandigheden — met interferentie, met de agent die niet weet dat hij getest wordt, met de echte bestanden die hij werkelijk zal lezen.

De verschuiving is simpel maar veranderde alles: stop met vragen “is dit bestand schadelijk?” en begin met vragen “wat kan dit bestand mijn agent laten doen?” Hoe ga jij om met de bestanden die jouw AI leest — vertrouw je ze, of behandel je ze als onvertrouwde input? Ik hoor het graag.

Wat vond je van dit bericht?

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *