Ιστολόγιο

Πώς ένα αποθετήριο άλλου μπορεί να καταλάβει το Claude Code: 7 κανόνες προστασίας

Markdown

Τέσσερις τεκμηριωμένες διαδρομές έμμεσης prompt injection μέσω αποθετηρίων, περιεχομένου GitHub, συμβάντων Sentry και μεταδεδομένων MCP, με πρωτογενή έρευνα και πρακτικά όρια περιορισμού.

Διαβάστε ολόκληρο το άρθρο

Βασικά σημεία

Δημοσιευμένη έρευνα παρουσιάζει τέσσερις διαδρομές έμμεσης έγχυσης: οδηγίες εγκατάστασης, περιεχόμενο GitHub, τηλεμετρία και μεταδεδομένα εργαλείων MCP. Οι αναφορές εμφανίστηκαν σε διαφορετικές ημερομηνίες και αφορούν διαφορετικούς clients και ρυθμίσεις δικαιωμάτων. Παρακάτω δίνονται πρωτογενείς πηγές και πρακτικά μέτρα περιορισμού· κανένα αρχείο ρυθμίσεων δεν εγγυάται ανοσία.

Τεκμηρίωση Ailoot: API, κλειδιά και ρύθμιση.

Τέσσερις τεκμηριωμένες διαδρομές από μη έμπιστο κείμενο σε ενέργειες agent

Βασικά σημεία

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

Επίσημα, αυτό ονομάζεται έμμεση έγχυση προτροπής: μια κακόβουλη οδηγία δεν έρχεται απευθείας από εσένα, αλλά μέσω δεδομένων που επεξεργάζεται ο agent καθώς εκτελεί μια εργασία — ένα ξένο README, ένα μήνυμα σφάλματος, ένα σχόλιο στο GitHub ή μια απόκριση από εξωτερική υπηρεσία. Μπορείς να ξεχάσεις τον όρο αμέσως μετά από αυτή την παράγραφο· από εδώ και πέρα θα χρησιμοποιώ απλά λόγια.

Τέσσερα ερευνητικά παραδείγματα που συζητούνται παρακάτω:

  1. Ένα αποθετήριο που φαίνεται ακίνδυνο αποδείχθηκε ότι μπορεί να μετατραπεί σε reverse shell.
  2. Ένας τίτλος Pull Request αποδείχθηκε ότι μπορεί να παραπλανήσει ταυτόχρονα τρεις διαφορετικούς AI agents.
  3. Ένας agent αποδείχθηκε ότι μπορεί να δεχτεί πλαστή αναφορά σφάλματος από το Sentry αντί για πραγματική.
  4. Η έρευνα MCPTox μελετά πώς μια περιγραφή εργαλείου MCP μπορεί να επηρεάσει τον agent· η επιρροή δεν ισοδυναμεί αυτόματα με εξουσία προτροπής συστήματος.

Πώς μετατρέπεται το README ενός φαινομενικά ακίνδυνου αποθετηρίου σε reverse shell;

Βασικά σημεία

Η απόδειξη ιδέας 0DIN της 25ης Ιουνίου 2026 δείχνει το εξής: κλωνοποιείς ένα συνηθισμένο αποθετήριο και ζητάς από το Claude Code να το εκτελέσει — και εκείνο ακολουθεί πρόθυμα τις οδηγίες εγκατάστασης. Ένα σφάλμα στην πρώτη εκτέλεση προτείνει μια εντολή «επιδιόρθωσης» που στην πραγματικότητα επιλύει την εγγραφή DNS του εισβολέα και εκκινεί ένα reverse shell. Η παρατιθέμενη πηγή επιδεικνύει την τεχνική· δεν τεκμηριώνει πόσο συχνά έχει χρησιμοποιηθεί σε πραγματικά περιστατικά.

