1 पॉइंट द्वारा GN⁺ 2024-08-21 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Slack AI के ज़रिए indirect prompt injection से डेटा लीक

  • यह भेद्यता हमलावर को वह सारा डेटा चुराने में सक्षम बनाती है जिसे उपयोगकर्ता private Slack channels में डालते हैं
  • हमलावर Slack AI के माध्यम से private channels से डेटा बाहर निकाल सकता है
  • Slack AI एक ऐसा फीचर है जो natural language में Slack messages को query करने देता है
  • 14 अगस्त के बाद Slack ने uploaded documents, Google Drive files आदि को भी collect करना शुरू किया, जिससे risk surface बढ़ गया
1. भेद्यता
  • prompt injection: LLM डेवलपर द्वारा बनाए गए "system prompt" और query में जोड़े गए बाकी context के बीच फर्क नहीं कर पाता
  • indirect prompt injection: malicious commands वाला message Slack AI को उपयोगकर्ता की query के बजाय उन commands का पालन करने की अधिक संभावना देता है
  • Slack के अंदरूनी threat पहले से ही समस्या थे, और अब हमलावर private channels या डेटा तक पहुंच के बिना भी डेटा exfiltrate कर सकते हैं
2. डेटा exfiltration attack chain: public channel injection
  • Slack में उपयोगकर्ता की query public और private channels के डेटा को खोजती है
  • हमलावर private channel में मौजूद API key को exfiltrate कर सकता है
  • attack chain:
    • A) उपयोगकर्ता अपनी private channel में API key डालता है
    • B) हमलावर public channel में malicious command डालता है
    • C) उपयोगकर्ता Slack AI से API key के बारे में query करता है, और हमलावर का message उसी "context window" में शामिल हो जाता है
    • D) Slack AI हमलावर के command का पालन करता है और उपयोगकर्ता को link पर click करने के लिए उकसाता है
    • E) उपयोगकर्ता link पर click करता है और API key लीक हो जाती है
3. phishing attack chain: public channel injection
  • डेटा exfiltration के बजाय phishing link render किया जाता है
  • attack chain:
    • A) हमलावर public channel में malicious message डालता है
    • B) उपयोगकर्ता किसी खास उपयोगकर्ता के messages को summarize करने के लिए query करता है
    • C) phishing link Markdown के रूप में render हो जाता है
4. 14 अगस्त के Slack AI बदलाव का मतलब: file injection
  • Slack AI को channels और DM में files शामिल करने के लिए बदला गया
  • attack surface काफी बढ़ गया
  • malicious commands वाला PDF file download करके Slack पर upload किया जाए तो वही attack chain हो सकती है
  • administrators को Slack AI की document collection feature को सीमित करना चाहिए
5. संदर्भ में समझना
  • ऐसे हमले Microsoft Copilot, Google Bard जैसी कई applications में भी संभव हैं
  • responsible disclosure timeline:
    • 14 अगस्त: प्रारंभिक खुलासा
    • 15 अगस्त: अतिरिक्त जानकारी का अनुरोध
    • 15 अगस्त: अतिरिक्त video और screenshots प्रदान किए गए
    • 16 अगस्त: अतिरिक्त प्रश्न
    • 16 अगस्त: स्पष्ट उत्तर दिया गया
    • 19 अगस्त: Slack ने माना कि सबूत पर्याप्त नहीं हैं

GN⁺ का सार

  • Slack AI की indirect prompt injection भेद्यता private channels के डेटा को exfiltrate कर सकने वाली गंभीर समस्या है
  • हमलावर private channels तक पहुंच के बिना भी डेटा exfiltrate कर सकता है
  • Slack AI की feature changes के कारण attack surface काफी बढ़ गया है
  • उपयोगकर्ताओं को risk कम करने के लिए Slack AI की document collection feature को सीमित करना चाहिए
  • इसी तरह की features वाली applications में Microsoft Copilot, Google Bard आदि शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-08-21
Hacker News राय
  • "confetti" API key को domain name के हिस्से के रूप में डालना बेहतर लग सकता है

    • ऐसा करने पर browser के DNS prefetching की वजह से बिना क्लिक के भी key लीक हो सकती है
  • इस हमले का मुख्य बिंदु data exfiltration vector को समझना है

    • Slack, Markdown links render कर सकता है जहाँ URL link text के पीछे छिपा होता है
    • हमलावर, Slack AI को बहकाकर यूज़र से "पुनः-प्रमाणीकरण के लिए यहाँ क्लिक करें" जैसी link पर क्लिक करा देता है
    • यह link हमलावर के server से जुड़ती है, और query string में वह निजी जानकारी शामिल होती है जिसे Slack AI access कर सकता है
    • यूज़र के link क्लिक करते ही data हमलावर के server logs में लीक हो जाता है
  • channel permissions पर चर्चा बात को बेवजह जटिल बनाती है

    • यूज़र A, Slack AI का उपयोग करके search करता है
    • यूज़र B पहले AI को malicious link लौटाने के लिए message inject कर चुका होता है
    • AI, यूज़र A को malicious link लौटाता है, और यूज़र उसे क्लिक कर देता है
    • दूसरे social engineering vectors इस्तेमाल करके भी वही नतीजा मिल सकता है, लेकिन LLMs इस अनुभव को और बढ़ा देते हैं
  • कंपनियों का LLMs को हर चीज़ पर अंधाधुंध लागू करना पागलपन है

    • GPT-3 के बाद लगभग 2 साल बीत चुके हैं, फिर भी trusted input और untrusted input में फर्क नहीं कर पाते
  • हमले के काम करने के लिए पीड़ित का public channel में होना ज़रूरी नहीं है

    • उद्धरण हमलावर के channel को संदर्भित नहीं करता, बल्कि सिर्फ उस private channel को संदर्भित करता है जहाँ यूज़र ने API key डाली थी
    • यह उस सही citation behavior का उल्लंघन करता है जिसमें सभी contribution messages को quote किया जाना चाहिए
    • समझ नहीं आता कि कोई LLM citation के accurate होने की उम्मीद क्यों करता है
    • citation ऐसा लगता है जैसे इंसानों को धोखा देकर output को ज़्यादा accurate मानने पर मजबूर करने वाला human hack हो
    • अगर AI response में link expansion जोड़ दिया जाए, तो बिना क्लिक के भी अपने-आप लीक हो सकता है
  • इसी तरह की setup को CTF challenges में explore किया गया है

    • link-enabled chat feed में post करने वाले सभी LLM apps vulnerable हैं
    • link preview को ध्यान में रखें तो human interaction की भी ज़रूरत नहीं पड़ती
  • लेख अपने title के अनुरूप नहीं है

    • "AI को social engineering से manipulate करके यूज़र्स को phish किया जा सकता है" यह विचार दिलचस्प है
  • artificial intelligence बदलती रहती है, लेकिन इंसानी मूर्खता नहीं बदलती

  • AI agents को dedicated authentication देना बंद करना चाहिए

    • हर काम में call करने वाले user का authentication इस्तेमाल करना चाहिए और प्रभावी रूप से उसी का प्रतिरूपण करना चाहिए
    • समस्या leaked context नहीं, बल्कि over-privileged extension है
  • यह बहुत शानदार attack vector है

    • LLM context के ज़रिए data exfiltration के कई तरीके हैं