Skip to content

Sikkerhetsfokusert design ​

Triggerfish er bygget på ett premiss: LLM-en har null autoritet. Den ber om handlinger; policy-laget bestemmer. Hver sikkerhetsbeslutning fattes av deterministisk kode som KI-en ikke kan omgå, overstyre eller påvirke.

Denne siden forklarer hvorfor Triggerfish tar denne tilnærmingen, hvordan den skiller seg fra tradisjonelle AI-agentplattformer og hvor du finner detaljer om hver komponent i sikkerhetsmodellen.

Hvorfor sikkerhet må være under LLM-en ​

Store språkmodeller kan prompt-injiseres. En nøye utformet inndata — enten fra en ondsinnet ekstern melding, et forgiftet dokument eller et kompromittert verktøysvar — kan få en LLM til å ignorere instruksjonene sine og ta handlinger den ble bedt om å ikke ta. Dette er ikke en teoretisk risiko. Det er et veldokumentert, uløst problem i KI-bransjen.

Hvis sikkerhetsmodellen din avhenger av at LLM-en følger regler, kan en enkelt vellykket injeksjon omgå alle sikkerhetstiltakene du har bygget.

Triggerfish løser dette ved å flytte all sikkerhetshåndhevelse til et kodelag som sitter under LLM-en. KI-en ser aldri sikkerhetsbeslutninger. Den evaluerer aldri om en handling skal tillates. Den ber ganske enkelt om handlinger, og policy-håndhevelseslaget — som kjører som ren, deterministisk kode — bestemmer om disse handlingene fortsetter.

Håndhevelseslag: LLM har null autoritet, policy-lag tar alle beslutninger deterministisk, bare tillatte handlinger når utførelse

SIKKERHET LLM-laget har ingen mekanisme for å overstyre, hoppe over eller påvirke policy-håndhevelseslaget. Det er ingen "parse LLM-utdata for omgåelseskommandoer"-logikk. Separasjonen er arkitektonisk, ikke atferdsmessig. :::

Kjerneinvarianten ​

Alle designbeslutninger i Triggerfish flyter fra én invariant:

Samme inndata gir alltid samme sikkerhetsbeslutning. Ingen tilfeldighet, ingen LLM-kall, ingen skjønn.

Dette betyr at sikkerhetsatferd er:

  • Reviderbar — du kan spille av en hvilken som helst beslutning og få det samme resultatet
  • Testbar — deterministisk kode kan dekkes av automatiserte tester
  • Verifiserbar — policy-motoren er åpen kildekode (Apache 2.0 lisensiert) og alle kan inspisere den

Sikkerhetsprinsipper ​

PrinsippHva det betyrDetaljside
DataklassifiseringAll data bærer et sensitivitetsnivå (RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC). Klassifisering tildeles av kode når data kommer inn.Arkitektur: Klassifisering
No Write-DownData kan bare flyte til kanaler og mottakere på et likt eller høyere klassifiseringsnivå. CONFIDENTIAL-data kan ikke nå en PUBLIC-kanal.No-Write-Down-regelen
Session TaintNår en sesjon aksesserer data på et klassifiseringsnivå, tainttes hele sesjonen til det nivået. Taint kan bare eskalere, aldri synke.Arkitektur: Taint
Deterministiske hooksÅtte håndhevingshooks kjører på kritiske punkter i hver dataflyt. Hver hook er synkron, logget og uforfalskerbar.Arkitektur: Policy-motor
Identitet i kodeBrukeridentitet bestemmes av kode ved sesjonsetablering, ikke av LLM-en som tolker meldingsinnhold.Identitet og autentisering
AgentdelegasjonAgent-til-agent-kall styres av kryptografiske sertifikater, klassifiseringstak og dybdegrenser.Agentdelegasjon
HemmelighetsisolasjonLegitimasjon lagres i OS-nøkkelringer eller vaults, aldri i konfigurasjonsfiler. Plugins kan ikke få tilgang til systemlegitimasjon.Hemmelighetshåndtering
Revider altAlle policy-beslutninger logges med full kontekst: tidsstempel, hook-type, sesjons-ID, inndata, resultat og evaluerte regler.Revisjon og samsvar