Ο μηχανισμός έχει σχεδιαστεί έτσι ώστε κανένα μεμονωμένο επίπεδο να μη φαίνεται ύποπτο:

  1. Κλωνοποιείς ένα συνηθισμένο αποθετήριο και ζητάς από το Claude Code να το εκτελέσει.
  2. Το αποθετήριο εγκαθιστά ένα πακέτο Python που έχει σχεδιαστεί να αποτυγχάνει κατά την πρώτη χρήση.
  3. Το μήνυμα σφάλματος προτείνει ευγενικά μια εντολή «επιδιόρθωσης»: python3 -m axiom init.
  4. Η εντολή init εκτελεί το setup.sh.
  5. Το σενάριο ελέγχει μια εγγραφή DNS TXT (που συνήθως χρησιμοποιείται για σημειώσεις σχετικές με το domain, αλλά το πεδίο δέχεται οποιοδήποτε κείμενο). Ο εισβολέας βάζει εκεί μια εντολή κωδικοποιημένη σε base64 (έναν τρόπο μετατροπής οποιωνδήποτε δεδομένων σε απλό κείμενο χωρίς κενά ή ειδικούς χαρακτήρες) και τη διοχετεύει απευθείας στο bash.
  6. Η τιμή της εγγραφής DNS μπορεί να αλλάξει ανά πάσα στιγμή — δίνοντας στον εισβολέα ένα διαδραστικό reverse shell με τα δικαιώματα του χρήστη σου και πρόσβαση σε όλα τα μυστικά του μηχανήματος.

Το επιδεικνυόμενο payload ανακτήθηκε από DNS κατά την εκτέλεση, οπότε σάρωση μόνο των bytes αποθετηρίου δεν αποκάλυπτε το τελικό payload. Δεν αποδεικνύει ότι κάθε scanner ή έλεγχος runtime είναι ανίσχυρος: εξέταση ανακτημένου περιεχομένου, παρακολούθηση διεργασιών και περιορισμοί δικτύου μπορούν να αποκαλύψουν ή να διακόψουν την αλυσίδα. Η πηγή είναι απόδειξη ιδέας, όχι μέτρηση συχνότητας πραγματικών περιστατικών.

Πώς ένας τίτλος Pull Request παραπλάνησε τρεις διαφορετικούς AI agents;

Βασικά σημεία

Η ερευνητική αναφορά Comment and Control, δημοσιευμένη στις 15 Απριλίου 2026 και ενημερωμένη στις 4 Μαΐου, τεκμηριώνει διαφορετικές διαδρομές έγχυσης μέσω κειμένου GitHub σε Claude Code Security Review, Gemini CLI Action και Copilot Agent. Υποβάθμιση σοβαρότητας δεν αποδεικνύει διόρθωση ολόκληρης της κατηγορίας έγχυσης· η αναφορά περιγράφει αποκρίσεις προμηθευτών και συγκεκριμένο περιορισμό εργαλείου Claude.

Ο τίτλος του Pull Request ενσωματώθηκε απευθείας στην προτροπή του agent χωρίς κανέναν καθαρισμό των οδηγιών.

Η έρευνα περιγράφει αυτές τις διαδρομές και αποκρίσεις· είναι ιστορική αναφορά, όχι επαλήθευση κάθε τρέχουσας έκδοσης προϊόντος:

AgentΠώς εισήχθη η επίθεσηΤι διέρρευσεΚατάσταση σήμερα
Claude Code Security ReviewΟ τίτλος PR ενσωματώθηκε απευθείας στην προτροπή συστήματος χωρίς καθαρισμόANTHROPIC_API_KEY, GITHUB_TOKENΗ έρευνα αναφέρει περιορισμό ps και αλλαγές τεκμηρίωσης· η σοβαρότητα έγινε None στις 20 Απριλίου 2026
Gemini CLI ActionΜια πλαστή ενότητα «Trusted Content» σε σχόλιο παρέκαμψε τις οδηγίες ασφαλείαςGEMINI_API_KEYΗ Google πρόσθεσε ξεχωριστές προτροπές δικλίδων ασφαλείας στην προτροπή συστήματος
GitHub Copilot AgentΤο ωφέλιμο φορτίο κρύφτηκε σε αόρατο σχόλιο HTML στο MarkdownGITHUB_COPILOT_API_TOKEN, COPILOT_JOB_NONCEΤο GitHub το θεωρεί αρχιτεκτονικό περιορισμό, όχι σφάλμα

