Shannon 3.0: selvhostet KI-pentester analyserer kildekode før den angriper live-appen
Kjør Shannon 3.0 lokalt hvis du vil ha en sikkerhetstest som beviser hvert funn med en fungerende exploit i stedet for en liste med mistanker.
«Shannon actively executes exploits. Run it only against applications and environments you own or have explicit written authorization to test.» Advarselen står i klartekst i dokumentasjonen til Shannon 3.0, den nye utgaven Keygraph har lagt ut av sin selvhostede KI-pentester. Verktøyet er ingen passiv skanner. Det leser kildekoden din, kartlegger arkitektur, tillitsgrenser og dataflyt, og sender deretter eksploiteringsagenter mot den kjørende applikasjonen. Klarer de ikke å demonstrere angrepet, kastes kandidaten. «No exploit, no report», som Keygraph formulerer prinsippet.
Der ligger forskjellen fra en vanlig skanner, som leverer hypoteser du selv må sortere. En manuell penetrasjonstest skjer kanskje én gang i året, mens teamet ditt shipper kode hele tiden, og Shannon skal fylle hullet mellom de to. Dekningen er OWASP-klassikerne: injection, XSS, SSRF, brutt autentisering og brutt autorisasjon. Verktøyet kan også kjøre autentiserte tester med innloggingsflyt, TOTP og e-postbasert innlogging.
Nytt i 3.0 er dypere kodeanalyse, omskrevet CLI, innebygd CI/CD og rapporter i PDF, Markdown, JSON og SARIF 2.1.0. Både den offisielle GitHub-actionen og GitLab-komponenten kan stoppe en pipeline når Shannon har utnyttet et hull over en gitt alvorlighetsgrad. En hypotese fra kodeanalysen teller ikke: bare funn med status «exploited» slår ut porten.
Praktisk krever kjøringen Docker og Node.js 18 eller nyere, og du starter den med npx @keygraph/shannon@latest. Modellnøkkelen er din egen. Shannon støtter Anthropic, OpenAI, xAI og AWS Bedrock direkte, og lokale modeller servert gjennom Ollama, vLLM eller LM Studio. Keygraph opplyser at de aldri proxyer modelltrafikken din, og at repoet monteres skrivebeskyttet inn i en midlertidig container som kastes etter kjøringen.
To forbehold hører hjemme i budsjettet. En full kjøring tar rundt én til halvannen time og påfører deg API-kostnader som varierer med modell og applikasjonens kompleksitet. Og både Anthropic og OpenAI kjører sanntidsvern mot cybersikkerhetsarbeid som kan avbryte en skanning midt i løpet, så du må rydde opp i det hos leverandøren før første kjøring.
«Findings still require human review. LLM-generated reports can contain weakly supported or incorrect details.» — Shannon-dokumentasjonen på GitHub
Lisensen er AGPL-3.0, med kommersielle vilkår tilgjengelig for dem som trenger andre betingelser. Keygraph tar foreløpig ikke imot ekstern kode i repoet, bare feilrapporter og ønsker. Merk også at Claude Code-abonnement ikke lenger fungerer som modellkilde: siste versjon bygget på Claude Agent SDK var 1.9.0. Abonnement på OpenAI Codex og xAI støttes derimot.
Hva bør du gjøre?
- Pek Shannon mot et staging-miljø med engangsdata, aldri mot produksjon. Agentene oppretter brukere, sender skjemaer og endrer tilstand i appen.
- Regn på kostnaden før du legger den i CI. Én til halvannen time med en tung modell per kjøring blir dyrt hvis den utløses på hver pull request.
- Ikke pek Shannon mot kodebaser du ikke stoler på. Keygraph advarer selv om at verktøy som leser kildekode er eksponert for prompt injection.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.