Tradisjonelle AI-agenter vs. Triggerfish ​

De fleste AI-agentplattformer stoler på LLM-en for å håndheve sikkerhet. Systemprompten sier "ikke del sensitive data," og agenten stoler på å følge dette. Denne tilnærmingen har grunnleggende svakheter.

AspektTradisjonell AI-agentTriggerfish
SikkerhetshåndhevelseSystempromptinstruksjoner til LLM-enDeterministisk kode under LLM-en
Prompt-injeksjonsforsvarHåp om at LLM-en motstårLLM-en har ingen autoritet til å begynne med
DataflytkontrollLLM bestemmer hva som er trygt å deleKlassifiseringsetiketter + no-write-down-regel i kode
IdentitetsverifiseringLLM tolker "Jeg er admin"Kode sjekker kryptografisk kanalidentitet
RevisjonsloggLLM samtaleloggerStrukturerte policy-beslutningslogger med full kontekst
LegitimasjonstilgangSystem-tjenestekonto for alle brukereDelegert brukerlegitimasjon; kildesystemtillatelser arves
TestbarhetUklar — avhenger av promptformuleringDeterministisk — samme inndata, samme beslutning, hver gang
Åpen for verifiseringVanligvis proprietærApache 2.0 lisensiert, fullt reviderbar

Triggerfish hevder ikke at LLM-er er upålitelige. Det hevder at LLM-er er feil lag for sikkerhetshåndhevelse. En godt promptet LLM følger instruksjonene sine det meste av tiden. Men "det meste av tiden" er ikke en sikkerhetsgaranti. Triggerfish gir en garanti: policy-laget er kode, og kode gjør det den blir bedt om, hver gang. :::

Forsvar i dybden ​

Triggerfish implementerer tretten lag med forsvar. Intet enkelt lag er tilstrekkelig alene; sammen danner de en sikkerhetsgrense:

  1. Kanalautentisering — kodevelifisert identitet ved sesjonsetablering
  2. Tillatelsesbevisst datatilgang — kildesystemtillatelser, ikke systemlegitimasjon
  3. Session taint-sporing — automatisk, obligatorisk, kun eskalering
  4. Datalinje — fullstendig provenanskjede for hvert dataelement
  5. Policy-håndhevelseshooks — deterministiske, ikke-omgåelige, loggede
  6. MCP Gateway — sikker ekstern verktøytilgang med per-verktøy-tillatelser
  7. Plugin-sandkasse — Deno + WASM dobbel isolasjon
  8. Hemmelighetsisolasjon — OS-nøkkelring eller vault, aldri konfigurasjonsfiler
  9. Filsystemverktøy-sandkasse — stifengsel, stikelassifisering, taint-avgrenset OS-nivå I/U-tillatelser
  10. Agent-identitet — kryptografiske delegeringskjeder
  11. Revisjonslogging — alle beslutninger registrert, ingen unntak
  12. SSRF-forebygging — IP-avvisningsliste + DNS-oppløsningssjekker på all utgående HTTP
  13. Minneklassifiseringsgating — skrivinger tvunget til session taint, lesinger filtrert av canFlowTo

Neste steg ​

SideBeskrivelse
KlassifiseringsveiledningPraktisk guide til å velge riktig nivå for kanaler, MCP-servere og integrasjoner
No-Write-Down-regelenDen grunnleggende dataflytregel og hvordan den håndheves
Identitet og autentiseringKanalautentisering og verifisering av eieridentitet
AgentdelegasjonAgent-til-agent-identitet, sertifikater og delegeringskjeder
HemmelighetshåndteringHvordan Triggerfish håndterer legitimasjon på tvers av nivåer
Revisjon og samsvarRevisjonsloggstruktur, sporing og samsvareksporter