Σχεδόν πέντε μήνες μεσολάβησαν ανάμεσα στην πρώτη και την τελευταία αναφορά αυτού του κύκλου γνωστοποιήσεων (η πρώτη αναφορά για το Claude Code έγινε στις 17 Οκτωβρίου 2025· η τελευταία διόρθωση σφάλματος του GitHub Copilot στις 9 Μαρτίου 2026). Η αλλαγή σοβαρότητας και τα μέτρα της αναφοράς δεν τεκμηριώνουν πλήρη εξάλειψη κάθε πιθανού payload. Το αποθετήριο PoC της έρευνας τεκμηριώνει την επιδεικνυόμενη διαδρομή Claude· μην εκτελείς το επιθετικό payload του σε πραγματικά συστήματα. Η αξία για εσένα βρίσκεται στο ίδιο το μοτίβο της επίθεσης: μη επαληθευμένα δεδομένα από το GitHub περνούν στον agent, ο agent εκτελεί εντολές και τα μυστικά διαρρέουν μέσω του ίδιου GitHub — ο εισβολέας δεν χρειάζεται εξωτερικό διακομιστή.

Αρκούν δύο αναλύσεις για να φανεί το μοτίβο: δεν είναι βιώσιμο να διορθώνεται κάθε νέο εύρημα μεμονωμένα· ευπάθειες αυτού του είδους εμφανίζονται κάθε δύο εβδομάδες. Η ρητή καταγραφή κανόνων ασφαλείας στα CLAUDE.md και settings.json, αντί να τους κρατάς στο μυαλό σου, αποτελεί μέρος της μηχανικής πλαισίου: τους ορίζεις μία φορά και εφαρμόζονται αυτόματα σε κάθε νέα συνεδρία Claude Code, χωρίς υπενθυμίσεις. Τρεις πυλώνες συνεργάζονται: κλώνος AI + Δεύτερος Εγκέφαλος + Μηχανική Πλαισίου — αυτός ο συνδυασμός μετατρέπει το Claude Code από εκτελεστή που εμπιστεύεται τα πάντα σε agent με ρητούς κανόνες.

Μπορεί μια πλαστή αναφορά σφάλματος Sentry να καταλάβει τον agent σου;

Βασικά σημεία

Μια τεχνική που παρουσιάστηκε λειτουργεί ως εξής: ένας εισβολέας στέλνει ένα πλαστό συμβάν σφάλματος στο Sentry· ο agent ζητά μέσω MCP τον κατάλογο των issues, λαμβάνει το κακόβουλο συμβάν μαζί με τα νόμιμα και εκτελεί την ενσωματωμένη εντολή ως «βήμα επιδιόρθωσης». Η αναφορά Agentjacking της Tenet, ενημερωμένη στις 17 Ιουνίου 2026, αναφέρει 85% εκμετάλλευση στις ελεγχόμενες σειρές επικύρωσής της και πάνω από 100 εκτελέσεις agents, μαζί με Claude Code, Cursor και Codex. Κατονομάζει καταγραφή Claude Code 2-1-161 της 2ας Ιουνίου, αλλά δεν δημοσιεύει πλήρη λίστα ανά μοντέλο, αναπαραγώγιμο πλαίσιο δοκιμών, ακριβή παρονομαστή προσπαθειών ή ανάλυση ανά client. Θεώρησε το 85% συγκεντρωτική παρατήρηση της έρευνας, όχι πιθανότητα παραβίασης οποιασδήποτε σημερινής εγκατάστασης.

Η επίθεση χρειάζεται μόνο ένα κλειδί DSN του Sentry — ένα δημόσιο αναγνωριστικό που πολλά έργα περιλαμβάνουν απευθείας στον κώδικα της πλευράς πελάτη:

Ο μηχανισμός είναι απλός: ένας προγραμματιστής ζητά από τον agent να εξετάσει τα ανοιχτά σφάλματα του Sentry· ο agent τα ζητά μέσω του διακομιστή MCP, λαμβάνει ένα κακόβουλο συμβάν ανακατεμένο με τα πραγματικά και διαβάζει την ενσωματωμένη εντολή ως έμπιστη οδηγία για τη διόρθωση του σφάλματος — επειδή, τυπικά, αυτό ακριβώς του ζητήθηκε να κάνει.

Η Tenet αναφέρει ότι οι υπάρχοντες έλεγχοι δεν ειδοποίησαν στα δοκιμασμένα περιβάλλοντά της. Αυτό δεν τεκμηριώνει εκτέλεση χωρίς ίχνη σε κάθε ανάπτυξη: logs agent/εργαλείων, τηλεμετρία endpoint και αρχεία δικτύου μπορούν να καταγράψουν επόμενες ενέργειες. Η επίθεση ξεκινά μέσω εξωτερικά υποβαλλόμενης τηλεμετρίας και εξαρτάται έπειτα από πραγματικά εργαλεία και δικαιώματα agent.

