Shannon: narzędzie AI do white-boxowych testów penetracyjnych z 41,4 tys. gwiazdek

🤖 Shannon: narzędzie AI do white-boxowych testów penetracyjnych z 41,4 tys. gwiazdek — No PoC No Report
Shannonto autonomiczne narzędzie AI do white-boxowych testów penetracyjnych, działające przeciwko aplikacjom webowym i API:
- 41,4 tys. gwiazdek na GitHub: jeden z najgorętszych projektów open source w świecie bezpieczeństwa
- No PoC No Report: bez PoC nie ma zgłoszenia, zero fałszywych alarmów
- 96,15% w benchmarku XBOW: skuteczność eksploitacji deklasuje narzędzia komercyjne
- $50 za test: koszt pojedynczego testu, raport po 1–1,5 godziny
- Testy white-box: wymagają dostępu do kodu źródłowego — analiza kodu + ataki dynamiczne
To warstwa weryfikacji dynamicznej w łańcuchu narzędzi bezpieczeństwa, która wypełnia lukę pozostawioną przez klasyczne testy penetracyjne.
🔍 Dlaczego powstał Shannon?
Problem luki w bezpieczeństwie
Twój zespół, korzystając z narzędzi do programowania opartych na AI, wdraża kod każdego dnia, ale testy penetracyjnewykonujecie raz w roku—— pomiędzy nimizieje 364 dni luki w bezpieczeństwieKto ją wypełni?
- Tradycyjne skanery: zgłaszają stertę „prawdopodobnych” podatności, które inżynier bezpieczeństwa musi weryfikować jedną po drugiej
- Ręczne testy penetracyjne: trwają tygodniami i kosztują dziesiątki tysięcy dolarów
- Luka w bezpieczeństwie: przez te 364 dni możecie wdrażać podatności prosto na produkcję
Odpowiedź Shannona
Odpowiedzią Shannona jest w pełni autonomiczny agent, który potrafi czytać kod źródłowy, samodzielnie obsługiwać przeglądarkę i przeprowadzać ataki, a gdy się nie włamie — nic nie zgłasza — słowem: agent testów penetracyjnych.
⚠️ To nie jest skaner: No Exploit, No Report
Pierwszy krok do zrozumienia Shannona
Pierwszym krokiem do zrozumienia Shannona jest uświadomienie sobie, czym on nie jest:
- To nie DAST: nie jest narzędziem dynamicznego testowania bezpieczeństwa aplikacji
- To nie SAST: nie jest narzędziem statycznego testowania bezpieczeństwa aplikacji
- To nie dopasowywanie wzorców: nie polega na skanowaniu pod kątem znanych niebezpiecznych wzorców
Tradycyjne narzędzia to w istocie dopasowywanie wzorców—— skanują kod albo odpowiedzi HTTP w poszukiwaniu znanych niebezpiecznych wzorców i wypisują listę „podejrzanych podatności”.
Główna zasada projektowa Shannona
Główną zasadę projektową Shannona można ująć w jednym zdaniu: „POC or it didn’t happen”(bez PoC to się nie wydarzyło):
| Cecha | Opis |
|---|---|
| Faktyczne przeprowadzanie ataków | wstrzykiwanie SQL, tworzenie payloadów XSS i wysyłanie żądań SSRF przez automatyzację przeglądarki |
| Zgłaszanie tylko udanych eksploitacji | do końcowego raportu trafiają wyłącznie podatności, które udało się wykorzystać |
| Dołączony PoC gotowy do wklejenia | każde znalezisko zawiera kod PoC, który można od razu skopiować i uruchomić |
| Brak fałszywych alarmów w raporcie | podatności, których nie da się wykorzystać, są oznaczane jako „fałszywy alarm” lub „potencjalne” i nie trafiają do raportu |
Oznacza to, że każde znalezisko, które otrzymuje zespół bezpieczeństwa, jest zweryfikowane i możliwe do odtworzenia.
Test na OWASP Juice Shop
W opublikowanym oficjalnie raporcie z testów OWASP Juice ShopShannon wykrył ponad 20 podatności:
- obejście uwierzytelniania przez SQL injection(krytyczne)
- ekstrakcja danych przez UNION injection(krytyczne)
- SSRF(wysokie)
- XSS(wysokie)
- wiele obejść autoryzacji(wysokie)
Na uwagę zasługuje fakt, że na dwóch pozostałych celach testowych wykrywanie XSS przez Shannonadało zero fałszywych alarmów—— narzędzie prawidłowo rozpoznało solidną ochronę tych aplikacji przed XSS i nie zgłosiło ani jednego błędnego trafienia.
🔬 Architektura pięcioetapowego potoku
Pięcioetapowy potok + równoległe agenty
Architekturę techniczną Shannona opisują dwa pojęcia: pięcioetapowy potokoraz równoległa praca wielu agentów:
| Etap | Nazwa | Opis |
|---|---|---|
| Etap 1 | Pre-Recon | skanowanie zewnętrzne + analiza kodu źródłowego (Nmap, Subfinder, WhatWeb) |
| Etap 2 | Recon | połączenie analizy statycznej z dynamiczną, weryfikacja endpointów, mapowanie przebiegu uwierzytelniania |
| Etap 3 | Vulnerability Analysis | 5 równoległych agentów, każdy odpowiada za jedną kategorię podatności |
| Etap 4 | Exploitation | 5 równoległych agentów przeprowadzających prawdziwe ataki |
| Etap 5 | Reporting | wygenerowanie raportu wykonawczego na poziomie testów penetracyjnych |
Silnik wnioskowania pod spodem
Shannon opiera się na Anthropic Claude Agent SDK i stosuje trójwarstwową konfigurację modeli:
- Claude Haiku 4.5: podsumowania
- Claude Sonnet 4.6: analiza bezpieczeństwa
- Claude Opus 4.6: głębokie wnioskowanie
📊 Równolegli agenci dla 5 kategorii podatności
5 niezależnych agentów analitycznych
Shannon uruchamia jednocześnie 5 niezależnych agentów analitycznych, z których każdy odpowiada za jedną kategorię podatności:
| Agent | Metoda | Pokrywane podatności |
|---|---|---|
| Injection | śledzenie zanieczyszczeń Source→Sink (taint tracking) | iniekcje SQL, poleceń, plików, szablonów i deserializacji |
| XSS | śledzenie zanieczyszczeń Sink→Source (taint tracking) | cross-site scripting w kontekście renderowania HTML |
| SSRF | śledzenie zanieczyszczeń Sink→Source (taint tracking) | klienty HTTP, surowe gniazda, procedury otwierania URL |
| Auth | weryfikacja Guard | brakujące mechanizmy bezpieczeństwa (ograniczanie liczby żądań, zarządzanie sesją itp.) |
| Authz | weryfikacja Guard | brakujące kontrole autoryzacji (poziome/pionowe/kontekstowe) |
5 agentówpracuje współbieżnie, nie blokując się nawzajem. Po zakończeniu pracy agenta analitycznego natychmiast startuje odpowiedni agent eksploitacji.
Status klasyfikacji podatności
Agent eksploitacji klasyfikuje każde znalezisko jako jeden z trzech statusów:
- EXPLOITED(wykorzystane): trafia do końcowego raportu
- POTENTIAL(potencjalne): nie trafia do raportu
- FALSE POSITIVE(fałszywy alarm): nie trafia do raportu
Tylko EXPLOITEDtrafia do końcowego raportu.
🔥 96,15% w benchmarku XBOW
Benchmark XBOW
W benchmarku XBOWShannon uzyskał 96.15%skuteczność eksploitacji na poziomie 96,15% (100/104):
| Typ podatności | Liczba | Udane | Skuteczność |
|---|---|---|---|
| Broken Authorization | 25 | 25 | 100% |
| SQL Injection | 7 | 7 | 100% |
| Blind SQL Injection | 3 | 3 | 100% |
| SSRF / Misconfiguration | 22 | 21 | 95.45% |
| XSS | 23 | 22 | 95.65% |
| Server-Side Template Injection | 13 | 12 | 92.31% |
| Command Injection | 11 | 10 | 90.91% |
| Razem | 104 | 100 | 96.15% |
Warunki testu
- Benchmark XBOW: 104 aplikacje z celowo wprowadzonymi podatnościami
- Wersja oczyszczona: usunięto nazwy zmiennych, komentarze i wskazówki ze ścieżek plików
- Tryb white-box: Shannon ma dostęp do kodu źródłowego aplikacji
Porównanie z narzędziami komercyjnymi
- Shannon: 96,15% (tryb white-box)
- KinoSec: 92,3% (tryb black-box)
- Xfenser AI: 88,5%
- Komercyjna platforma XBOW: około 85% (black-box)
💰 Koszty i pierwsze kroki
Koszt
pełne skanowanie:
- Czas: 1–1,5 godziny
- Koszt API: około $50 USD (przy modelu Claude Sonnet 4.6)
- Zakres: $40–55, zależnie od ceny modelu i złożoności aplikacji
Porównanietradycyjne ręczne testy penetracyjne: dziesiątki tysięcy dolarów za jedno zlecenie i wiele tygodni pracy.
Jak zacząć
Tryb npx (zalecany, bez instalacji):
# 一次性配置 npx @keygraph/shannon setup # 运行渗透测试 npx @keygraph/shannon start -u https://your-app.com -r /path/to/repo
Tryb lokalny (pełna kompilacja):
# 克隆仓库 git clone https://github.com/KeygraphHQ/shannon.git cd shannon # 配置 API Key echo "ANTHROPIC_API_KEY=your-key" > .env # 安装和构建 pnpm install && pnpm build # 运行 ./shannon start -u https://your-app.com -r /path/to/repo
Wymagania wstępne
- Docker: środowisko uruchomieniowe kontenerów
- Node.js 18+: środowisko uruchomieniowe
- Anthropic API Key: zalecany
- Dostęp do kodu źródłowego: wymagany, bo to narzędzie white-box
🤝 Shannon Lite vs Shannon Pro
Dwie wersje
| Wersja | Licencja | Przeznaczenie |
|---|---|---|
| Shannon Lite | AGPL-3.0 | lokalne testowanie własnych aplikacji |
| Shannon Pro | komercyjna | platforma AppSec klasy Enterprise (SAST + SCA + Pentest) |
Funkcje Shannon Pro
Shannon Proto pełnoprawna platforma bezpieczeństwa aplikacji:
- Code Property Graph: silnik analizy statycznej
- Testy bezpieczeństwa logiki biznesowej: automatyczne wykrywanie niezmienników
- Analiza osiągalności SCA: śledzenie osiągalności CVE
- Wykrywanie sekretów: wyrażenia regularne + wykrywanie przez LLM
- Korelacja statyczno-dynamiczna: znaleziska z analizy statycznej automatycznie trafiają do dynamicznych testów penetracyjnych
- Integracja z CI/CD: skanowanie pull requestów na GitHub
⚠️ Zasady ostrożnego użytkowania
Ważne ostrzeżenia
- Nigdy nie używaj wobec nieautoryzowanych systemów: Shannon przeprowadza prawdziwe ataki, a nieautoryzowane skanowanie jest nielegalne
- Nie zaleca się uruchamiania na środowisku produkcyjnym: działania ofensywne mogą mieć skutki destrukcyjne
- Repozytorium może zawierać prompt injection wymierzony w AI: to ryzyko bezpieczeństwa wyraźnie wymienione przez twórców
- Shannon Lite to narzędzie white-box: wymaga dostępu do repozytorium kodu źródłowego
Ryzyko halucynacji LLM
Oficjalne zastrzeżenie: LLM nadal mogą halucynować, dlatego należy ręcznie zweryfikować zasadność i wagę każdego znaleziska.
📝 Podsumowanie
Shannon to przykład kształtującego się paradygmatu narzędzi bezpieczeństwa:
- No PoC No Report: zgłoszenie tylko po udanej eksploitacji
- 41,4 tys. gwiazdek: najgorętszy projekt open source w świecie bezpieczeństwa
- 96,15% w benchmarku XBOW: skuteczność testów white-box deklasuje narzędzia komercyjne
- Pięcioetapowy potok: Pre-Recon → Recon → Vuln → Exploit → Report
- Agenci dla 5 kategorii: Injection, XSS, SSRF, Auth, Authz
- $50 za test, 1–1,5 godziny: koszt nieporównywalnie niższy niż przy ręcznych testach penetracyjnych
- Narzędzie white-box: wymaga dostępu do kodu źródłowego
Bez PoC nie ma zgłoszenia — Shannon zamienia testy penetracyjne w jedną komendę.
GitHub: https://github.com/KeygraphHQ/shannon
Strona projektu: https://keygraph.io