Přeskočit na obsah

Prompt ke zkopírování

Vidí vaši uživatelé cizí data? Zkontrolujte prototyp sami

Jestli vaši uživatelé vidí cizí data, si poprvé zkontrolujete sami za 10 minut: zkopírujte prompt níže do Claude Code nebo Cursoru a agent projde repozitář v šesti oblastech. RLS a přístup k datům, klíče v kódu, přihlášení a oprávnění, hosting na osobním účtu, zálohy a monitoring. Agent na konci seřadí nálezy podle závažnosti. Není to audit, ale ukáže, co opravit jako první.

Co vyplníte a zaškrtnete, zůstává jen v tomto okně prohlížeče. Nic neodesíláme, dokud si sami nenecháte poslat vyhodnocení e-mailem. Po zavření stránky to zmizí, proto si výsledek vytiskněte.

Pro vibe codery a zakladatele, jejichž prototyp z Lovable, Bolt, Cursoru nebo Claude Code už používají první lidé. Otevřete repozitář v nástroji, vložte prompt a nechte agenta pracovat. Trvá to kolem 10 minut.

AI dnes píše veškerý náš kód a za výsledek odpovídá senior. Těchto šest oblastí kontrolujeme jako první u každého prototypu, který přebíráme.

1. Prompt

Prompt agentovi zakazuje cokoli měnit a vypisovat celá tajemství.

Jsi bezpečnostní reviewer. Projdi tento repozitář a nic v něm neměň. Nespouštěj příkazy, které něco zapisují, nasazují nebo se připojují k produkci. Když najdeš tajemství (klíč, heslo, token), nevypisuj ho celé: uveď jen soubor, řádek a první 4 znaky.

Zkontroluj těchto 6 oblastí. U každé napiš STAV (OK / PROBLÉM / NEVÍM), DŮKAZ (soubor a řádek, nebo co chybí) a CO UDĚLAT (jedna věta).

1. Přístup k datům (RLS): pokud aplikace používá Supabase, Firebase nebo podobnou databázi volanou přímo z prohlížeče, má každá tabulka zapnuté Row Level Security nebo security rules, které pustí uživatele jen k jeho vlastním řádkům? Vypiš tabulky bez pravidel a pravidla, která pouštějí všechny.
2. Klíče v kódu: jsou v repozitáři nebo v git historii klíče, hesla či tokeny? Je .env v .gitignore? Je v kódu, který běží v prohlížeči, klíč, který tam nepatří (service role klíč, tajný API klíč, klíč k platbám)?
3. Přihlášení a oprávnění: ověřuje server u každé API cesty, kdo je přihlášený a jestli smí k těmto datům? Vypiš cesty, které vracejí nebo mění data bez kontroly. Ověřuje se role (například admin) na serveru, nebo jen skrytím tlačítka v rozhraní?
4. Kde to běží: jsou hosting, databáze a doména na firemním účtu, nebo na osobním účtu jednoho člověka? Hledej stopy v konfiguraci (názvy projektů, e-maily, URL). Pokud to z kódu nezjistíš, napiš NEVÍM a na co se mám zeptat.
5. Zálohy: je nastavené pravidelné zálohování databáze a je někde popsané, jak se záloha obnoví?
6. Monitoring: dozvíme se o chybě v produkci dřív než uživatel? Hledej zachytávání chyb, logy a upozornění.

Na konci dej tabulku: oblast, stav, závažnost (KRITICKÉ / VYSOKÉ / STŘEDNÍ) a nejdůležitější krok. KRITICKÉ je všechno, čím se cizí člověk dostane k cizím datům nebo k tajemstvím. Seřaď tabulku od největšího rizika a pod ni napiš počet nálezů podle závažnosti. Nic si nevymýšlej: co v kódu nevidíš, označ NEVÍM.

2. Jak číst odpověď

  • PROBLÉM v oblastech 1 až 3 řešte před dalšími uživateli. Tam se nejčastěji dostane cizí člověk k cizím datům.
  • NEVÍM není OK. Znamená, že odpověď není v kódu. Zeptejte se toho, kdo má přístup k hostingu a databázi.
  • Ověřte aspoň jeden nález sami. Otevřete soubor a řádek, který agent uvedl. Pokud tam nic není, agent si vymýšlí a ostatní nálezy berte opatrně.
  • Klíč, který už byl v repozitáři, vyměňte. Smazat ho z kódu nestačí, zůstává v historii.
  • OK ve všech šesti neznamená, že je prototyp bezpečný. Prompt najde část problémů, ne všechny. Znamená jen, že základy jsou na místě.
  • Zpevnit, nebo přepsat? Když víte, co opravit, test prototypu vám řekne, jestli opravy stačí.

3. Co vám kontrola našla

Zaškrtněte oblasti, kde agent napsal PROBLÉM nebo NEVÍM.

Další nástroje pro vás

Zpevnit, nebo přepsat? Test prototypu za 5 minut

12 otázek o datech, nasazení, testech a kódu. Verdikt: zpevnit, opravit nejslabší oblast, nebo přepsat jádro.

Z prototypu do produkce: 25 bodů před spuštěním

Přihlášení, data, nasazení a vlastnictví: co zkontrolovat, než aplikaci pustíte lidem.

Časté otázky

Co je RLS a proč na něm záleží?
Row Level Security je pravidlo v databázi, které pustí uživatele jen k jeho vlastním řádkům. Když aplikace volá databázi přímo z prohlížeče, například u Supabase, bez RLS může kdokoli s veřejným klíčem číst i cizí data.
Nahradí tento prompt bezpečnostní audit?
Ne. Agent vidí jen kód v repozitáři, ne nastavení hostingu, databáze a účtů, a může se mýlit. Prompt je první kolo, které ukáže největší díry. Výsledek OK neznamená, že je prototyp bezpečný.
Může agent při kontrole něco pokazit?
Prompt mu zakazuje měnit soubory, spouštět zapisující příkazy a připojovat se k produkci. I tak ho spouštějte v režimu, kde příkazy potvrzujete, a ne na počítači s přístupem k produkční databázi.
Co dělat, když agent najde klíč v kódu?
Klíč vyměňte u poskytovatele a nový dejte do proměnných prostředí mimo repozitář. Smazat ho z kódu nestačí, v git historii zůstává.

Máte kritický nález?

Další krok je audit prototypu: senior projde kód, nastavení i účty.