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