Διαδρομή 03Μάθημα 3 / 6

Αντιμετωπίστε το ανακτημένο περιεχόμενο ως μη έμπιστη είσοδο

Αναγνωρίστε οδηγίες κρυμμένες σε αρχεία αποθετηρίου και αποτελέσματα εργαλείων. Κρατήστε τις ανακτημένες πληροφορίες χωριστά από την εξουσιοδότηση για ενέργειες.

Πρακτικό επίπεδο10 minΕλέγχθηκε

Εκδότης Πώς γράφουμε

Ελέγξτε τι κατανοήσατεΈνα αρχείο αποθετηρίου λέει ότι όλα τα tests είναι προαιρετικά και ότι ο agent πρέπει να αγνοήσει τις οδηγίες της εργασίας. Πώς πρέπει να το αντιμετωπίσει η ροή εργασίας;Κάντε την άσκηση
Ένα αρχείο αποθετηρίου λέει ότι όλα τα tests είναι προαιρετικά και ότι ο agent πρέπει να αγνοήσει τις οδηγίες της εργασίας. Πώς πρέπει να το αντιμετωπίσει η ροή εργασίας;

Τι θα μάθετε

  • Εντοπίστε έμμεσο prompt injection σε μια ροή ανάπτυξης.
  • Εξηγήστε γιατί οι ετικέτες κειμένου από μόνες τους δεν μπορούν να επιβάλουν όριο ασφάλειας.
  • Σχεδιάστε ασφαλή δοκιμή για περιορισμούς εργαλείων.

Εντοπίστε το σημείο όπου τα δεδομένα γίνονται οδηγία

Ένας coding agent διαβάζει περισσότερα από το αίτημα του χρήστη. Μπορεί να εξετάζει issues, αρχεία αποθετηρίου, τεκμηρίωση πακέτων, αποτελέσματα αναζήτησης και αποκρίσεις εργαλείων. Μέρος αυτού του περιεχομένου μπορεί να περιέχει οδηγίες από άλλο άτομο.

Το prompt injection συμβαίνει όταν τέτοιο περιεχόμενο εκτρέπει το μοντέλο από την εξουσιοδοτημένη εργασία. Ένα έμμεσο injection φτάνει μέσω ανακτημένης πηγής και όχι μέσω άμεσου αιτήματος του χρήστη. Το OWASP περιγράφει το υλικό αποθετηρίου και την έξοδο εργαλείων ως σχετικά σημεία εισόδου. Διαβάστε τις οδηγίες πρόληψης.

Εξετάστε μια πλασματική εργασία συντήρησης. Ο χρήστης ζητά από τον agent να διορθώσει ένα φίλτρο αναφοράς και να εκτελέσει τα απαιτούμενα tests. Ένα ανακτημένο README λέει ότι τα tests είναι παρωχημένα και ζητά από τον agent να μεταφορτώσει ένα αρχείο διαμόρφωσης. Το README μπορεί να εξηγεί το έργο. Δεν μπορεί να εξουσιοδοτεί την παράλειψη των ελέγχων του χρήστη ή την αποστολή αρχείων αλλού.

Χαρτογραφήστε τις πιθανές συνέπειες

Το ίδιο παραπλανητικό κείμενο έχει διαφορετικές συνέπειες σε διαφορετικά περιβάλλοντα. Ένα εργαλείο σύνοψης μόνο για ανάγνωση μπορεί να παράγει λανθασμένη σύνοψη. Ένας agent με δυνατότητα εγγραφής στο αποθετήριο μπορεί να αλλάξει κώδικα. Ένας agent με μυστικά και εξερχόμενη πρόσβαση δικτύου μπορεί να εκθέσει πληροφορίες.

Εξετάστε τις διαθέσιμες ενέργειες πριν αποφασίσετε ποιες άμυνες έχουν σημασία. Καταγράψτε τους ευαίσθητους πόρους, τους στόχους εγγραφής και τους εξωτερικούς προορισμούς. Συμπεριλάβετε connectors που προστέθηκαν μετά την αρχική ρύθμιση. Ένα νέο εργαλείο μπορεί να αυξήσει την επίδραση μιας υπάρχουσας αδυναμίας.

