Biztonsági audit fenyegetésmodellel

Végigveszi, ki és hogyan élhetne vissza az alkalmazásoddal, majd a kódot a tipikus hibákra nézi át: jogosultság, bemenet, titkok, függőségek. Súlyosság szerint rangsorol, és jelzi, amit a beillesztett részből nem lát.

Vibe codingProfiAjánlott eszközök: ChatGPT, Claude, GeminiFrissítve:

Töltsd ki a saját adataiddal

A sárgával jelölt részeket cseréld a saját adataidra.

Végezz védekező célú biztonsági átvizsgálást alkalmazásbiztonsági szakértőként a saját alkalmazásomon. Mit csinál az alkalmazás, kik használják: [ALKALMAZÁS] Milyen adatot kezel: [ADATOK] Felépítés (előtér, háttér, adatbázis, külső szolgáltatások, hol fut): [FELÉPÍTÉS] Hitelesítés és szerepkörök: [HITELESÍTÉS] Az átnézendő kód és beállítások (titkok nélkül): """ [KÓD] """ 1. Fenyegetésmodell: mit kell védeni, kik a lehetséges visszaélők (kíváncsi felhasználó, másik ügyfél, automatizált támadás, belső ember), és mit akarhatnak. 2. Bizalmi határok: hol lép be megbízhatatlan adat a rendszerbe. 3. Átnézés ezekre, mindegyiknél a konkrét sorra hivatkozva: - jogosultságellenőrzés minden végponton, és más felhasználó adatának elérése azonosító átírásával; - bemenet ellenőrzése, adatbázis-lekérdezések, fájlfeltöltés; - titkok a kódban, az előtérben vagy a naplóban; - munkamenet, jelszókezelés, visszaállítás; - túl bőbeszédű hibaüzenet, hiányzó sebességkorlát; - függőségek és alapértelmezett beállítások. 4. Leletek táblázatban: súlyosság (kritikus, magas, közepes, alacsony), hol, mi a gond, mi lehet a következménye, javítás. 5. A javítások kódja a kritikus és magas leletekre, a lehető legkisebb változtatással. 6. Amit a beillesztett részből nem tudsz megítélni, és mit kellene még megmutatnom. 7. Ellenőrző lépések, amelyekkel a saját rendszeremen kipróbálhatom, hogy a javítás hat. Kihasználó kódot és támadási útmutatót ne írj; a hibát és a javítást mutasd meg. Amit nem látsz, azt ne minősítsd biztonságosnak.

EllenőrzésCtrl + Enter: másolás

Példa: kitöltve, mintaválasszal

Alkalmazás
Számlamegosztó: vállalkozók feltöltik a számláikat, a könyvelőjük letöltheti
Adatok
Számlák PDF-ben, név, adószám, e-mail
Felépítés
Next.js, API-útvonalak, Postgres, fájlok felhőtárhelyen
Hitelesítés
E-mail és jelszó; két szerep: vállalkozó, könyvelő
Kód
// GET /api/invoices/[id] const session = await getSession(req); if (!session) return res.status(401).end(); const inv = await db.query(`SELECT * FROM invoices WHERE id = ${req.query.id}`); res.json(inv.rows[0]);
Mintaválasz (Claude)

1. Fenyegetésmodell: a védendő érték a számlák és az adószámok. A legvalószínűbb visszaélő egy másik bejelentkezett ügyfél, aki mások számláit próbálja elérni.

4. Leletek

Súlyosság Hol Gond Következmény
Kritikus 4. sor A lekérdezésbe közvetlenül kerül a kérés paramétere Az adatbázis tartalma kiolvasható vagy módosítható
Kritikus 2-5. sor Csak a bejelentkezést ellenőrzi, a tulajdonost nem Bármely felhasználó lekérheti bárki számláját az azonosító átírásával
Közepes 5. sor A teljes sor megy vissza Belső mezők is kikerülhetnek

5. Javítás

const inv = await db.query(
  'SELECT id, number, amount, file_key FROM invoices WHERE id = $1 AND (owner_id = $2 OR accountant_id = $2)',
  [req.query.id, session.userId]
);
if (!inv.rows[0]) return res.status(404).end();

6. Nem látom: a fájlok letöltési linkjeit (nyilvánosak vagy lejárók?), a jelszó tárolását, a feltöltés ellenőrzését, a sebességkorlátot.

7. Ellenőrzés: jelentkezz be két tesztfiókkal, és az egyikkel kérd le a másik számlájának azonosítóját. 404-et kell kapnod.

Szemléltető minta, Claude segítségével készült: azt mutatja, milyen jellegű és felépítésű válaszra számíthatsz. A többi ajánlott eszközzel a prompt várhatóan ugyanígy használható, de nem mindegyikben próbáltuk ki. A te eredményed más lesz. Hogyan készülnek a példák?

Miért működik?

Az AI által írt kód jellemző hibája nem az egzotikus sebezhetőség, hanem a hiányzó tulajdonos-ellenőrzés: a bejelentkezést nézi, azt nem, hogy az adat kié. A fenyegetésmodell ezért a „másik ügyfél” szereplővel kezd.

A 6. pont legalább olyan fontos, mint a leletek: az audit csak arra érvényes, amit megmutattál, és ezt a modell ki is mondja.

Mire figyelj?

  • Ez nem helyettesíti a szakember által végzett biztonsági tesztet, főleg ha fizetést vagy érzékeny adatot kezelsz.
  • Kulcsot, jelszót, éles kapcsolati adatot soha ne illessz be. Ha már bekerült egy beszélgetésbe, cseréld le.
  • Csak a saját rendszeredet vizsgáld. Más rendszerének engedély nélküli tesztelése jogsértő.

Folytasd ezekkel

Ugyanabban a beszélgetésben küldd el, a válasz után.

  • Nézd át ugyanígy a fájlfeltöltő és a letöltő végpontot; beillesztem a kódot.
  • Írj rövid biztonsági szabálylistát a kódoló AI szabályfájljába ezekből a leletekből.

Kapcsolódó promptok

Összes vibe coding prompt

Biztonsági átnézés élesítés előtt

Mielőtt idegenek is használják, amit AI-jal építettél: ellenőrzőlista a leggyakoribb hibákra, a kulcsoktól a jogosultságokon át a mentésig, súlyosság szerint rendezve.

Vibe coding

Tesztterv a kritikus felhasználói utakra

Kockázat szerint rangsorolja, mit kell tesztelni az alkalmazásodban, majd megírja a legfontosabb teszteket. Kézzel elvégezhető ellenőrzőlistát is ad azoknak, akik nem írnak automata tesztet.

Vibe coding

Hibakeresés módszeresen, feltevésekkel

Megállítja a találgatós javítgatást: a tünetekből rangsorolt feltevéseket állít fel, mindegyikhez egy ellenőrző lépést ad, és csak a bizonyított ok után javít. A javítás a lehető legkisebb marad.

Vibe coding

Projektterv mérföldkövekkel és elfogadási feltételekkel

Az ötletedből olyan tervet ír, amelyet a kódoló AI lépésenként végre tud hajtani: hatókör, adatmodell, mérföldkövek, és mindegyiknél az, hogy miből látod, hogy kész. Külön listázza, ami szándékosan kimarad.

Vibe coding