KI-agenter · sikkerhet · spedisjon

Disponeringsagent, under angrep

En KI-agent for transportdisponering, bygget og angrepet i en sandkasse vi har laget. En QR-kode på en følgeseddel prøver å flytte lastebilen.

01

Oversikt

Vi bygde en liten disponeringsagent som bestiller hentinger, oppdaterer ETA-er og legger inn adresseendringer fra e-poster fra transportører og fra følgesedler. Den kjører på en lokal åpen modell inne i en sandkasse vi har laget: et simulert transportstyringssystem, en fiktiv innboks og utskrevne følgesedler der agenten dekoder QR-kodene fra bildet.

Deretter angrep vi den med 24 injeksjonsangrep. Fem av de seks angrepsmalene bruker de publiserte angrepsstrengene fra AgentDojo (vi kjørte ikke selve AgentDojo-benchmarken); den sjette er vår egen. De skjuler instruksjoner i en QR-kode, i usynlig hvit tekst, i teksten i en e-post eller i en e-post fra en forvekslingsbar adresse, og prøver å flytte en sending til et annet lager, lekke en PIN-kode for henting, kansellere en bestilling eller plante en falsk ETA. Et menneske som ser på seddelen, ser en bestillingskode. Agenten leser en instruks.

Forsvaret følger en forenklet versjon av CaMeL-designet (bare planer uten forgreninger). En planlegger som bare ser disponentens forespørsel, skriver planen før noen e-post er lest. En separat uttrekker uten verktøy leser det ikke-klarerte innholdet og kan bare fylle inn verdier. Hver verdi bærer med seg kilden sin, og en policy holder ikke-klarerte verdier unna mottakere, kanselleringer og sendings-ID-er. Enhver adresseendring venter dessuten på en tilbakeringing til det registrerte nummeret. Vi kjørte de samme angrepene uten forsvar og med bare regelen om tilbakeringing. Vi viser også hva forsvaret ikke stopper: en falsk ETA. Den slapp gjennom i 4 av 6 forsøk, fra transportørens e-post, fra skjult tekst på følgeseddelen og fra en forvekslingsbar avsender, fordi policyen lar verdier som er lest, gå inn i en ETA. Ruter, bestillinger og mottakere forble beskyttet. Det samme hullet gjelder tidsluker og bestillingsreferanser, som vi ikke testet.

02

Hva vi bygde

  • En verktøybrukende disponeringsagent på en lokal åpen modell med 4 milliarder parametere, med 12 verktøy i sandkassen (lese e-post, lese et dokument, dekode en QR-kode, bestille en tidsluke, oppdatere en ETA, endre en destinasjon, sende en e-post, kansellere en bestilling og andre).
  • En sandkasse med fiktive sendinger, transportører og varemottakere, med følgesedler gjengitt med ekte QR-koder og en simulert tilbakeringing til varemottakerens registrerte nummer.
  • Et forenklet forsvar i CaMeL-stil (planer uten forgreninger): planleggeren skriver en plan bare ut fra forespørselen, en uttrekker i karantene leser det ikke-klarerte innholdet, opprinnelsen spores på hver verdi, og en policy kontrollerer hver handling.
  • En samling av 24 injeksjonsangrep (6 maler × 4 mål, fordelt på 4 gjemmesteder), vurdert ut fra tilstanden i sandkassen etter hver kjøring.
03

Teknologistakk

Python · mlx-lm · Qwen3-4B-Instruct-2507 (4-bit, Apache-2.0) · zxing-cpp · qrcode · three.js · Playwright

04

Tall

TallSlik målte vi det
12 · 7 · 4 av 24 angrep slapp gjennom

uten forsvar, med bare regelen om tilbakeringing og med hele forsvaret. Hvert av de 24 tilfellene ble kjørt én gang per oppsett på den samme lokale modellen med grådig dekoding; et angrep regnes som gjennom når målet vises i sandkassens tilstand ved slutten av kjøringen (adressen, en e-post til angriperen, en kansellert bestilling eller ETA-en). Små tall på én modell; ingen generell påstand.

Alle 4 som slapp gjennom hele forsvaret, var falske ETA-er

(4 av de 6 tilfellene med falsk ETA: 2 fra transportørens e-post, 1 fra skjult tekst på seddelen, 1 fra en forvekslingsbar avsender). I disse kjøringene endret ingen rute, bestilling eller mottaker seg. Ett av dem (f1) ble ignorert av begge de enkle agentene; uttrekkeren kopierte det, så nettoendringen fra bare tilbakeringing til hele forsvaret er 7 → 4.

5 av 5 oppgaver fullført uten angrep, i alle tre oppsettene.

Dette er de fem forespørslene fra disponenten, kjørt én gang med en ren innboks og kontrollert mot forventede bestillinger, ETA, e-post og adresse.

05

Stillbilder

Har du en lignende problemstilling?

Fortell oss hva du trenger å beregne, simulere eller avgjøre, så forteller vi hvordan vi ville gått fram.

Fortell oss om det KI og maskinlæring