Γιατί τα output filters δεν σταματούν την indirect injection
Στο Gandalf, ένα παιχνίδι εξάσκησης στο prompt injection, ο στόχος είναι να αποσπάσεις έναν κωδικό από ένα AI που έχει ρητή εντολή να μην τον αποκαλύψει. Στο τέταρτο επίπεδο υπήρχε ένα output filter, δηλαδή ένα δεύτερο AI που ελέγχει κάθε απάντηση πριν βγει προς τα έξω.
Πώς παρακάμφθηκε
Η άμεση προσέγγιση μπλοκαρίστηκε, οπότε η λύση ήρθε μέσα από μια ιστορία: ένα παιδί που δεν ξέρει ελληνικά χρειάζεται ένα διήγημα στα αγγλικά, και ο κωδικός υφάνθηκε μέσα στην αφήγηση. Το φίλτρο έψαξε να βρει την ακριβή λέξη του κωδικού, δεν την εντόπισε και ενέκρινε την απάντηση, με αποτέλεσμα ο κωδικός να διαρρεύσει ούτως ή άλλως. Αυτό ακριβώς είναι η indirect injection: το μοντέλο δεν «αποκάλυψε το μυστικό», απλώς διηγήθηκε μια ιστορία που τυχαία το περιείχε. Ίδια πληροφορία, διαφορετικό περιτύλιγμα.
Γιατί αφορά πραγματικά συστήματα
Σε έναν πραγματικό voicebot, ολόκληρη η βάση γνώσης, μαζί με στοιχεία πληρωμών, ήταν τοποθετημένη μέσα στο system prompt. Σε ένα τυπικό LLM, όμως, το system prompt και η είσοδος του χρήστη μοιράζονται το ίδιο context window, χωρίς κανένα αρχιτεκτονικό τείχος ανάμεσά τους. Ένας ικανός επιτιθέμενος θα μπορούσε έτσι να κάνει το μοντέλο να εμφανίσει λάθος IBAN στον επόμενο χρήστη, όχι αλλάζοντας κάποια βάση δεδομένων, αλλά απλώς κάνοντας το μοντέλο να πει κάτι διαφορετικό. Και το χρονικό περιθώριο μέχρι να το αντιληφθεί κανείς μπορεί να φτάνει τις εβδομάδες.
Η σωστή άμυνα είναι αρχιτεκτονική
Τα φίλτρα ψάχνουν για γνωστά μοτίβα, ενώ η indirect injection παράγει συνεχώς καινούργια· βάζεις ένα φίλτρο και ο επιτιθέμενος βρίσκει αμέσως ένα νέο περιτύλιγμα. Τα οικονομικά δεδομένα, επομένως, δεν πρέπει να προέρχονται καθόλου από το output του LLM, αλλά από ένα επαληθευμένο σύστημα, με το μοντέλο εντελώς έξω από την αλυσίδα. Κανένας μεμονωμένος έλεγχος δεν είναι αρκετός· χρειάζονται πολλά επίπεδα άμυνας, όπως δείχνουν και το prompt injection και το threat modeling.
Πού «κρύβεις» ευαίσθητα δεδομένα μέσα στα prompts σου;
Ο Έλεγχος Θωράκισης εξετάζει την απομόνωση του system prompt, τον χειρισμό του output και τη ροή των ευαίσθητων δεδομένων. Προηγείται μια δωρεάν συνεδρία 45 λεπτών.
Κλείστε δωρεάν συνεδρία