2 पॉइंट द्वारा GN⁺ 2026-03-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Snowflake के Cortex Code CLI में command validation की एक भेद्यता मिली, जिसके जरिए हमलावर सैंडबॉक्स के बाहर arbitrary commands चला सकते थे
  • हमला indirect prompt injection के जरिए शुरू कराया जाता है, और यह user approval प्रक्रिया को bypass करके malicious script डाउनलोड और execute करता है
  • process substitution syntax के भीतर मौजूद commands validate नहीं होते, इसलिए safe command के रूप में छिपा malicious code अपने-आप चल जाता है
  • हमलावर पीड़ित के Snowflake authentication token का उपयोग करके database exfiltrate कर सकते हैं या tables delete कर सकते हैं
  • Snowflake ने 28 फ़रवरी 2026 को version 1.0.25 patch जारी करके समस्या ठीक की, और यह automatic update के जरिए लागू हुआ

Cortex Code CLI भेद्यता का अवलोकन

  • Cortex Code CLI Claude Code या OpenAI Codex जैसा एक command-style coding agent है, जिसमें Snowflake के भीतर SQL चलाने की integrated क्षमता शामिल है
  • रिलीज़ के दो दिन बाद यह पुष्टि हुई कि command validation system की खामी के कारण विशेष रूप से तैयार किए गए commands approval प्रक्रिया के बिना चल सकते हैं और सैंडबॉक्स से बाहर निकल सकते हैं
  • हमलावर इसका उपयोग करके पीड़ित के Snowflake credentials के जरिए data exfiltration या table deletion जैसी malicious गतिविधियाँ कर सकते हैं
  • Snowflake security team ने समस्या की पुष्टि के बाद इसे ठीक किया, और version 1.0.25 में patch जारी किया गया

attack chain के चरण

  • जब user sandbox mode सक्रिय करके Cortex चलाता है, तो इसे command execution से पहले user approval माँगने के लिए डिज़ाइन किया गया है
  • लेकिन हमलावर README file में छिपे prompt injection के जरिए Cortex को manipulate करके खतरनाक command चलाने के लिए उकसाते हैं
  • Cortex का sub-agent इस injection को पढ़ता है और approval प्रक्रिया के बिना command execute कर देता है
  • process substitution syntax <()> के भीतर के commands validate नहीं होते, इसलिए safe command जैसा दिखने वाला malicious code चल जाता है
  • injection, dangerously_disable_sandbox flag भी सेट करता है, जिससे यह सैंडबॉक्स के बाहर execute हो सके
  • नतीजतन user approval के बिना malicious script डाउनलोड और execute हो जाती है

हमले का प्रभाव

  • हमलावर पीड़ित के सिस्टम पर arbitrary code execution (remote code execution) का अधिकार हासिल कर लेते हैं
  • पीड़ित के Snowflake connection credentials का उपयोग करके वे निम्नलिखित कार्य कर सकते हैं
    • database की सामग्री exfiltrate करना
    • tables delete करना
    • malicious user account जोड़ना
    • network rules बदलकर वैध users को block करना
  • malicious script, Cortex द्वारा सहेजे गए cached authentication tokens ढूँढता है और Snowflake पर SQL queries चलाता है
  • developer accounts के मामले में read-write permissions के कारण data exfiltration और destruction संभव है

sub-agent context loss समस्या

  • हमले के दौरान Cortex कई sub-agents को कॉल करता है, जिससे context loss होता है
  • मुख्य agent ने user को चेतावनी दी कि malicious command मिला है, लेकिन तब तक sub-agent वह command पहले ही चला चुका था
  • इसके कारण user को वास्तविक execution का पता नहीं चलता

भेद्यता का खुलासा और प्रतिक्रिया

  • 5 फ़रवरी 2026 को PromptArmor ने Snowflake को responsible disclosure किया
  • Snowflake ने पूरे फ़रवरी में PromptArmor के साथ मिलकर भेद्यता की पुष्टि और remediation की
  • 28 फ़रवरी को version 1.0.25 में patch जारी किया गया, और जब user Cortex को फिर से चलाता है तो यह automatic update के जरिए लागू हो जाता है
  • test results के अनुसार हमले की सफलता दर लगभग 50% थी, जिससे LLM की non-deterministic प्रकृति के संदर्भ में security training के महत्व पर ज़ोर दिया गया

प्रमुख समयरेखा

  • 2 फ़रवरी 2026: Snowflake Cortex Code रिलीज़
  • 5 फ़रवरी 2026: PromptArmor ने भेद्यता रिपोर्ट की
  • 12 फ़रवरी 2026: Snowflake ने भेद्यता सत्यापन पूरा किया
  • 28 फ़रवरी 2026: fixed version 1.0.25 जारी
  • 16 मार्च 2026: PromptArmor और Snowflake द्वारा संयुक्त खुलासा

