Skip to content

Säkerhetscentrerat design

Triggerfish är byggt på en enda premiss: LLM:en har noll auktoritet. Den föreslår åtgärder; policylagret beslutar. Varje säkerhetsbeslut fattas av deterministisk kod som AI:n inte kan kringgå, åsidosätta eller påverka.

Den här sidan förklarar varför Triggerfish tar detta tillvägagångssätt, hur det skiljer sig från traditionella AI-agentplattformar och var du hittar detaljer om varje komponent i säkerhetsmodellen.

Varför säkerhet måste ligga under LLM-lagret

Stora språkmodeller kan prompt-injiceras. En noggrant utformad indata — oavsett om det är från ett skadligt externt meddelande, ett förgiftat dokument eller ett komprometterat verktygssvar — kan få en LLM att ignorera sina instruktioner och utföra åtgärder den tillsagts att inte göra. Det här är inte en teoretisk risk. Det är ett välдокументerat, olöst problem i AI-branschen.

Om din säkerhetsmodell är beroende av att LLM:en följer regler kan en enda lyckad injektion kringgå varje skyddsåtgärd du har byggt.

Triggerfish löser detta genom att flytta all säkerhetshantering till ett kodlager som sitter under LLM:en. AI:n ser aldrig säkerhetsbeslut. Den utvärderar aldrig om en åtgärd ska vara tillåten. Den begär helt enkelt åtgärder, och policyhanteringslagret — som körs som ren, deterministisk kod — avgör om dessa åtgärder fortsätter.

Hanteringslager: LLM har noll auktoritet, policylagret fattar alla beslut deterministiskt, bara tillåtna åtgärder når exekvering

SÄKERHET LLM-lagret har ingen mekanism för att åsidosätta, hoppa över eller påverka policyhanteringslagret. Det finns ingen "tolka LLM-utdata för kringgångskommandon"-logik. Separationen är arkitektonisk, inte beteendemässig. :::

Kärnprincipen

Varje designbeslut i Triggerfish flödar från en invariant:

Samma indata ger alltid samma säkerhetsbeslut. Ingen slumpmässighet, inga LLM-anrop, inget gottfinnande.

Det innebär att säkerhetsbeteendet är:

  • Granskningsbart — du kan återskapa vilket beslut som helst och få samma resultat
  • Testbart — deterministisk kod kan täckas av automatiserade tester
  • Verifierbart — policymotorn är öppen källkod (Apache 2.0-licensierad) och vem som helst kan inspektera den

Säkerhetsprinciper

PrincipVad det innebärDetaljsida
DataklassificeringAll data bär en känslighetsnivå (RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC). Klassificering tilldelas av kod när data går in i systemet.Arkitektur: Klassificering
Inget nedskrivningsförbudData kan bara flöda till kanaler och mottagare vid lika eller högre klassificeringsnivå. CONFIDENTIAL-data kan inte nå en PUBLIC-kanal. Inga undantag.Nedskrivningsregeln
Session-taintNär en session kommer åt data vid en klassificeringsnivå taintas hela sessionen till den nivån. Taint kan bara eskalera, aldrig minska.Arkitektur: Taint
Deterministiska hooksÅtta hanteringshooks körs vid kritiska punkter i varje dataflöde. Varje hook är synkron, loggad och ofalsknlig.Arkitektur: Policymotor
Identitet i kodAnvändaridentitet bestäms av kod vid sessionsupprättande, inte av LLM:en som tolkar meddelandeinnehåll.Identitet och autentisering
AgentdelegeringAgent-till-agent-anrop styrs av kryptografiska certifikat, klassificeringstak och djupgränser.Agentdelegering
HemlighetsisoleringUppgifter lagras i OS-nyckelringar eller vaults, aldrig i konfigurationsfiler. Plugins kan inte komma åt systemuppgifter.Hemlighethantering
Granska alltVarje policybeslut loggas med fullständigt sammanhang: tidsstämpel, hooktyp, sessions-ID, indata, resultat och utvärderade regler.Revision och efterlevnad

Traditionella AI-agenter kontra Triggerfish

De flesta AI-agentplattformar förlitar sig på LLM:en för att tillämpa säkerhet. Systempromten säger "dela inte känslig data", och agenten litas på att följa det. Den här metoden har grundläggande svagheter.

AspektTraditionell AI-agentTriggerfish
SäkerhetshanteringSystempromtinstruktioner till LLM:enDeterministisk kod under LLM:en
Prompt-injektionsförsvarHoppas att LLM:en motstårLLM:en har ingen auktoritet från början
DataflödeskontrollLLM:en avgör vad som är säkert att delaKlassificeringsetiketter + nedskrivningsregel i kod
IdentitetsverifieringLLM:en tolkar "Jag är adminen"Kod kontrollerar kryptografisk kanalidentitet
RevisionsspårLLM-konversationsloggarStrukturerade policybesluts-loggar med fullständigt sammanhang
Åtkomst till uppgifterSystemtjänstkonto för alla användareDelegerade användaruppgifter; källsystembehörigheter ärvs
TestbarhetSuddig — beror på promtformuleringDeterministisk — samma indata, samma beslut, varje gång
Öppen för verifieringVanligtvis proprietärApache 2.0-licensierad, fullt granskningsbar

Triggerfish hävdar inte att LLM:er är opålitliga. Det hävdar att LLM:er är fel lager för säkerhetshantering. En välpromptad LLM följer sina instruktioner större delen av tiden. Men "större delen av tiden" är inte en säkerhetsgaranti. Triggerfish ger en garanti: policylagret är kod, och kod gör vad den tillsägs, varje gång. :::

Försvar på djupet

Triggerfish implementerar tretton försvarsslager. Inget enskilt lager är tillräckligt på egen hand; tillsammans bildar de en säkerhetsgräns:

  1. Kanalautentisering — kodverifierad identitet vid sessionsupprättande
  2. Behörighetsmedveten dataåtkomst — källsystembehörigheter, inte systemuppgifter
  3. Session-taint-spårning — automatisk, obligatorisk, bara eskalering
  4. Datalinjegrafi — fullständig provenanskedja för varje dataelement
  5. Policyhanteringshooks — deterministiska, icke-kringgångsbara, loggade
  6. MCP Gateway — säker extern verktygsåtkomst med per-verktygsbehörigheter
  7. Plugin-sandlåda — Deno + WASM dubbel isolering
  8. Hemlighetsisolering — OS-nyckelring eller vault, aldrig konfigurationsfiler
  9. Filsystemsverktygssandlåda — sökvägsinstängning, sökvägsklassificering, taint-avgränsade OS-nivå I/O-behörigheter
  10. Agentidentitet — kryptografiska delegeringskedjor
  11. Revisionsloggning — alla beslut registrerade, inga undantag
  12. SSRF-förebyggande — IP-nekalista + DNS-upplösningskontroller på all utgående HTTP
  13. Minneklassificeringsgrindning — skrivningar tvingade till session-taint, läsningar filtrerade av canFlowTo

Nästa steg

SidaBeskrivning
KlassificeringsguidePraktisk guide för att välja rätt nivå för kanaler, MCP-servrar och integrationer
NedskrivningsregelnDen grundläggande dataflödesregeln och hur den tillämpas
Identitet och autentiseringKanalautentisering och ägaridentitetsverifiering
AgentdelegeringAgent-till-agent-identitet, certifikat och delegeringskedjor
HemlighethanteringHur Triggerfish hanterar uppgifter på olika nivåer
Revision och efterlevnadRevisionsspårstruktur, spårning och efterlevnadsexporter