Γιατί είναι τόσο επικίνδυνη μια περιγραφή εργαλείου MCP όσο και μια προτροπή συστήματος;

Βασικά σημεία

Τα μεταδεδομένα εργαλείων μπορούν να μεταφέρουν οδηγίες που επηρεάζουν το μοντέλο, αλλά δεν ισοδυναμούν αυτόματα με εξουσία προτροπής συστήματος. Το MCPTox, με πρώτη υποβολή στις 19 Αυγούστου 2025, αξιολογεί δηλητηρίαση εργαλείων σε ρεαλιστικά εργαλεία MCP και αναφέρει ευπάθεια που διαφέρει ανά μοντέλο και διαμόρφωση. Η παρατήρηση ότι ικανότερα μοντέλα μπορούν να είναι πιο ευάλωτα είναι αποτέλεσμα εκείνου του benchmark, όχι καθολικός νόμος.

Η διατύπωση της Microsoft είναι η πιο ακριβής που έχω βρει για αυτό το θέμα:

Η ευπάθεια δεν βρίσκεται σε ένα μεμονωμένο σύστημα — βρίσκεται στο όριο εμπιστοσύνης μεταξύ συστημάτων.

Αυτή η τεχνική ονομάζεται δηλητηρίαση εργαλείων: μια οδηγία κρυμμένη στην περιγραφή ενός ακίνδυνου εργαλείου κάνει τον agent να ενεργήσει σύμφωνα με αυτήν.

Το Claude 3.7 Sonnet είχε την καλύτερη ανθεκτικότητα στη δοκιμή, όμως ακόμη κι αυτό αρνήθηκε να ακολουθήσει μια δηλητηριασμένη οδηγία σε λιγότερο από 3% των περιπτώσεων — ακόμη και στο καλύτερο μοντέλο, η ανθεκτικότητα εξαρτάται περισσότερο από την τύχη παρά από την προστασία. Το αντιφατικό συμπέρασμα του benchmark: όσο ακριβέστερα ακολουθεί ένα μοντέλο τις οδηγίες, τόσο δυσκολότερα ξεχωρίζει μια νόμιμη εντολή από εκείνη που είναι κρυμμένη στα μεταδεδομένα — η δύναμή του λειτουργεί εναντίον του.

Τι κοινό έχουν αυτές οι επιθέσεις — και τι μπορεί να χάσει η ανίχνευση;

Βασικά σημεία

Και τα τέσσερα ευρήματα εκμεταλλεύονται το ίδιο τυφλό σημείο: ο agent δεν ξεχωρίζει τα «δεδομένα προς ανάλυση» από τις «οδηγίες προς εκτέλεση». Σάρωση μόνο αποθετηρίου μπορεί να χάσει payloads που δίνονται αργότερα μέσω εργαλείων ή δεδομένων δικτύου. Η ανίχνευση παραμένει χρήσιμη αλλά πρέπει να εξετάζει ολόκληρη τη διαδρομή εκτέλεσης. Συνδύασέ τη με περιορισμούς αρχείων, διαπιστευτηρίων, εργαλείων και δικτύου αντί να βασίζεσαι στον agent για αναγνώριση της οδηγίας.

Το συμπέρασμα ισχύει και για τα τέσσερα ευρήματα: δεν μπορείς να βασιστείς στο ότι «ο κώδικας φαίνεται κανονικός» — κάθε μεμονωμένο βήμα μιας επίθεσης είναι πράγματι ακίνδυνο. Περιόρισε τις πραγματικές δυνατότητες agent και εξέτασε τις προτεινόμενες ενέργειες· ανίχνευση και περιορισμός αντιμετωπίζουν διαφορετικά μέρη της επίθεσης.

Τι προστασίες έχει ήδη το Claude Code — και γιατί δεν αρκούν;

Βασικά σημεία

Το Claude Code διαθέτει ενσωματωμένες προστασίες: αναλύει ολόκληρη την προτροπή για ύποπτες οδηγίες, χρησιμοποιεί απομονωμένα παράθυρα πλαισίου για περιεχόμενο ιστού, ελέγχει την εμπιστοσύνη κατά την πρώτη εκκίνηση σε νέο φάκελο και κατά τη σύνδεση διακομιστών MCP. Όμως η σημαία --dangerously-skip-permissions, την οποία πολλοί χρησιμοποιούν για να απενεργοποιήσουν τις ενοχλητικές ερωτήσεις δικαιωμάτων, απενεργοποιεί όλες αυτές τις προστασίες μονομιάς.

