Drošība·2026-02-26·12 min lasīšana

Kad AI var izdzēst serveri — mūsu audits

BC
Brain Club

Mēs būvējam Brain Club — platformu, kur AI asistents var pārvaldīt jūsu domēnus, izvietot serverus, lasīt paroles, kontrolēt pārlūku un iesniegt GDPR ziņojumus. Visu caur dabīgo valodu. Bez paneļiem, bez klikšķināšanas pa izvēlnēm. Vienkārši pasaki Claude, ko tev vajag.

Izklausās lieliski? Tā arī ir. Izklausās biedējoši? Tam arī vajadzētu.

Pirms Brain Club atvēršanas publikai, mēs apsēdāmies un auditējām katru prasmi, ko mūsu AI var izsaukt. Ko mēs atradām — un izlabojām — ir ātrais kurss par to, kas notiek, kad tu dod AI reālu varu pār reālu infrastruktūru.


Problēma, par kuru neviens nerunā

Lietotājs "izdzēs vecos DNS" AI Nav "Vai tu esi drošs?" Nav pauzes. DNS zona DZĒSTA mysite.com — nav vairāk MX, A, CNAME — viss prom NEATGRIEZENISKI

Tradicionālā SaaS drošība ir labi saprotama: sanitizē ievadi, autentificē lietotājus, autorizē darbības. Bet AI rīki ievieš jaunu dimensiju: pats AI kļūst par lietotāju.

Kad cilvēks izmanto DNS pārvaldības paneli, viņš redz pogu "Dzēst", padomā un nospiež. Kad AI pārvalda DNS, tas saņem teksta instrukciju "iztīri vecos ierakstus" un sāk dzēst. Nav pauzes. Nav "Vai tu esi drošs?" dialoga.

Mūsu platformā ir 30+ prasmes:

  • Infrastruktūra — DNS zonas, domēnu reģistri, serveru izvietošana, datubāzu pārvaldība
  • Akreditācijas dati — paroļu glabātuve, API atslēgas, reģistru pieteikšanās
  • Pārlūka automatizācija — reāla Chrome vadība — navigēt, klikšķināt, rakstīt, ekrānuzņēmumi
  • Biznesa dati — GDPR, uzņēmumu reģistrs, juridiski dokumenti, CRM, rēķini
  • Komunikācija — e-pasts, SMS, sociālie mediji

Ko mēs atradām (un izlabojām)

1. Izvietošanas prasme bija vienu komandu no publiski pieejamas

Problēma: Mūsu deploy prasme — tā, kas caur SSH pieslēdzas produkcijas serveriem, maina Docker konteinerus un atgriež neveiksmīgas izvietošanas — bija reģistrēta kā user-invocable: true. Jebkurš lietotājs potenciāli varēja pateikt "deploy ccstudio.com" un aktivizēt produkcijas izvietošanu.

Risinājums — trīs aizsardzības slāņi:

  • user-invocable: false — noņem to no publiskajām komandām pilnībā
  • require_superadmin() — izpildlaika lomu pārbaude pirms jebkuras operācijas
  • validate_server_name() — regex izpilde ([a-zA-Z0-9._-]), lai novērstu shell injekciju caur servera nosaukumiem
PIRMS Lietotājs → "deploy ccstudio.com" → AI → SSH → Produkcija ✗ TAGAD 1. slānis Prasme nav redzama 2. slānis Superadmin pārbaude 3. slānis Ievada validācija

Mācība: AI sistēmā pirmais jautājums ir "kurš var izsaukt šo?" — nevis "vai API ir autentificēts?". Tā ir otrā kārta. Pirmā kārta: vai AI vispār redz šo rīku?

2. Pārlūka automatizācija ierakstīja visu

Problēma: Mūsu browser pilot kontrolē lietotāja reālo Chrome pārlūku — ar viņu sīkdatnēm, sesijām un IP adresi. Katra komanda tika ierakstīta ar pilniem URL. Ieskaitot valdības portālus ar sesiju tokeniem un banku URL ar autentifikācijas parametriem.
SANITIZĀCIJAS PLŪSMA Ienākošais URL eds.gov.lv?session=abc Domēna pārbaude *.gov.lv → sensitīvs Ierakstīts eds.gov.lv [REDACTED] Ienākošais URL google.com/search?q=hi Domēna pārbaude google.com → ok Ierakstīts google.com/search?q=hi + parametru sanitizācija: token, key, auth, secret, password, csrf, otp

Risinājums — daudzslāņu privātuma sistēma:

  • Sensitīvu domēnu noteikšana — iebūvēts saraksts (*.gov.lv, *.bank.lv, swedbank.lv u.c.)
  • URL sanitizācijasanitizeUrl() noņem sensitīvos parametrus pirms ierakstīšanas
  • Selektīva ierakstīšana — sensitīviem domēniem ieraksta tikai domēna vārdu
  • Ekrānuzņēmumu bloķēšana — nav automātisku ekrānuzņēmumu valdības un banku portālos
  • Token hešēšana — ierīces atslēga tagad glabāta kā SHA-256 heš

Mācība: Kad AI automatizē pārlūku, tas redz visu, ko redz lietotājs. Jūsu ierakstīšanas sistēmai jābūt gudrākai par "ieraksti visu".

3. DNS operācijām nebija drošības tīkla

Problēma: Trīs CLI skripti pārvalda DNS caur trim provideriem. Destruktīvas operācijas — zonu dzēšana, ierakstu dzēšana — izpildījās nekavējoties bez apstiprinājuma. AI pārpratums "iztīri DNS" varēja izdzēst visu produkcijas zonu.

Risinājums — divu soļu protokols:

