ఒక AI-జనరేటెడ్ క్రోన్ జాబ్ (cron job) ఒక స్టార్టప్లోని ప్రతి యాక్టివ్ Stripe సబ్స్క్రిప్షన్ను పది సెకన్ల కంటే తక్కువ సమయంలో డిలీట్ చేసింది, దీనివల్ల కంపెనీ నెలవారీ పునరావృత ఆదాయం (MRR) $38కి పడిపోయింది. ఈ సంఘటన వల్ల ప్రమాదం కోడ్ రాసిన లాంగ్వేజ్ మోడల్లో లేదు, అది డిప్లాయ్మెంట్ పైప్లైన్లో ఉందని అర్థమవుతోంది.
ఏం జరిగింది
గత వారం BridgeMindAI బృందం నిద్రలేచి చూసేసరికి, డ్యాష్బోర్డ్లో నెలవారీ పునరావృత ఆదాయం (MRR) కేవలం $38 మాత్రమే కనిపిస్తోంది. ఒక AI మోడల్ ఒకే ఒక లైన్ కోడ్ను రూపొందించింది, దానిని షెడ్యూలర్ ఆటోమేటిక్గా రన్ చేసింది. ఆ లైన్ ప్రతి కస్టమర్ రికార్డు కోసం Stripe యొక్క subscription-cancellation endpointను పిలిచింది. ఆ కాల్ ఏడు సెకన్లలో పూర్తయి కస్టమర్ బేస్ను పూర్తిగా తుడిచివేసింది.
ఆ స్క్రిప్ట్ ఖాళీగా ఉన్న డిలీషన్ క్యూను (deletion queue) అన్నింటినీ డిలీట్ చేయాలనే సంకేతంగా తప్పుగా అర్థం చేసుకుంది. జనరేటివ్ AI రాకముందే, అంటే 1980ల నుండి ప్రొడక్షన్ కోడ్లో ఈ “empty = all” ప్యాటర్న్ ఉంది.
మోడల్ నేరస్తుడు ఎందుకు కాదు
AI మోడల్ నమ్మదగినది కాదని ప్రజలు వెంటనే నిందించారు. కానీ మోడల్ను మార్చినా ఈ డేటా తుడిచివేతను ఆపలేకపోయేది, ఎందుకంటే లోపం అనేది హాలూసినేషన్ (hallucination) లేదా బయాస్ (bias) వల్ల కాదు, మనుషులు రాసిన లాజిక్ వల్ల జరిగింది.
అసలైన వైఫల్యాలు ఆర్కిటెక్చరల్ (architectural) పరంగా ఉన్నాయి:
- సబ్స్క్రిప్షన్లను రద్దు చేయగల లైవ్ ప్రొడక్షన్ Stripe API కీని ఆ స్క్రిప్ట్ నిల్వ చేసింది.
- అది ఎటువంటి రన్టైమ్ పర్యవేక్షణ (runtime supervision) లేకుండా రన్ అయ్యింది.
- కోడ్ జనరేషన్ మరియు ఎగ్జిక్యూషన్ మధ్య ఎటువంటి హ్యూమన్ చెక్పాయింట్ (human checkpoint) లేదు.
ఈ లోపాల వల్ల ఒకే ఒక్క బగ్ సెకన్లలో ఆదాయ మార్గాన్ని నాశనం చేసింది.
ఏ స్వయంప్రతిపత్త పైప్లైన్ (autonomous pipeline) కైనా అడగాల్సిన మూడు భద్రతా ప్రశ్నలు
ఏ ఆపరేషన్లు తిరుగులేనివి (irreversible)? సబ్స్క్రిప్షన్ను రద్దు చేయడం, రికార్డును డిలీట్ చేయడం లేదా రీఫండ్ ఇవ్వడం వంటివి తిరిగి చేయలేము. వీటికి రీడ్-ఓన్లీ (read-only) క్వెరీల కంటే ఎక్కువ రక్షణ అవసరం.
ఏజెంట్ వద్ద ఏ క్రెడెన్షియల్స్ (credentials) ఉన్నాయి? ఒక స్వయంప్రతిపత్త ప్రక్రియకు మాస్టర్ Stripe కీని ఇవ్వడం అంటే అపరిమితమైన అధికారాన్ని ఇవ్వడమే. 'లీస్ట్-ప్రివిలేజ్' (least-privilege) సూత్రాన్ని పాటించండి: కేవలం అవసరమైన పనిని మాత్రమే చేయగల స్కోప్డ్ కీలను (scoped keys) ఉపయోగించండి.
హ్యూమన్ చెక్పాయింట్ ఎక్కడ ఉంది? కేవలం కోడ్ రివ్యూ మాత్రమే సరిపోదు. కోడ్ జనరేషన్ తర్వాత మరియు ఏదైనా విధ్వంసక చర్య (destructive action) ముందు ఒక గేట్ను ఏర్పాటు చేయండి.
ఆచరణాత్మక భద్రతా నియమాలు
- డ్రై-రన్ గేట్ (Dry-run gate) – ఏదైనా డిలీట్ లేదా క్యాన్సిల్ కాల్ చేసే ముందు, ఉద్దేశించిన టార్గెట్లను లాగ్ (log) చేయండి. ఆ జాబితా ఖాళీగా ఉన్నా లేదా అసాధారణంగా పెద్దదిగా ఉన్నా, ఆ ప్రక్రియను నిలిపివేసి మనిషికి అలర్ట్ పంపండి.
- స్కోప్డ్ క్రెడెన్షియల్స్ (Scoped credentials) – డిఫాల్ట్గా రీడ్-ఓన్లీ కీలను ఉపయోగించండి. ఒక టాస్క్ సబ్స్క్రిప్షన్ను రద్దు చేయాల్సి వచ్చినప్పుడు, ఒకేసారి ఒక కస్టమర్ ID పై మాత్రమే పనిచేయగల పరిమిత కీని సృష్టించండి.
- హ్యూమన్-ఇన్-ది-లూప్ ప్రాంప్ట్ (Human-in-the-loop prompt) – Slack వంటి ఛానెల్కు “నేను 47 సబ్స్క్రిప్షన్లను రద్దు చేయబోతున్నాను. ధృవీకరించండి?” వంటి చిన్న సందేశాన్ని పంపండి. దీనికి అయ్యే ఖర్చు చాలా తక్కువ; భద్రత మాత్రం చాలా ఎక్కువ.
ఈ చర్యలు ఏ మోడల్ కోడ్ రాసినప్పటికీ పనిచేస్తాయి, ఎందుకంటే ఇవి జనరేటర్ను కాకుండా ఎగ్జిక్యూషన్ ఎన్విరాన్మెంట్ను (execution environment) రక్షిస్తాయి.
స్వయంప్రతిపత్త ఏజెంట్ల కోసం ప్రొడక్షన్ చెక్లిస్ట్
- ప్రతి ఆపరేషన్ను read, reversible, లేదా irreversible గా వర్గీకరించండి.
- అన్ని irreversible చర్యలకు స్పష్టమైన మానవ ఆమోదం (human approval) అవసరం.
- క్రెడెన్షియల్స్ను ఆ పనికి అవసరమైన కనిష్ట అనుమతులకు (minimum permissions) పరిమితం చేయండి.
- రికార్డులను డిలీట్ చేసే లేదా సవరించే లూప్లపై పరిమాణ పరిమితులను (size limits) విధించండి.
- ఏజెంట్లను మొదట ప్రొడక్షన్ డేటాను ప్రతిబింబించే సాండ్బాక్స్ (sandbox)లో రన్ చేయండి; లైవ్ డేటాను తాకకముందే ఫలితాన్ని ధృవీకరించండి.
- ఎగ్జిక్యూషన్ కంటే ముందు ఏజెంట్ యొక్క ప్రణాళికను సాధారణ భాషలో లాగ్ చేయండి, తద్వారా రివ్యూయర్ ఒక చూపులో ఉద్దేశాన్ని అర్థం చేసుకోగలరు.
ఈ చెక్లిస్ట్ను అనుసరించడం వల్ల “ఒక్కసారి రన్ చేసి మర్చిపోయే” స్క్రిప్ట్, తనిఖీ చేయగల మరియు ఏదైనా తప్పుగా అనిపిస్తే ఆపగల నియంత్రిత వర్క్ఫ్లోగా మారుతుంది.
పాఠం స్పష్టంగా ఉంది: ప్రక్రియను నమ్మండి, మోడల్ను కాదు.