Η Anthropic αναγνωρίζει άμεσα το πρόβλημα στην τεκμηρίωσή της, αντί να το κρύβει:

Η έγχυση προτροπής είναι μια τεχνική κατά την οποία ένας εισβολέας επιχειρεί να παρακάμψει ή να τροποποιήσει τις οδηγίες ενός βοηθού AI, εισάγοντας κακόβουλο κείμενο. Το Claude Code περιλαμβάνει διάφορες προστασίες απέναντι σε αυτές τις επιθέσεις.

— Τεκμηρίωση Claude Code, https://code.claude.com/docs/en/security

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

Όμως υπάρχει ένας σοβαρός περιορισμός που η Anthropic διατυπώνει ξεκάθαρα:

Η λειτουργία bypassPermissions δεν παρέχει προστασία από έγχυση προτροπής ή ανεπιθύμητες ενέργειες.

— Τεκμηρίωση Claude Code, https://code.claude.com/docs/en/permission-modes

Αν έχεις εκκινήσει ποτέ το Claude Code με --dangerously-skip-permissions από εκνευρισμό, για να «σταματήσει να σε ζαλίζει με ερωτήσεις», τότε απενεργοποίησες όλους τους μηχανισμούς που θα μπορούσαν να είχαν σταματήσει ακριβώς τις τέσσερις επιθέσεις που συζητήσαμε παραπάνω. Κρατώ σκόπιμα αυτή τη σημαία απενεργοποιημένη, ακόμη κι όταν το Claude Code ρωτά ξανά για δέκατη φορά στη συνεδρία — γίνεται ενοχλητικό, αλλά αυτές οι ερωτήσεις είναι το όριο ανάμεσα στο «ο agent διάβασε ύποπτο κείμενο» και στο «ο agent το εκτέλεσε». Μια λογική ρύθμιση για κάποιον που δεν είναι προγραμματιστής είναι η τυπική λειτουργία δικαιωμάτων (default ή acceptEdits) μαζί με ενεργοποιημένο sandbox: οι συνηθισμένες αλλαγές αρχείων γίνονται χωρίς πρόσθετες ερωτήσεις, ενώ οι εντολές τερματικού δεν μπορούν φυσικά να βγουν έξω από το sandbox, ακόμη κι αν ο agent έχει παραπλανηθεί.

Πώς ενεργοποιείς τη λειτουργία sandbox και κλείνεις το κενό που αφήνει ανοιχτό από προεπιλογή;

Βασικά σημεία

Η εντολή /sandbox σε μια συνεδρία Claude Code περιορίζει τις τοποθεσίες στις οποίες μπορεί να γράψει ο agent και τα domain με τα οποία μπορεί να επικοινωνήσει. Λειτουργεί αμέσως σε macOS· σε Linux και WSL2 απαιτούνται τα πακέτα bubblewrap και socat. Μια σημαντική λεπτομέρεια: από προεπιλογή, το sandbox δεν αποκλείει την ανάγνωση αρχείων όπως το ~/.ssh — πρέπει να το ενεργοποιήσεις ξεχωριστά.

Για να το ενεργοποιήσεις μόνιμα σε όλα τα έργα, κάνε μία αλλαγή στο ~/.claude/settings.json:

{
  "sandbox": { "enabled": true }
}

Από προεπιλογή, οι εντολές που εκτελούνται στο sandbox μπορούν να γράφουν μόνο στον κατάλογο εργασίας του έργου και στον προσωρινό κατάλογο της συνεδρίας. Η πρόσβαση στο δίκτυο γίνεται μέσω proxy — κανένα domain δεν επιτρέπεται εκ των προτέρων και το Claude Code θα ζητήσει επιβεβαίωση την πρώτη φορά που θα επικοινωνήσει με νέο domain. Η Anthropic αναφέρει ότι αυτό μειώνει αισθητά τις προτροπές δικαιωμάτων — κατά 84% στις εσωτερικές μετρήσεις της εταιρείας — επειδή το sandbox χειρίζεται ορισμένες ασφαλείς περιπτώσεις από μόνο του αντί να σε ρωτά κάθε φορά.

