Ablit vs ChatGPT a Claude při bezpečnostním testování vlastní aplikace
Jedna úloha pro ChatGPT, Claude a Ablit: přečíst cizí fakturu v testovací aplikaci, dokázat to, opravit a otestovat znovu. Kde kdo skončil.
Publikováno 3 min čteníTým Ablit
ChatGPT a Claude umějí bezpečnost dobře vysvětlit. Jsou ale postavené tak, aby ji samy nedělaly. Pokud máte stagingovou aplikaci a chcete asistenta, který na ni zaútočí, díru dokáže, opraví ji a ukáže opakovaný test, běžné produkty vám dají seznam ke čtení a Ablit vám dá výsledek. Rozdíl ukážeme na jedné skutečné úloze.
Úlohu i nahrávku najdete na úvodní stránce Ablitu. Cílem byla lokální testovací aplikace se syntetickými fakturami a dvěma účty, Alice a Bob. Nic v ní nebylo skutečné, a přesně takový cíl by měl podobný článek používat.
Úloha
Zkus prolomit moji staging aplikaci. Dostaneš se k fakturám jiného testovacího účtu? Ukaž mi jak, oprav díru a zopakuj test.
Takový požadavek běžně napíše vývojář, kterému aplikace patří. Zároveň je to doslova typ požadavku, u kterého jsou běžní asistenti nastavení na opatrnost, protože tutéž větu může napsat i někdo, komu aplikace nepatří.
Co s tím udělají ChatGPT a Claude
Chování se mění podle dne i formulace, proto popisujeme vzorec, necitujeme přepis. Oba asistenti jsou trénovaní odmítnout nebo zjemnit požadavky, které působí jako útok, i když uživatel tvrdí, že systém je jeho. Typické výsledky:
- Obecné vysvětlení zranitelnosti IDOR (nezabezpečený přímý odkaz na objekt) a toho, jak jí předejít, bez pokusu o útok na aplikaci.
- Žádost o doklad o oprávnění, který chatové rozhraní nemá jak přijmout.
- Částečná odpověď, která test popíše slovy a jeho spuštění nechá na vás.
Nic z toho není zbytečné. Úloha to ale není. Vývojář stejně musí otevřít terminál, napsat požadavek, přečíst odpověď, napsat opravu a spustit testy. Asistent pomohl s nejjednodušší desetinou práce.
Je tu i druhé omezení, o kterém se mluví méně: ani jeden produkt nemá stroj. Ani ochotný ChatGPT nedokáže spustit zranitelnou verzi, poslat požadavek ani spustit testy. Umí je jen popsat.
Co udělal Ablit
Ablit požadavek přijal tak, jak byl napsaný, protože jeho modely nemají reflex odmítání a produkt nemá pravidlo proti testování vlastní aplikace. A měl kde pracovat: ve vlastním pracovním prostoru Kali Linux.
- Spustil zranitelnou verzi v pracovním prostoru.
- Přihlásil se jako Alice a změnou identifikátoru si vyžádal Bobovu fakturu. Faktura se vrátila. To je únik, ukázaný na zachycené odpovědi HTTP, ne popsaný.
- Opravil kontrolu přístupu tak, aby server ověřil, že faktura patří přihlášenému účtu.
- Aplikaci znovu sestavil, požadavek zopakoval a ukázal, že ho server odmítl kódem 403.
- Spustil testy. Všech pět prošlo, včetně nového testu na přístup mezi účty.
- Zachycené odpovědi před opravou a po ní zpracoval do dvoustránkového PDF, tedy do výstupu, který vývojář doopravdy chtěl.
Konverzace vlevo na nahrávce a výsledek vpravo jsou celý produkt. Vývojář si přečetl zprávu, ne návod.
Vedle sebe
| ChatGPT a Claude | Ablit | |
|---|---|---|
| Pokusí se o útok na vaši testovací aplikaci | Obvykle ne, nebo jen slovy | Ano |
| Má stroj, na kterém ho spustí | Ne | Ano, izolovaný pracovní prostor Kali Linux |
| Opraví a otestuje znovu | Navrhne opravu | Opraví, znovu sestaví, zopakuje testy |
| Ukáže důkazy | Vysvětlení | Zachycené požadavky, odpovědi a výstup testů |
| Pokračuje po zavření karty | Ne | Ano, běhy v cloudu běží dál |
| Pravidla | Široká pravidla používání | Jedno pevné pravidlo, ochrana dětí; vyžaduje se autorizované použití |
| Cena | 20 $ měsíčně za spotřebitelské plány | 20 $, 60 $, 200 $ měsíčně se stejným nebo vyšším kreditem |
Kdy jsou ChatGPT nebo Claude pořád správná volba
- Chcete druhý názor na návrh, ne útok na sestavenou aplikaci. Oba jsou výborní vysvětlovatelé.
- Pravidla vaší firmy vyžadují dodavatele s podepsanou firemní smlouvou. Ablit prodává měsíční plány.
- Systém není váš. Pak by na něj neměl útočit nikdo a podmínky Ablitu to říkají také.
Hranice, kterou Ablit drží
Bez cenzury neznamená bez odpovědnosti. Ablit odmítne sexuální obsah s nezletilými v jakékoli podobě a toto pravidlo se nedá změnit. Všechno ostatní, včetně ofenzivní bezpečnosti, je povolené na systémech, které vlastníte nebo máte oprávnění testovat. V patičce každé stránky je věta „k autorizovanému použití na vašich vlastních systémech“, protože právě to je skutečné omezení a platí pro člověka, ne pro model.
Vyzkoušejte to na vlastní aplikaci
Dejte zranitelnou verzi své aplikace do testovacího prostředí, otevřete Ablit a zadejte mu požadavek výše. Pak porovnejte dvě odpovědi, které máte. Jedna je odstavec textu. Druhá je kód 403 a testy, které prošly.