PowerShell के $HOME variable conflict की वजह से gpt-5.6-sol यूज़र की home directory लगभग मिटा ही देता
(gist.github.com/xamong)Codex में नवीनतम flagship model gpt-5.6-sol इस्तेमाल करते समय, मैं अभी-अभी हुई एक गंभीर Safety Incident साझा करना चाहता हूं। Sol model ने agent workflow और tool execution benchmark में अविश्वसनीय रूप से शानदार प्रदर्शन दिखाया है, फिर भी shell environment isolation की साधारण कमी की वजह से यह लगभग एक बड़ी तबाही में बदल सकता था।
घटना कैसे हुई:
Agent debugging task के लिए एक temporary baseline directory सेट करने की कोशिश कर रहा था। इसके लिए agent ने $home नाम का local variable initialize करने वाला PowerShell script block बनाया और चलाया।
$home = Join-Path $env:TEMP 'temporary-build-folder'
if (Test-Path -LiteralPath $home) { Remove-Item -LiteralPath $home -Recurse -Force }
Bug का कारण:
PowerShell में $HOME एक default built-in automatic variable है, जो सीधे current user की profile directory (जैसे C:\Users\<username>) को point करता है।
समस्या यह है कि PowerShell case-insensitive है। इसी वजह से agent द्वारा dynamically declare किया गया lowercase $home variable global $HOME scope से conflict कर गया। जब script Remove-Item line तक पहुंची, तो यह path temporary folder नहीं बल्कि मेरी असली user root directory के रूप में evaluate हो गया।
नतीजतन gpt-5.6-sol ने यह command execute की:
Remove-Item -LiteralPath 'C:\Users<username>' -Recurse -Force
नुकसान की स्थिति:
सौभाग्य से, उस समय active files पर system lock होने के कारण command चलते समय WriteError: Directory is not empty error देकर रुक गई, और पूरी directory delete होने जैसी भयावह घटना टल गई। लेकिन agent ने तुरंत अपनी गलती detect की, काम abort किया और self-audit किया। जांच में पता चला कि कुछ settings files और dotfiles (.ssh, .config, .npm) पहले ही modify हो चुके थे या गायब हो गए थे।
सीख:
gpt-5.6-sol long-horizon tasks करने में आश्चर्यजनक रूप से persistent और capable है। लेकिन जब हम ऐसे advanced reasoning models को host terminal तक direct access देते हैं, तो PowerShell जैसे shell में case-insensitivity और variable scope mechanisms एक बहुत बड़ा risk vector बन जाते हैं।
अगर आप नए GPT-5.6 family का इस्तेमाल करके CLI agents build या deploy करने की योजना बना रहे हैं, तो strict sandboxing और robust containerization अब optional नहीं, बल्कि बिल्कुल जरूरी हैं।
क्या आप में से किसी ने Sol या हाल के अन्य models का इस्तेमाल करते हुए इसी तरह की variable-shadowing या destructive tool-use behavior का अनुभव किया है?
उस समय की स्थिति का screenshot link: https://gist.github.com/xamong/e98478b333bb9951b175284f744eb0ed
2 टिप्पणियां
अच्छी बात है कि codex ने अपने आप privilege escalation नहीं किया।
खुद ही करना चाहिए