Κυβερνοασφάλεια
Κρίσιμη ευπάθεια στην πλατφόρμα MCP Server εκθέτει 3.000 διακομιστές
Κρίσιμη ευπάθεια στην πλατφόρμα MCP εκθέτει χιλιάδες διακομιστές και API keys, αναδεικνύοντας τους κινδύνους στην κεντρική φιλοξενία AI.
Μια κρίσιμη ευπάθεια ανακαλύφθηκε στην πλατφόρμα Smithery.ai, ένα δημοφιλές registry για διακομιστές Model Context Protocol (MCP). Αυτή η ευπάθεια θα μπορούσε να επιτρέψει σε επιτιθέμενους να κλέψουν δεδομένα από περισσότερους από 3.000 διακομιστές AI και να αποκτήσουν API keys από χιλιάδες χρήστες σε διάφορες υπηρεσίες.
Η λειτουργία του MCP στο οικοσύστημα AI
Το MCP αποτελεί τη ραχοκοκαλιά πολλών εφαρμογών AI, επιτρέποντάς τους να συνδέονται με εξωτερικά εργαλεία και δεδομένα, όπως τοπικά συστήματα αρχείων ή απομακρυσμένες βάσεις δεδομένων. Οι διακομιστές MCP μπορούν να είναι τοπικοί ή απομακρυσμένοι, με τους τελευταίους να είναι συχνά αυτο-φιλοξενούμενοι ή πλήρως διαχειριζόμενοι από παρόχους υπηρεσιών.
Σύμφωνα με την GitGuardian, το υβριδικό μοντέλο της Smithery.ai απλοποιεί την ανάπτυξη φιλοξενώντας διακομιστές που υποβάλλονται από χρήστες στην υποδομή της, οι οποίοι κατασκευάζονται από αποθετήρια GitHub σε εικόνες Docker. Αυτή η ευκολία όμως αύξησε το ρίσκο: μια μοναδική παραβίαση θα μπορούσε να έχει επιπτώσεις σε ολόκληρο το οικοσύστημα των εργαλείων AI.
Αξιοποίηση μιας απλής ευπάθειας διαμόρφωσης
Η ευπάθεια προέκυψε από ανεπαρκείς ελέγχους στη διαδικασία κατασκευής της Smithery. Οι χρήστες υποβάλλουν ένα αρχείο smithery.yaml που καθορίζει το πλαίσιο κατασκευής Docker μέσω της παραμέτρου dockerBuildPath. Σε σωστές ρυθμίσεις, αυτή η παράμετρος δείχνει μέσα στο αποθετήριο, αλλά το σύστημα δεν επιβεβαίωνε τις εισόδους, επιτρέποντας επιθέσεις μετακίνησης διαδρομής (path traversal).
Ρυθμίζοντας το dockerBuildPath σε “..”, οι επιτιθέμενοι μπορούσαν να αναφερθούν στον κατάλογο home του μηχανήματος δημιουργίας, εκθέτοντας ευαίσθητα αρχεία σε έναν κακόβουλο Dockerfile.
Η επιβεβαίωση της ευπάθειας από τη GitGuardian
Κατά τη διάρκεια των δοκιμών, η GitGuardian δημιούργησε ένα αποθετήριο με όνομα “test” με ένα πειραγμένο yaml και Dockerfile. Το τελευταίο χρησιμοποιούσε την εντολή curl για να εξάγει το δέντρο των καταλόγων σε μια τοποθεσία που ελέγχεται από επιτιθέμενους, αποκαλύπτοντας αρχεία όπως το .docker/config.json.
Αυτό το αρχείο περιείχε ένα υπερ-προνομιακό fly.io authentication token, το οποίο προοριζόταν για πρόσβαση στο Docker registry αλλά παρείχε ευρύτερα προνόμια API στο μηχάνημα.
Η κρίσιμη σημασία των tokens
Η πλατφόρμα Fly.io υποστηρίζει τη φιλοξενία της Smithery με εικονικοποιημένα containers, και το token επέτρεψε την πρόσβαση σε έναν οργανισμό με 3.243 εφαρμογές, κυρίως διακομιστές MCP, καθώς και την υποδομή υπηρεσιών.
Με το token, οι επιτιθέμενοι μπορούσαν να ερωτήσουν εφαρμογές, να εκτελέσουν κώδικα σε μηχανές (επιβεβαιώνοντας πρόσβαση root μέσω της εντολής “id”), και ακόμη και να παρακολουθήσουν την κυκλοφορία του δικτύου.

Η απειλή για τα API keys
Η καταγραφή αιτημάτων HTTP σε έναν παραβιασμένο διακομιστή αποκάλυψε API keys που αποστέλλονται από πελάτες, όπως ένα Brave key σε παραμέτρους ερωτήματος. Αν κλιμακωθεί, αυτό θα μπορούσε να συλλέξει μυστικά από χιλιάδες πελάτες που συνδέονται με υπηρεσίες μέσω διακομιστών MCP, σύμφωνα με την GitGuardian.
Το περιστατικό υπογραμμίζει τους κινδύνους της αλυσίδας εφοδιασμού στην κεντρική φιλοξενία AI. Οι διακομιστές MCP βασίζονται συχνά σε στατικά API keys αντί για OAuth, διευκολύνοντας τις επιθέσεις αλλά περιπλέκοντας τον περιορισμό των προνομίων.
Η αντίδραση και τα διδάγματα
Αντηχώντας παραβιάσεις όπως η κατάχρηση OAuth της Salesloft, δείχνει πώς μια ευπάθεια επιτρέπει την πλευρική κίνηση μέσω εμπιστεύσεων.
Η Smithery διόρθωσε την ευπάθεια στις 15 Ιουνίου 2025, μετά από την αποκάλυψη στις 13 Ιουνίου, ανανεώνοντας τα keys και σφίγγοντας την κατασκευή. Καθώς τα οικοσυστήματα AI μεγαλώνουν, τέτοιες πλατφόρμες πρέπει να δώσουν προτεραιότητα στην απομόνωση για να προστατεύσουν τους προγραμματιστές από απειλές που διαπερνούν ολόκληρο το οικοσύστημα.
Follow us on Google News, LinkedIn, and X for daily cybersecurity updates. Contact us to feature your stories.