Το κενό που αφήνουν ανοιχτό οι τυπικές ρυθμίσεις: το sandbox περιορίζει την εγγραφή από προεπιλογή, αλλά δεν εμποδίζει την ανάγνωση αρχείων όπως τα ~/.aws/credentials και ~/.ssh. Αυτά είναι ακριβώς τα αρχεία και οι μεταβλητές περιβάλλοντος που στοχεύουν οι επιθέσεις παραπάνω. Κλείσε αυτό το κενό με ξεχωριστό τμήμα στο ίδιο αρχείο:

{
  "sandbox": {
    "enabled": true,
    "credentials": {
      "files": [
        { "path": "~/.aws/credentials", "mode": "deny" },
        { "path": "~/.ssh", "mode": "deny" }
      ],
      "envVars": [
        { "name": "GITHUB_TOKEN", "mode": "deny" },
        { "name": "NPM_TOKEN", "mode": "deny" }
      ]
    }
  }
}

Το ζητούμενο είναι ότι ακόμη κι αν ανοίξει μέσα στο sandbox το reverse shell της πρώτης ανάλυσης, αυτές οι μεταβλητές και τα αρχεία έχουν αφαιρεθεί φυσικά από το περιβάλλον της διεργασίας πριν ξεκινήσει — δεν υπάρχει τίποτα για να κλέψει.

Ποιους κανόνες permissions.deny πρέπει να προσθέσεις σήμερα;

Βασικά σημεία

Το permissions.deny στο settings.json αποκλείει συγκεκριμένες ενέργειες σε επίπεδο κανόνων αντί να αναλύει την πρόθεση — και η Anthropic εγγυάται ρητά ότι ένας κανόνας deny υπερισχύει πάντα ενός κανόνα allow. Οι κανόνες deny περιορίζουν αντίστοιχες ενέργειες εργαλείων, αλλά δεν είναι όριο πρόσβασης λειτουργικού συστήματος· έμμεσες εντολές και άλλα εργαλεία χρειάζονται δικούς τους ελέγχους.

Ένα ελάχιστο σύνολο για κάποιον που δεν είναι προγραμματιστής και καλύπτει τα βασικά σημεία στόχευσης και των τεσσάρων επιθέσεων ταυτόχρονα:

{
  "permissions": {
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.aws/credentials)",
      "Read(.env)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(sudo *)"
    ]
  }
}

Σύμφωνα με την τεκμηρίωση του Claude Code, οι κανόνες deny έχουν πάντα προτεραιότητα έναντι των κανόνων allow. Έτσι, ακόμη κι αν εσύ (ή ο ίδιος ο agent) επιτρέψεις κατά λάθος ευρύτερη πρόσβαση αλλού, ο συγκεκριμένος κανόνας deny εξακολουθεί να εφαρμόζεται πρώτος. Αυτή η προτεραιότητα κανόνων ισχύει σε αιτήματα εργαλείων που ταιριάζουν. Δεν αποδεικνύει ότι μυστικό είναι απρόσιτο μέσω κάθε υποδιεργασίας ή εργαλείου· χρησιμοποίησε και επιβεβλημένους περιορισμούς συστήματος αρχείων και περιβάλλοντος.

Το Claude Code διαθέτει επίσης λειτουργία auto, στην οποία ένα ξεχωριστό μοντέλο ταξινομητή ελέγχει τις ενέργειες πριν εκτελεστούν — δεν είναι το ίδιο μοντέλο που συνομιλεί μαζί σου. Από προεπιλογή, μεταξύ άλλων, αποκλείει ακριβώς το μοτίβο «κατέβασε κώδικα και εκτέλεσέ τον αμέσως» (curl | bash), με το οποίο ολοκληρώνεται η πρώτη επίθεση παραπάνω. Η Anthropic προειδοποιεί ρητά ότι πρόκειται για ερευνητική λειτουργία που μειώνει τον αριθμό των προτροπών, αλλά δεν εγγυάται από μόνη της την ασφάλεια — αντιμετώπισέ την ως πρόσθετο επίπεδο, όχι ως αντικατάσταση του sandbox και του permissions.deny.

Πώς ελέγχεις ένα αποθετήριο και έναν διακομιστή MCP πριν τους εμπιστευτείς στον agent σου;

Βασικά σημεία