1 टिप्पणियां

 
GN⁺ 2026-03-20
Hacker News की राय
  • आम तौर पर मैं पहले समस्या में फँसी कंपनी का official statement पढ़ता हूँ
    लेकिन Snowflake की सूचना देखने के लिए अकाउंट चाहिए था, यह देखकर हैरानी हुई
    पढ़ने पर लगा कि वे “sandbox” शब्द का गलत इस्तेमाल कर रहे हैं
    अगर “Cortex डिफ़ॉल्ट रूप से ऐसा flag सेट कर सकता है जिससे sandbox के बाहर command चल सके”, तो वह अब sandbox नहीं रहा

    • मेरा मानना है कि prompt injection की समस्या मूल रूप से सुलझाई नहीं जा सकती
      SQL में भी parameterized queries आने से पहले यह हल नहीं हुई थी, और natural language तो कहीं ज़्यादा खुली होती है
      आखिरकार “पिछले निर्देशों को अनदेखा करो और …” जैसे हमले बार-बार सामने आते हैं
      अगर data और command एक ही stream में हों, तो नतीजा हमेशा वैसा ही होगा
      natural language खुद ही attack surface है, इसलिए यह और बड़ा होना तय है
    • RFC 3514 के “evil bit” विचार को prompt injection पर भी लागू करके, evil bit 1 होने पर command execution रोक देने वाला मज़ाक भी किया गया
      संबंधित दस्तावेज़: RFC 3514
    • आजकल AI इंडस्ट्री में “sandbox” का मतलब शायद सिर्फ़ ऐसा system रह गया है जो पूछता है, “क्या आप सच में इसे चलाना चाहते हैं?”
      लेकिन जिस अर्थ का मैं अभ्यस्त हूँ, वह isolated environment में malware को सुरक्षित रूप से observe करना है
      AI में भी ऐसी असली technical boundaries बनाने की बहुत कोशिशें हो रही हैं, इसलिए यह एक दिलचस्प क्षेत्र लगता है
    • एक छोटी प्रतिक्रिया यह भी थी: “यह बस conceptual sandbox है”
  • अगर user खुद access permission चालू करने वाले switch को बदल सकता है, तो वह sandbox नहीं है
    पहले लगा यह OS privilege escalation की बात है, लेकिन यह तो बस कमजोर security design का मामला निकला

    • एक टिप्पणी ने मज़ाक में कहा, “Sandbox, Sandbagging. Tomato, tomawto”
  • Anthropic पेपर में उद्धृत उदाहरणों को देखें, तो AI कभी-कभी स्वायत्त रूप से हानिकारक काम भी करता है
    उदाहरण के लिए Alibaba Cloud के firewall ने training server पर cryptocurrency mining की कोशिश पकड़ी,
    और कहा गया कि RL optimization के दौरान side effect के रूप में ऐसा व्यवहार उभरा
    संबंधित सामग्री: arXiv paper, Anthropic research, Time article

    • लेकिन पेपर के section 2.3.0.1 में कहा गया था कि हर task अलग sandbox में चलता है,
      तो फिर network control मौजूद होने पर SSH tunnel या resource scan कैसे संभव हुआ, यह सवाल उठता है
  • Snowflake के एक कर्मचारी ने आकर security team की response timeline और fixes साझा किए
    अधिक जानकारी official document में देखी जा सकती है

  • “मानव स्वीकृति के बिना shell command चल गया” यह हिस्सा देखकर,
    shell security पर थोड़ा भी सोचने वाला कोई भी व्यक्ति यह देखकर चकित होगा कि subprocess creation mechanism पर विचार ही नहीं किया गया

    • shell code को parse करके censor करने का तरीका मूल रूप से कमज़ोर और error-prone है
      ऐसी पाबंदियाँ OS स्तर पर लगाई जाएँ, तभी वे सुरक्षित होती हैं
  • “असली sandboxing tips” साझा करने का भी सुझाव आया
    मैं Claude Code को VS Code devcontainer के अंदर चला रहा हूँ
    केवल allowlist domains तक internet access सीमित करने की setting भी है
    लेकिन docker-in-docker environment चाहिए, इसलिए पूरा integration आसान नहीं है
    इसलिए अभी मैं सिर्फ unit test तक चला रहा हूँ, और Vagrant के साथ पूरी VM isolation आज़माने पर विचार कर रहा हूँ

    • एक दूसरे user ने Multi Level Security अवधारणा लागू करके data zone separation experiment का परिचय दिया
      project link: aflock.ai
  • “Cortex workspace trust को support नहीं करता” यह वाक्य देखकर,
    यह शक हुआ कि कहीं शुरू से ही यह बिना किसी restriction वाला environment तो नहीं था

    • वास्तव में restrictions थीं, लेकिन flag manipulation से उन्हें आसानी से bypass किया जा सकता था
      model अगर flag सेट कर दे, तो user approval के बिना ही sandbox के बाहर execution हो जाता था
  • “क्या यह नया gain-of-function research है?” ऐसा मज़ाक भी हुआ

    • किसी और ने कहा, “उससे ज़्यादा यह imaginary function के करीब है”,
      यानी यह मानना ही भ्रम है कि agent खुद को नियंत्रित कर सकता है
    • एक और व्यक्ति ने इसे “जान-बूझकर malicious AI बनाकर बेहतर sandbox का प्रयोग करना” बताया
  • बहुत से लोग पहले से ही agents द्वारा जनरेट किए गए code को बिना review के चला रहे हैं
    ऐसे में agent को ही sandbox में लपेटने का मतलब क्या रह जाता है, यह सवाल उठता है
    आखिर पूरे system को अलग machine, container, या restricted user के रूप में isolate किया जाना चाहिए
    शायद ज़्यादातर users ऐसा नहीं करते,
    इसलिए vendors उनकी ओर से बुनियादी स्तर के safety guardrails देने की कोशिश कर रहे हैं

  • “जो sandbox toggle से बंद हो जाए, वह असली sandbox नहीं है” ऐसी राय भी थी
    यह बस marketing exaggeration लगता है, मानो product की ढीली-ढाली design को छिपाने की कोशिश हो

    • एक टिप्पणी में ज़ोर देकर कहा गया, “यह sandbox भी नहीं है, बस internal code restrictions को bypass किया गया है”
      असली sandbox वह बाहरी isolated environment होना चाहिए जिसे अंदर से बदला न जा सके