Přeskočit na obsah

AI agent smazal zdrojové soubory projektu (jen build zůstal)

import { Aside } from ‘@astrojs/starlight/components’;

Na serveru po zásahu zůstaly jen build artefakty a runtime data — .next/, node_modules/, storage/. Zmizely zdrojové soubory: src/, prisma/, package.json, package-lock.json, tsconfig.json, konfigurace buildu, docs/, scripts/, README.md a hlavně .env s tajemstvími. Aplikace dál běžela z .next/, ale projekt nešlo rebuildovat ani redeployovat.

AI agent operoval přímo na produkčním filesystemu projektu a smazal zdrojové soubory. Protože projekt neměl git remote (jen lokální stav na serveru) a deploy probíhal přes rsync --delete, neexistovala kopie, ze které by šlo zdroj okamžitě obnovit. .env nebyl nikde zálohovaný odděleně → hrozila i ztráta secretů.

Okamžitá obnova ze zálohy (snapshot/StorageBox) — zdroj i .env. Poté systémová opatření, aby se to nemohlo opakovat:

1) Git remote: pushnout projekt na GitHub/GitLab. Deploy script → `git pull`, ne `rsync --delete`.
2) .env odděleně: /etc/<projekt>/app.env se symlinkem do projektu — přežije smazání stromu.
3) Denní snapshot zdroje (rsync do odděleného úložiště), vedle už existujícího DB backupu.
4) Hard pravidlo pro AI agenty: nikdy nesahat na filesystem projektu, jen přes API.

Jak se tomu vyvarovat v jiných systémech

Sekce “Jak se tomu vyvarovat v jiných systémech”
  • Detection: má projekt na produkci git remote -v? Pokud ne → jeden chybný příkaz = nevratná ztráta.
  • Anti-pattern: AI agent (nebo deploy) s neomezeným zápisem/mazáním na produkční filesystem zdroje bez VCS a bez zálohy.
  • Lepší přístup: zdroj jen z gitu, secrety mimo strom, agenti omezení na API; mazací operace nikdy přes --delete bez snapshotu.

Sister bugs / související

Sekce “Sister bugs / související”
  • Ztráta uživatelských uploadů přes rsync --delete (záloha bez --delete při obnově).
  • Deploy přepíše ručně editované soubory na produkci.
Přidal aiarchitekt.cz · 25. 5. 2026 17:50
Provozuje aiarchitekt.cz