Ευπάθεια llms.txt: Πώς οι πράκτορες AI εγκαθιστούν αυτόματα κακόβουλο κώδικα μέσω αρχείων τεκμηρίωσης
Την Πέμπτη 27 Αυγούστου,Η Ars Technica δημοσίευσε έρευναΑυτό θα πρέπει να κάνει οποιονδήποτε προγραμματιστή που χρησιμοποιεί πράκτορες κωδικοποίησης AI να αναθεωρήσει την ασφάλειά του. Ερευνητές από μια ισραηλινή stealth startup σάρωσαν 6.214 τομείς που ανήκουν σε εταιρείες του Fortune 500, αμυντικούς εργολάβους και Big Tech — και βρήκαν 120 αρχεία llms.txt που κάνουν τους πράκτορες AI να εγκαθιστούν αυτόματα ανύπαρκτα πακέτα από PyPI και npm.
Το πρόβλημα είναι απλό και τρομακτικό: Το llms.txt είναι ουσιαστικά "robots.txt για AI" — ένα αρχείο χάρτη ιστοτόπου με σημάδια που βοηθά τους πράκτορες να κατανοήσουν γρήγορα τη δομή τεκμηρίωσης. Αλλά η προδιαγραφή δεν περιλαμβάνει έλεγχο ταυτότητας, υπογραφές, ελέγχους ακεραιότητας. Εάν ένα τέτοιο αρχείο περιέχει pip install non-existent-package ή npm install non-existent-package και ο πράκτορας έχει άδεια να εκτελεί εντολές — απλώς θα εγκαταστήσει ό,τι είναι γραμμένο εκεί.
Πώς λειτουργεί
Οι ερευνητές βρήκαν 8.265 αρχεία llms.txt και llms-full.txt (πολλοί ιστότοποι φιλοξενούν και τα δύο). Σε 120 από αυτούς — σε 120 διαφορετικούς τομείς — υπήρχαν αναφορές σε πακέτα ή τομείς που δεν υπάρχουν στα μητρώα. Ένας εισβολέας χρειάζεται μόνο να καταχωρήσει ένα τέτοιο όνομα και να ανεβάσει κακόβουλο κώδικα.
Για να επαληθεύσουν την επίθεση, οι ίδιοι οι ερευνητές κατέγραψαν πολλά «δωρεάν» ονόματα και τοποθέτησαν ακίνδυνα πακέτα που απλώς κάνουν ping στον διακομιστή τους με «ξεκίνησα». Μέσα σε μια ώρα, πήραν απάντηση από μια εταιρεία του Fortune 500. Με τον καιρό, ήρθαν δεκάδες περισσότερες απαντήσεις — από άλλους κολοσσούς και νεοφυείς επιχειρήσεις. Η τηλεμετρία διεργασιών έδειξε ακριβώς ποιος εγκατέστησε τα πακέτα:Claude Code, OpenAI Codex και Hermes από την Nous Research.

Η πιο άσχημη περίπτωση — clerk.com
Στον νόμιμο ιστότοπο clerk.com, το αρχείο llms.txt περιείχε npx clerk-next-fix-auth-protection. Σε αντίθεση με ένα κανονικό npm install, το npx μπορεί να ανακτήσει ένα πακέτο στη μνήμη cache του npm και να εκτελέσει το δυαδικό του χωρίς να το προσθέσει στη δήλωση εξάρτησης του έργου. Κάποιος κατάφερε να διεκδικήσει αυτό το δωρεάν όνομα και να ανεβάσει πραγματικό κακόβουλο λογισμικό. Ο υπάλληλος διόρθωσε το πρόβλημα, αλλά το μοτίβο είναι ήδη σε παραγωγή.
Γιατί αυτό δεν είναι απλώς ένα "σφάλμα μοντέλου"
Αυτό δεν είναι μια παραίσθηση ή μια απόδραση στο sandbox. Το αρχείο βρίσκεται στον επίσημο τομέα της εταιρείας, που εξυπηρετείται μέσω HTTPS, σε τυποποιημένη μορφή σχεδιασμένη για κατανάλωση AI. Ο πράκτορας δεν έχει κανένα λόγο να αμφιβάλλει — το αρχείοείναιη αρχή. Το πρόβλημα είναι ότι το πρότυπο llms.txt (που προτάθηκε από τον Jeremy Howard του Answer.AI τον Σεπτέμβριο του 2024) δεν περιέχει καμία απολύτως διάταξη ασφαλείας: καμία υπογραφή, καμία επαλήθευση προέλευσης, καμία επαλήθευση πακέτου.
Η αλυσίδα εμπιστοσύνης είναι μεταβατική: llms.txt δεν χρειάζεται να βρίσκεται στον ιστότοπο του Fortune 500 — μπορεί να βρίσκεται στα έγγραφα ενός συνεργάτη, στην αναφορά SDK ενός προμηθευτή, στον οδηγό εγκατάστασης ενός έργου κοινότητας. Εάν ο πράκτορας εμπιστεύεται αυτό το τρίτο μέρος και αυτό το τρίτο μέρος υποδεικνύει ένα μη καταχωρημένο πακέτο — η αλυσίδα λειτουργεί με τον ίδιο τρόπο.
Τι να κάνετε αυτή τη στιγμή
- Ελεγχος.Ελέγξτε τα
llms.txtκαιllms-full.txt. Βεβαιωθείτε ότι κάθε αναφερόμενο πακέτο, τομέας και διεύθυνση URL υπάρχει, είναι υπό τον έλεγχό σας και έχει αναγνωρισμένο συντηρητή. Καταργήστε τις αναφορές σε εξαρτήσεις που δεν μπορείτε να εξηγήσετε από τη μνήμη. - Proxy μεταξύ αντιπροσώπων και μητρώων.Αποκλεισμός νέων πακέτων (τα πακέτα slopsquatted είναι εξ ορισμού νέα), επιβάλετε ένα cooldown 24–72 ωρών μετά την πρώτη κυκλοφορία οποιασδήποτε εξάρτησης, επαληθεύστε
provenance(SLSA/Sigstore) πριν από την εγκατάσταση. - Μην δίνετε στους πράκτορες
--yolo,--dangerously-skip-permissions,--trust-all-tools.Αυτές οι σημαίες υπάρχουν, επομένως ο προγραμματιστής αναλαμβάνει την ευθύνη. Εάν ένας πράκτορας εγκαθιστά πακέτα χωρίς την επιβεβαίωσή σας — του έχετε παραδώσει τα κλειδιά της υποδομής σας.
Η ουσία
Ο αγώνας για να γίνουν οι ιστότοποι αναγνώσιμοι για τους πράκτορες μόλις συγκρούστηκε με τον αγώνα εκμετάλλευσης της αλυσίδας εφοδιασμού λογισμικού. Αυτό δεν είναι λάθος ενός μοντέλου ή ενός προμηθευτή - είναι ένα ελάττωμα σχεδιασμού σε ένα τυπικό που κανείς δεν θεωρούσε εκτελέσιμο κώδικα. Έως ότου ο κλάδος επιβάλει την επικύρωση του τι διαβάζουν οι πράκτορες στον ιστό, κάθε κακό llms.txt είναι ένα πιθανό σημείο εισόδου στο δίκτυό σας.

Θέλετε να δοκιμάσετε τις ροές εργασιών AI για ασφάλεια; Το NeuralSpace σάς επιτρέπει να εκτελέσετε τη δημιουργία κώδικα και να δοκιμάσετε πράκτορες σε ένα απομονωμένο περιβάλλον —δοκιμάστε τη συνομιλίαήλειτουργία κωδικού.