Οι περισσότερες ιστορίες ασφάλειας σε αυτό το ενημερωτικό δελτίο αφορούν πράγματα που συμβαίνουν άμεσα σε εσάς: ένα μήνυμα ηλεκτρονικού ψαρέματος, έναν κωδικό πρόσβασης που διέρρευσε, έναν πλαστό ιστότοπο αγορών. Αυτή είναι διαφορετική. Τα περιστατικά παρακάτω συνέβησαν σε προγραμματιστές — τους ανθρώπους που γράφουν τις εφαρμογές και τις υπηρεσίες που χρησιμοποιείτε καθημερινά. Ο λόγος όμως που ανήκουν εδώ είναι απλός: αν κάποιος δηλητηριάσει τα εργαλεία που χρησιμοποιούνται για την ανάπτυξη λογισμικού, το δηλητήριο δεν μένει στον δημιουργό. Αποστέλλεται μαζί με το προϊόν.
Πρόσφατα συνέβησαν δύο πράγματα που το δείχνουν αυτό. Κανένα δεν έγινε πρωτοσέλιδο όπως μια μεγάλη παραβίαση, επειδή κανένα δεν αποτελεί παραβίαση που αφορά εσάς συγκεκριμένα. Πρόκειται και στις δύο περιπτώσεις για επιθέσεις στην αλυσίδα που παράγει το λογισμικό το οποίο τελικά εγκαθιστάτε, ανοίγετε ή στο οποίο συνδέεστε.
Πλαστές επεκτάσεις μεταμφιεσμένες σε αξιόπιστες επωνυμίες
Το Open VSX είναι μια δημόσια αγορά για επεκτάσεις επεξεργαστών κώδικα — μικρά πρόσθετα που εγκαθιστούν οι προγραμματιστές για να αποκτήσουν αυτόματη συμπλήρωση, έλεγχο κώδικα και διασυνδέσεις με τα εργαλεία που χρησιμοποιούν καθημερινά (το Visual Studio Code και αρκετά από τα συγγενικά του έργα ανοιχτού κώδικα αντλούν από εκεί). Μεταξύ 26 Ιουλίου και 1 Αυγούστου 2026, ερευνητές ασφάλειας της Manifold Security εντόπισαν 77 πλαστές επεκτάσεις στο μητρώο. Η καθεμία αντέγραφε το όνομα και τον χώρο ονομάτων μιας πραγματικής, αξιόπιστης επέκτασης, αλλά είχε δημοσιευτεί από λογαριασμό που δεν ήταν ιδιοκτήτης της αρχικής — μια κλασική κίνηση πλαστοπροσωπίας, που μερικές φορές αποκαλείται κατάληψη χώρου ονομάτων.
Τα ονόματα που είχαν καταληφθεί δεν ήταν τυχαία. Δανείζονταν τις ταυτότητες των AMD, LEGO Education, Hyperledger, Azure, Artsy, έργων ανοιχτού κώδικα της Salesforce, μιας ομοσπονδιακής υπηρεσίας των ΗΠΑ και — με μια μορφή μαύρης ειρωνείας — της ίδιας της αγοράς επεκτάσεων. Και τα 77 πακέτα επικοινωνούσαν με έναν μόνο τομέα, ο οποίος είχε καταχωριστεί μόλις 11 ημέρες πριν εμφανιστεί το πρώτο πλαστό πακέτο, ένα μοτίβο που υποδηλώνει συντονισμένη, ειδικά σχεδιασμένη εκστρατεία και όχι ευκαιριακή αντιγραφή.
Οι περισσότερες από τις πλαστές επεκτάσεις έκαναν κάτι σχετικά περιορισμένο: έστελναν αθόρυβα το όνομα κεντρικού υπολογιστή στον διακομιστή του επιτιθέμενου, κάτι που από μόνο του μπορεί απλώς να αποτελεί έλεγχο για να διαπιστωθεί ποιος εγκατέστησε το δόλωμα. Οι ερευνητές όμως διαπίστωσαν ότι περίπου το ένα τέταρτο των 77 — 19 πακέτα — προχωρούσε παραπέρα. Δευτερόλεπτα μετά την ενεργοποίηση, συνέλεγαν το όνομα κεντρικού υπολογιστή, το όνομα χρήστη του λειτουργικού συστήματος, στοιχεία του επεξεργαστή και ένα αναγνωριστικό μηχανήματος. Στη συνέχεια διάβαζαν όποιο έργο είχε ανοιχτό ο προγραμματιστής: το git remote (που αποκαλύπτει τον οργανισμό και τον πάροχο του αποθετηρίου), τον τομέα του email των υποβολών, τον τρέχοντα κλάδο και την πιο πρόσφατη υποβολή. Επίσης αντλούσαν τιμές συνεχούς ολοκλήρωσης — τα διαπιστευτήρια και τη διαμόρφωση που επιτρέπουν σε αυτοματοποιημένα συστήματα να δημιουργούν και να αναπτύσσουν κώδικα χωρίς κάποιος άνθρωπος να πληκτρολογεί κωδικό πρόσβασης κάθε φορά.
Κανένα από αυτά τα δεδομένα δεν είναι χρήσιμο για να αδειάσει κανείς τον τραπεζικό λογαριασμό κάποιου. Είναι χρήσιμο για κάτι άλλο: για να διαπιστωθεί σε ποιες εταιρείες εργάζεται ένας προγραμματιστής, πώς μοιάζει η εσωτερική τους υποδομή και πώς μπορεί να αποκτηθεί πρόσβαση σε αυτήν.
Ένα σφάλμα με βαθμολογία 9,8 στα 10 στο μηχάνημα που δημιουργεί το λογισμικό
Το δεύτερο περιστατικό αφορά το TeamCity, μια πλατφόρμα συνεχούς ολοκλήρωσης και συνεχούς παράδοσης (CI/CD) της JetBrains. Αν ο επεξεργαστής κώδικα είναι το σημείο όπου οι προγραμματιστές γράφουν λογισμικό, μια πλατφόρμα CI/CD είναι το αυτοματοποιημένο εργοστάσιο όπου ο κώδικας μεταγλωττίζεται, δοκιμάζεται και προωθείται στην παραγωγή — συχνά χωρίς κανένας άνθρωπος να κάνει κλικ στην επιλογή «ανάπτυξη». Το TeamCity αποτελεί κεντρικό μέρος αυτού του μηχανισμού σε πολλές εταιρείες.
Μια ευπάθεια με την καταχώριση CVE-2026-63077 και βαθμολογία σοβαρότητας 9.8 με μέγιστο το 10 αποκαλύφθηκε στις εκδόσεις του TeamCity που φιλοξενούνται στις εγκαταστάσεις των οργανισμών. Πρόκειται για ελάττωμα αποσειριοποίησης — μια κατηγορία σφάλματος όπου ένα πρόγραμμα εμπιστεύεται τα εισερχόμενα δεδομένα τόσο ώστε να τα μετατρέπει απευθείας σε κώδικα που εκτελείται, χωρίς να ελέγξει πρώτα τι είναι πραγματικά αυτά τα δεδομένα. Στην πράξη, επέτρεπε σε έναν επιτιθέμενο να στείλει ένα αίτημα σε ευάλωτο διακομιστή TeamCity, χωρίς να απαιτείται σύνδεση, και να εκτελέσει αυθαίρετες εντολές με τα ίδια δικαιώματα με την ίδια την υπηρεσία TeamCity. Η JetBrains διέθεσε ενημερώσεις κώδικα (τις εκδόσεις 2025.11.7 και 2026.1.3, καθώς και ένα πρόσθετο ενημέρωσης κώδικα για παλαιότερες εγκαταστάσεις 2017.1+), αλλά η Υπηρεσία Κυβερνοασφάλειας και Ασφάλειας Υποδομών των ΗΠΑ (CISA) έχει έκτοτε προειδοποιήσει ότι οι επιτιθέμενοι εκμεταλλεύονται ενεργά μη ενημερωμένα συστήματα.
Όποιος ελέγχει τον διακομιστή δημιουργίας μιας εταιρείας ελέγχει τι αποστέλλει η εταιρεία. Αυτό δεν είναι υποθετικό — είναι η κυριολεκτική λειτουργία του εργαλείου.
Το ίδιο εγχειρίδιο, δύο διαφορετικές πόρτες
Πρόκειται για άσχετα μεταξύ τους περιστατικά από διαφορετικούς ερευνητές, αλλά έχουν κοινή μορφή. Κανένα δεν επιτίθεται σε ένα ολοκληρωμένο προϊόν. Και τα δύο επιτίθενται ένα βήμα νωρίτερα — στον επεξεργαστή όπου γράφει κώδικα ένας προγραμματιστής ή στον διακομιστή που μετατρέπει αυτόν τον κώδικα σε έκδοση προς αποστολή. Αυτό είναι το καθοριστικό χαρακτηριστικό μιας επίθεσης στην αλυσίδα εφοδιασμού λογισμικού: αντί να διαρρήξεις έναν στόχο, παραβιάζεις κάτι upstream από το οποίο εξαρτώνται πολλοί στόχοι και αφήνεις τη δική τους αξιόπιστη διαδικασία να μεταφέρει την πρόσβασή σου προς τα εμπρός για λογαριασμό σου.
Αξίζει να είμαστε ειλικρινείς σχετικά με όσα δεν γνωρίζουμε ακόμη. Καμία από τις δύο αναφορές που εμφανίστηκαν αυτή την εβδομάδα δεν αποκάλυψε επιβεβαιωμένη περίπτωση παραβίασης μιας εφαρμογής ή ενός χρήστη downstream ως άμεσο αποτέλεσμα — η εκστρατεία με τις επεκτάσεις μοιάζει με αναγνώριση και συγκέντρωση πρόσβασης, ενώ η εκμετάλλευση του TeamCity περιγράφεται ως ενεργή, αλλά χωρίς κατονομασμένα θύματα. Αυτό είναι φυσιολογικό· οι παραβιάσεις της αλυσίδας εφοδιασμού συχνά εντοπίζονται στο σημείο εισόδου πολύ πριν (ή αντί) εντοπιστεί η τελική αξιοποίηση.
Γιατί αυτό είναι δικό σας πρόβλημα και όχι μόνο δικό τους
Πιθανότατα δεν θα εγκαταστήσετε ποτέ μια επέκταση κώδικα ούτε θα εκτελέσετε έναν διακομιστή CI/CD. Χρησιμοποιείτε όμως το αποτέλεσμα εκατοντάδων από αυτά: την τραπεζική σας εφαρμογή, τη διαχείριση κωδικών πρόσβασης, τη σχολική πύλη του παιδιού σας, το πρόγραμμα περιήγησης στο οποίο διαβάζετε αυτό. Όλα πέρασαν από τον επεξεργαστή κάποιου προγραμματιστή και τη γραμμή δημιουργίας κάποιας εταιρείας πριν φτάσουν στο τηλέφωνό σας. Αν κάποιος από αυτούς τους κρίκους έχει παραβιαστεί αθόρυβα, η κακόβουλη αλλαγή μπορεί να μεταφερθεί μαζί με μια συνηθισμένη, τακτική ενημέρωση λογισμικού — του είδους που εγκαθιστάτε επειδή σας είπαν ότι η ενημέρωση είναι το ασφαλές πράγμα που πρέπει να κάνετε.
Αυτός είναι επίσης ο λόγος που οι συμβουλές σε μια έκθεση μετά από παραβίαση μερικές φορές φαίνονται παράξενες στους μη τεχνικούς αναγνώστες: μια εταιρεία λέει ότι τα συστήματά της παραβιάστηκαν μέσω ενός διακομιστή δημιουργίας, ενός κλεμμένου διαπιστευτηρίου προγραμματιστή ή μιας κακόβουλης εξάρτησης, και αυτό μπορεί να ακούγεται αφηρημένο σε σύγκριση με το «κάποιος μάντεψε τον κωδικό πρόσβασής μου». Δεν είναι αφηρημένο. Είναι το ίδιο αποτέλεσμα — τα δεδομένα σας ή η ακεραιότητα της εφαρμογής σας παραβιάστηκαν — που επιτεύχθηκε μέσω μιας πόρτας που δεν γνωρίζατε ότι υπήρχε.
Τι βοηθά πραγματικά
Δεν μπορείτε να ελέγξετε τη γραμμή CI/CD της τράπεζάς σας και δεν θα έπρεπε να χρειάζεται. Ωστόσο, μερικές συνήθειες μειώνουν ουσιαστικά την έκθεσή σας σε αυτή την κατηγορία κινδύνου:
Διατηρείτε ενεργές τις αυτόματες ενημερώσεις, αλλά μην αντιμετωπίζετε τις ενημερώσεις ως αυτομάτως αξιόπιστες. Οι ενημερώσεις κώδικα είναι ο τρόπος με τον οποίο διορθώσεις όπως αυτή του TeamCity παραπάνω φτάνουν στο λογισμικό που εκτελείτε — η διατήρηση των πιο πρόσφατων εκδόσεων κλείνει τα παράθυρα που διερευνούν ενεργά οι επιτιθέμενοι. Ταυτόχρονα, μια ενημέρωση είναι τόσο καλή όσο και η γραμμή παραγωγής που τη δημιούργησε, η οποία είναι ακριβώς αυτό που στοχεύεται εδώ· δεν υπάρχει τέλεια ατομική άμυνα απέναντι σε μια πραγματικά δηλητηριασμένη έκδοση upstream, γι’ αυτό και αυτό είναι θεμελιωδώς πρόβλημα ευθύνης του προμηθευτή, όχι δικό σας πρόβλημα.
Αν εργάζεστε με προγραμματιστές ή τους διαχειρίζεστε, υπάρχουν δύο συγκεκριμένα και ελέγξιμα πράγματα: βεβαιωθείτε ότι κάθε επέκταση επεξεργαστή κώδικα έχει εγκατασταθεί από τον πραγματικό επαληθευμένο λογαριασμό του εκδότη και όχι απλώς από έναν λογαριασμό με ίδιο όνομα (το Open VSX και παρόμοιες αγορές εμφανίζουν την ταυτότητα του εκδότη — ελέγξτε την, μην εμπιστεύεστε μόνο το εικονίδιο και τον τίτλο)· και αν ο οργανισμός σας εκτελεί TeamCity στις εγκαταστάσεις του, επιβεβαιώστε σήμερα ότι χρησιμοποιεί την έκδοση 2025.11.7 ή 2026.1.3 ή ότι έχει εφαρμοστεί το πρόσθετο ενημέρωσης κώδικα, όχι στο επόμενο παράθυρο συντήρησης — η προειδοποίηση της CISA σημαίνει ότι αυτό εκμεταλλεύεται ενεργά, δεν είναι θεωρητικό.
Για όλους τους υπόλοιπους, η χρήσιμη αλλαγή είναι απλώς η επίγνωση: όταν διαβάζετε για παραβίαση μιας εταιρείας που ανάγεται σε «παραβιασμένο εργαλείο προγραμματιστή» ή «σύστημα δημιουργίας», αυτό δεν είναι μια εξειδικευμένη τεχνική υποσημείωση. Ανήκει στην ίδια κατηγορία περιστατικών με τις παραβιάσεις κωδικών πρόσβασης και τις απάτες ηλεκτρονικού ψαρέματος που καλύπτει συχνότερα αυτό το ενημερωτικό δελτίο — απλώς ξεκίνησε ένα επίπεδο upstream πιο μακριά, πριν το προϊόν φτάσει ποτέ σε εσάς.