{
  "needs_confirmation": true,
  "action": "delete-zone",
  "domain": "mysite.com",
  "warning": "NEATGRIEZENISKI: Izdzēsīs visu zonu un VISUS DNS ierakstus.",
  "hint": "Palaidiet to pašu komandu ar --confirm, lai izpildītu."
}

Bez --confirm destruktīvās komandas parāda, ko tās darītu — un apstājas. AI to redz, pastāsta lietotājam, un tikai pēc skaidra apstiprinājuma palaiž ar --confirm.

Mācība: AI rīkiem vajag tos pašus drošības modeļus, kas cilvēkiem, tikai izteiktus citādi. Cilvēki redz dialoglogu. AI rīki saņem divu soļu protokolu: priekšskats → apstiprināt.

4. Akreditācijas dati ceļoja caur CLI

PIRMS — parole ceļo caur visu Glabātuve CLI stdout HTTP body API serveris Pakalpojums TAGAD — parole paliek serverī CLI: "izmanto niclv" Nav paroļu API serveris + Glabātuve Parole nekad nepamet serveri Ārējais pakalpojums Drošs savienojums

Risinājums — servera puses akreditācijas datu risinātājs. Viens galapunkts (/api/gateway/credentials/resolve) atrisina jebkuras prasmes akreditācijas datus no glabātuves, un CLI tos nekad neredz. Visi 12 API maršruti tagad automātiski atrisina no glabātuves.

Mācība: AI nav jāredz parole — tam ir jāzina tikai tas, ka operācija izdevās.

5. Iekšējā tīkla topoloģija bija redzama

Problēma: Vairākas prasmes atsaucās uz iekšējām Tailscale IP adresēm (100.x.x.x) savā dokumentācijā un kļūdu ziņojumos. Šīs adreses atklāj iekšējo tīkla topoloģiju, serveru nosaukumus un VPN adresācijas shēmu.

Risinājums — sistemātiska aizstāšana visās prasmēs:

  • 100.79.104.14mail.ccstudio.com
  • 100.71.213.19ccs-data
  • 100.74.224.111ccs-app
  • 100.81.36.111ccs-deploy

Mācība: Katrs teksts katrā prasmes failā ir potenciāli redzams lietotājiem caur AI. SKILL.md faili nav iekšēja dokumentācija — tie ir daļa no uzbrukuma virsmas.


Modeļi, kas parādījās

Pēc 11 prasmju nostiprināšanas caur ~30 CLI skriptiem, parādījās skaidri modeļi:

1. Divu fāžu izpilde Priekšskats → Lietotāja apstiprinājums → Izpilde AI ekvivalents "ieraksti resursa nosaukumu, lai apstiprinātu" 2. Akreditāciju izolācija Paroles nekad neiziet caur AI AI saka "dari" → serveris atrod paroli pats 3. Konteksta privātums Ne visi dati ir vienādi google.com = OK, eds.gov.lv?session=x = REDACTED 4. Kešatmiņas validācija Pirms modificēšanas — pārliecinies, ka resurss eksistē Lokāla keša "mani domēni" uztver drukas kļūdas 5. Skaidras lomu robežas Daži rīki nekad nedrīkst būt redzami user-invocable: false + izpildlaika lomu pārbaude 🛡 AIZSARDZĪBA PA SLĀŅIEM

Audita statuss

StatussPrasmeKas tika darīts
✓ GATAVSDeployTikai superadmin, ievada validācija, nav hardcoded IP
✓ GATAVSBrowser PilotURL sanitizācija, sensitīvi domēni, token hešēšana
✓ GATAVSDNS / NIC.lv / NamecheapApstiprināšanas protokols, domēnu validācija, 2FA bloķēšana
✓ GATAVSVisi (cross-cutting)Iekšējo IP noņemšana no visas izvades
✓ GATAVSCredential resolverServera puses akreditāciju atrisināšana
○ GAIDADatabasesParoļu maskēšana, --show-password karogs
○ GAIDAPasswordsTTY-only galvenā parole, cross-venture ierobežojumi
○ GAIDACustom DBĀtruma ierobežojumi, API atslēgu hešēšana
○ GAIDAEmail AdminAuto-vault paroles, hostname-only izvade
○ GAIDAGDPRŠifrēšana miera stāvoklī, lomu piekļuve

Lielāka aina

Mēs ienākam ērā, kur AI ne tikai atbild uz jautājumiem — tas veic darbības. Tas izvieto kodu. Tas pārvalda DNS. Tas lasa paroles. Tas kontrolē pārlūkus.

Drošības modelis šai pasaulei nav tikai "autentificē API izsaukumu." Tas ir:

  1. Vai AI vispār redz šo rīku? (Prasmes redzamība)
  2. Vai šim lietotājam vajadzētu būt atļautam to izmantot? (Lomu piekļuve)
  3. Vai AI saprot, ko tas gatavojas darīt? (Priekšskats/apstiprināšana)
  4. Vai akreditācijas dati ir redzami AI? (Akreditāciju izolācija)
  5. Vai AI ieraksta lietas, ko tam nevajadzētu? (Konteksta privātums)
  6. Kas notiek, ja AI kļūdās? (Validācija, atcelšana, audita celiņi)

Katra platforma, kas dod AI piekļuvi reāliem rīkiem, būs jāatbild uz šiem jautājumiem. Mēs to izdomājam, kamēr būvējam — un dalāmies ar to, ko iemācāmies.

Šis audits tika veikts 2026. gada 26. februārī kā daļa no Brain Club pirms-palaišanas drošības pārskatīšanas. Pilns iekšējais audita dokuments izseko 11 prasmes caur 4 prioritāšu līmeņiem ar 40+ individuāliem drošības kontrolpunktiem.

securityaiauditinfrastructureskills