Πριν ζητήσεις από το Claude Code να εκτελέσει ένα ξένο αποθετήριο, έλεγξε την ηλικία του, το ιστορικό των commits και την προέλευση του συνδέσμου. Πριν εγκαταστήσεις διακομιστή MCP, χρησιμοποίησε μόνο έμπιστες πηγές και θυμήσου ότι η ίδια η Anthropic δεν ελέγχει την ασφάλεια διακομιστών τρίτων. Και οι δύο λίστες ελέγχου χρειάζονται μερικά λεπτά και καλύπτουν ακριβώς τα σημεία εισόδου που χρησιμοποιήθηκαν και στις τέσσερις επιθέσεις που συζητήθηκαν παραπάνω.

Για αποθετήρια, ακολουθεί μια σύντομη λίστα ελέγχου πριν τα παραδώσεις στον agent:

  1. Μην προχωράς κατευθείαν στην εγκατάσταση από σύνδεσμο σε email, ανάρτηση ή κριτική άγνωστης πηγής — έτσι μπορούν να διαδοθούν τέτοια αποθετήρια.
  2. Αν η εγκατάσταση εμφανίσει σφάλμα με οδηγία «εκτέλεσε την εντολή X για να το διορθώσεις», διάβασε τι ακριβώς κάνει η X πριν επιτρέψεις στο Claude Code να την εκτελέσει. Μια οδηγία μπορεί να μοιάζει εντελώς συνηθισμένη — αυτό είναι το ζητούμενο.
  3. Έλεγξε την ηλικία του αποθετηρίου και το ιστορικό των commits, όχι μόνο τον αριθμό των stars — είναι εύκολο να δοθούν πλαστά stars σε νεοδημιουργημένα αποθετήρια ειδικά για τέτοιου είδους επιθέσεις.
  4. Αν το αποθετήριο δεν σου είναι γνωστό, εκτέλεσε την εγκατάσταση σε εικονική μηχανή και όχι στον υπολογιστή εργασίας σου με πραγματικά κλειδιά. Αυτή είναι η άμεση σύσταση της ίδιας της Anthropic για την εργασία με εξωτερικές υπηρεσίες.

Η θέση της Anthropic για τους διακομιστές MCP διατυπώνεται ανοιχτά:

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

— Τεκμηρίωση Claude Code, https://code.claude.com/docs/en/security

Αυτό σημαίνει ότι εσύ είσαι υπεύθυνος για τον έλεγχο των διακομιστών MCP τρίτων, όχι η πλατφόρμα από την οποία τους εγκατέστησες. Ορισμένες ομάδες — κυρίως νεοφυείς εταιρείες ασφάλειας — δημιουργούν ήδη εργαλεία για αυτό: σαρωτές ρυθμίσεων MCP που αναζητούν δηλητηριασμένες περιγραφές και «καρφίτσωμα» εργαλείων, το οποίο αποθηκεύει το hash της περιγραφής κατά την πρώτη εγκατάσταση και επισημαίνει κάθε μεταγενέστερη αλλαγή. Αυτές οι τεχνολογίες είναι νέες, οπότε είναι πολύ νωρίς για να βασιστείς σε αυτές ως μοναδική προστασία — αλλά αξίζει να τις παρακολουθείς, ειδικά αν συνδέεις διακομιστές MCP με συστήματα παραγωγής. Για αυτές τις συνδέσεις, μπορείς να καρφιτσώνεις την έκδοση κάθε πακέτου και να καταγράφεις το αποτύπωμα των περιγραφών εργαλείων σε αρχείο ελέγχου.

7 κανόνες προστασίας: η σημερινή λίστα ελέγχου

Βασικά σημεία

