𝗟𝗟𝗠 𝗣𝗿𝗼𝗺𝗽𝘁 𝗜𝗻𝗷𝗲𝗰𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝗚𝘂𝗮𝗿𝗱𝗿𝗮𝗶𝗹 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆

LLMలకు సూచనలు (instructions) మరియు డేటా మధ్య కఠినమైన సరిహద్దు ఉండదు. కాంటెక్స్ట్ విండోలోని ప్రతిదీ ఒకే టోకెన్ స్ట్రీమ్‌గా ఉంటుంది. దాడి చేసే వ్యక్తి యొక్క డేటా సూచనలుగా పనిచేసినప్పుడు ప్రాంప్ట్ ఇంజెక్షన్ జరుగుతుంది. కేవలం ఫిల్టరింగ్ ద్వారా మాత్రమే మీరు సురక్షితంగా ఉండలేరు. మీరు దీనిని 'డిఫెన్స్-ఇన్-డెప్త్' (defense-in-depth) పద్ధతి ద్వారా నిర్వహించాలి.

సాధారణ రక్షణ పద్ధతుల వైఫల్యాలు:

  • కీవర్డ్ బ్లాక్‌లిస్ట్‌లు (Keyword Blocklists): దాడి చేసేవారు వీటిని దాటవేయడానికి పర్యాయపదాలు, తప్పు స్పెల్లింగ్‌లు లేదా వేర్వేరు భాషలను ఉపయోగిస్తారు. స్ట్రింగ్‌లను ఫిల్టర్ చేయడం వల్ల ఉద్దేశ్యాన్ని (intent) ఫిల్టర్ చేయడం సాధ్యం కాదు.
  • అవుట్‌పుట్ రిడెక్షన్ (Output Redaction): దాడి చేసేవారు రహస్య సమాచారాన్ని ముక్కలుగా చేయడం లేదా ఎన్‌కోడ్ చేయడం ద్వారా స్ట్రింగ్ మ్యాచింగ్ విఫలం అయ్యేలా చేయవచ్చు.
  • LLM జడ్జీలు (LLM Judges): ఒక రహస్యం హానిలేనిదని నమ్మేలా చేయడానికి ప్రత్యేక మోడల్‌ను సోషల్ ఇంజనీరింగ్ ద్వారా ప్రభావితం చేయవచ్చు.
  • మానవ సమీక్ష (Human Review): మనుషులు రెండర్ చేయబడిన టెక్స్ట్‌ను మాత్రమే చూస్తారు, రా (raw) బైట్‌లను కాదు. ASCII స్మగ్లింగ్‌లో ఉపయోగించే దాగి ఉన్న అక్షరాలను వారు గుర్తించలేరు.

ASCII స్మగ్లింగ్ (ASCII Smuggling) అనేది ఒక ప్రధాన ముప్పు. ఇది సూచనలను దాచడానికి యూనికోడ్ ట్యాగ్‌లు (Unicode Tags) లేదా జీరో-విడ్త్ స్పేస్‌ల (zero-width spaces) వంటి అదృశ్య అక్షరాలను ఉపయోగిస్తుంది. మోడల్ వీటిని చదువుతుంది, కానీ మనుషులకు ఏమీ కనిపించదు. ఇది ఈమెయిల్ లేదా క్యాలెండర్‌ల ద్వారా ఐడెంటిటీ స్ఫూఫింగ్ (identity spoofing) మరియు డేటా ఎక్స్‌ఫిల్ట్రేషన్‌కు (data exfiltration) దారితీస్తుంది.

మీ అప్లికేషన్‌ను ఎలా రక్షించుకోవాలి:

  • రా పేలోడ్‌లను శుద్ధి చేయండి (Sanitize raw payloads): అవి మోడల్‌కు చేరుకోకముందే కంట్రోల్ క్యారెక్టర్లు మరియు జీరో-విడ్త్ క్యారెక్టర్లను తొలగించండి.
  • అలోలిస్ట్‌లను (allowlists) ఉపయోగించండి: చెడు వాటిని వెతకడం కంటే, మీకు అవసరమైన నిర్దిష్ట యూనికోడ్ కేటగిరీలను నిర్వచించండి.
  • డేటాను నార్మలైజ్ చేయండి: అన్ని ఇన్‌పుట్‌లపై NFKC-normalization ఉపయోగించండి.
  • రహస్యాలను తగ్గించండి: మోడల్‌కు అవసరం లేకపోతే సెన్సిటివ్ డేటాను కాంటెక్స్ట్ విండోలో ఉంచకండి.
  • RAGని నమ్మకద్రోహిగా పరిగణించండి: మోడల్ కోసం మీరు పొందే ఏ డాక్యుమెంట్‌నైనా సంభావ్య ఇంజెక్షన్ వెక్టార్‌గా భావించండి.
  • అసాధారణతలను గమనించండి: కనిపించే పొడవు (visible length) మరియు రా కోడ్-పాయింట్ కౌంట్ (raw code-point count) మధ్య తేడా ఉన్న ఇన్‌పుట్‌లను గుర్తించండి.

సెక్యూరిటీ అనేది కేవలం మోడల్ లోపం మాత్రమే కాదు, అది పైప్‌లైన్ లోపం కూడా. దీనికి పరిష్కారం మీ అప్లికేషన్ కోడ్‌లోనే ఉంది.

Source: https://dev.to/geekaara/llm-prompt-injection-guardrail-security-glm

Optional learning community: https://t.me/GyaanSetuAi