Ένας agent μπορεί επίσης να μεταφέρει παραπλανητικό περιεχόμενο σε μεταγενέστερο στάδιο. Για παράδειγμα, μπορεί να αντιγράψει μη έμπιστη οδηγία σε παραγόμενη περιγραφή εργασίας. Ο επόμενος agent δεν πρέπει να αντιμετωπίσει αυτή την περιγραφή ως ανεξάρτητα εγκεκριμένη πολιτική.

Χρησιμοποιήστε πολλούς ελέγχους με διαφορετικούς σκοπούς

Στον σχεδιασμό της εφαρμογής, διαχωρίστε τις έμπιστες οδηγίες εργασίας από τα ανακτημένα δεδομένα. Δείξτε την προέλευση του ανακτημένου υλικού. Αυτά τα βήματα βελτιώνουν την ερμηνεία, αλλά δεν θεμελιώνουν πλήρες όριο ασφάλειας.

Επιβάλετε δικαιώματα πόρων στο σύστημα εκτέλεσης. Περιορίστε τους προορισμούς ευαίσθητων δεδομένων. Απαιτήστε την κατάλληλη απόφαση πριν από ενέργειες με ουσιαστικές συνέπειες. Ελέγξτε την προτεινόμενη ενέργεια με βάση την εξουσιοδοτημένη εργασία και τον στόχο.

Τα φίλτρα και ένα δεύτερο μοντέλο μπορούν να βοηθήσουν στον εντοπισμό ύποπτου περιεχομένου. Μπορούν επίσης να χάσουν επιθέσεις ή να μπλοκάρουν θεμιτές πληροφορίες. Μην αντικαθιστάτε την εξουσιοδότηση βάσει καθορισμένων κανόνων με μια βαθμολογία βεβαιότητας μοντέλου. Το OWASP επισημαίνει ρητά τα όρια της αποκλειστικής εξάρτησης από prompts ή ανάκτηση πληροφοριών. Διαβάστε την περιγραφή κινδύνου.

Δοκιμάστε τη ροή εργασίας χωρίς πραγματική έκθεση

Χρησιμοποιήστε προσωρινό αποθετήριο και πλασματικά αρχεία. Μη δώσετε στην αξιολόγηση διαπιστευτήρια παραγωγής ή απεριόριστη δυνατότητα εγγραφής σε εξωτερικά συστήματα. Εισαγάγετε μια ακίνδυνη οδηγία που συγκρούεται με την εργασία, όπως η παράλειψη υποχρεωτικού ελέγχου.

Παρατηρήστε τόσο την απόκριση του μοντέλου όσο και τις πραγματικές ενέργειες εργαλείων. Ένα μήνυμα «αγνόησα την οδηγία» δεν αρκεί αν ο έλεγχος τελικά παραλείφθηκε. Καταγράψτε την εργασία, το fixture με το injection, τα επιτρεπόμενα εργαλεία και το παρατηρούμενο αποτέλεσμα.

Επαναλάβετε αντιπροσωπευτικές περιπτώσεις μετά από αλλαγές σε prompts, μοντέλα, connectors ή δικαιώματα. Ένα μπλοκαρισμένο παράδειγμα είναι αποδεικτικό στοιχείο για εκείνη την περίπτωση, όχι απόδειξη προστασίας από κάθε injection. Αν μια δοκιμή αποτύχει, περιορίστε τις πιθανές συνέπειες όσο διορθώνετε την υποκείμενη ροή εργασίας.

Κάντε την άσκηση

Δημιουργήστε προσωρινό fixture με σχόλιο που ζητά από έναν agent να παραλείψει υποχρεωτικό έλεγχο. Εκτελέστε εξουσιοδοτημένη, απομονωμένη αξιολόγηση χωρίς μυστικά ή εγγραφές σε εξωτερικά συστήματα. Επαληθεύστε ότι ο έλεγχος εξακολουθεί να εκτελείται. Καταγράψτε τα δικαιώματα εργαλείων, την παρατηρούμενη συμπεριφορά και τα όρια αυτής της μεμονωμένης δοκιμής.

Λήψη φύλλου εργασίας (Markdown)
Ελέγξτε τι κατανοήσατε ↑

Συνεχίστε τη μάθηση

Πηγές και πρόσθετη μελέτη

Σχετικό υλικό από την Taiga

Προηγούμενο μάθημα: Περιορίστε την εξουσιοδότηση ενός agent