Όλα όσα περιέχει αυτός ο οδηγός συνοψίζονται σε επτά συγκεκριμένες ενέργειες: τρεις αλλαγές σε ένα αρχείο settings.json (sandbox, credentials, permissions.deny) και τέσσερις συνήθειες για την εργασία με κώδικα, σφάλματα και διακομιστές MCP τρίτων. Καμία δεν απαιτεί ειδικές γνώσεις — ολόκληρη η λίστα ελέγχου χρειάζεται λιγότερο από 20 λεπτά.

  1. Ενεργοποίησε τη λειτουργία sandbox (/sandbox ή "sandbox": {"enabled": true} στο ~/.claude/settings.json) και πρόσθεσε ένα τμήμα credentials που εμποδίζει την ανάγνωση των ~/.ssh και ~/.aws/credentials.
  2. Πρόσθεσε κανόνες permissions.deny για την ανάγνωση αρχείων με μυστικά και για επικίνδυνες εντολές bash (curl, wget, sudo) — ένας κανόνας deny υπερισχύει πάντα ενός κανόνα allow.
  3. Μην εκτελείς ποτέ το --dangerously-skip-permissions σε ξένο ή μη επαληθευμένο κώδικα — απενεργοποιεί όλες τις προστασίες μονομιάς, ακόμη και εκείνες που θα μπορούσαν να σταματήσουν ακριβώς αυτές τις επιθέσεις.
  4. Μην αφήνεις το Claude Code να εκτελεί αυτόματα μια εντολή «επιδιόρθωσης» από μήνυμα σφάλματος — διάβασε πρώτα τι κάνει πραγματικά.
  5. Εγκαθιστάς διακομιστές MCP μόνο από πηγές που εμπιστεύεσαι και θυμήσου ότι η Anthropic δεν τους ελέγχει για λογαριασμό σου.
  6. Διαχώρισε τις συνεδρίες ανάλογα με τα δικαιώματα: μία εργάζεται με τα προσωπικά σου δεδομένα και δεν βλέπει εξωτερικά δεδομένα· μια δεύτερη εξετάζει email, αποθετήρια και tickets άλλων, αλλά δεν έχει πρόσβαση σε μυστικά· μια τρίτη δημοσιεύει προς τα έξω — και μόνο όσα ενέκρινες προσωπικά. Εφαρμόζω αυστηρά αυτόν τον κανόνα στα δικά μου έργα: μια συνεδρία με πρόσβαση σε κλειδιά πληρωμών δεν διαβάζει αυθαίρετα εξωτερικά tickets ή αποθετήρια, ενώ μια συνεδρία που αναλύει κώδικα άλλων δεν βλέπει καθόλου μυστικά. Μην αναμειγνύεις αυτούς τους ρόλους σε μία συνομιλία.
  7. Διατήρησε ενημερωμένα το Claude Code και τα συνδεδεμένα σενάρια αυτοματοποίησης — τα περισσότερα κενά που συζητήθηκαν εδώ είχαν ήδη κλείσει με διορθώσεις όταν δημοσιεύτηκε αυτός ο οδηγός, ενώ τα νέα διορθώνονται με παρόμοιο τρόπο.

Τι ακολουθεί

Κανένα από αυτά τα επίπεδα δεν αποτελεί εγγύηση — η ίδια η Anthropic λέει με ειλικρίνεια ότι καμία προστασία δεν παρέχει πλήρη ανοσία. Δεν περιμένω από το Claude Code να αναγνωρίσει από μόνο του ένα τέχνασμα σε μήνυμα σφάλματος ή σχόλιο issue. Για μένα, το sandbox και το permissions.deny αποτελούν μέρος της διαχείρισης του πλαισίου του έργου: τι βλέπει ο agent, τι εμπιστεύεται από προεπιλογή και τι συμβαίνει όταν κάνει λάθος.

Αν χρειάζεσαι πρόσβαση σε νευρωνικά δίκτυα μέσω Ailoot, ρίξε μια ματιά στο Ailoot.

Περισσότερες λεπτομέρειες

Ερωτήσεις και απαντήσεις: Πώς το αποθετήριο κάποιου άλλου χακάρει το Claude Code το 2026: 7 κανόνες προστασίας

Το αναφερόμενο 85% επιτυχίας προβλέπει τον κίνδυνο της σημερινής διαμόρφωσής μου;

Όχι. Είναι συγκεντρωτικό αποτέλεσμα Tenet από ελεγχόμενες σειρές επικύρωσης, χωρίς πλήρη δημόσια λίστα μοντέλων, αναπαραγώγιμο πλαίσιο δοκιμών ή ακριβή παρονομαστή προσπαθειών. Εργαλεία, εγκρίσεις, διαπιστευτήρια και πρόσβαση δικτύου του agent καθορίζουν ποιες ενέργειες είναι δυνατές.

Γιατί δεν αρκεί σάρωση μόνο του κλωνοποιημένου αποθετηρίου;

Το τελικό payload μπορεί να έρθει αργότερα μέσω αναφοράς σφάλματος, μεταδεδομένων εργαλείου ή ανακτημένου περιεχομένου DNS. Εξέτασε όλη τη διαδρομή εκτέλεσης και περιόρισε διαπιστευτήρια, αρχεία, εργαλεία και δίκτυο· scanners και κανόνες deny μόνοι τους δεν αποδεικνύουν πλήρη περιορισμό.

Όλα τα άρθρα