Techsy
Επικοινωνία
Ξεκίνα τώρα
Επιστροφή στο blog
cybersecurity

Το GitHub παραβιάστηκε μέσω επέκτασης του VS Code (Μάιος 2026): Το επείγον πλάνο δράσης 60 λεπτών που πρέπει να εφαρμόσει κάθε προγραμματιστής απόψε

Ραίτη Mert Batur Gürbüz
Ενημερώση May 20, 2026
17 εξάγουμε ανάγνωση
Περιεχόμενα
Το GitHub παραβιάστηκε μέσω επέκτασης του VS Code (Μάιος 2026): Το επείγον πλάνο δράσης 60 λεπτών που πρέπει να εφαρμόσει κάθε προγραμματιστής απόψε

Το GitHub παραβιάστηκε μέσω επέκτασης του VS Code (Μάιος 2026): Το επείγον πλάνο δράσης 60 λεπτών που πρέπει να εφαρμόσει κάθε προγραμματιστής απόψε

Στις 20 Μαΐου 2026, το GitHub επιβεβαίωσε ότι περίπου 3.800 από τα εσωτερικά αποθετήρια πηγαίου κώδικά του διέρρευσαν μέσω μιας κακόβουλης επέκτασης του VS Code που είχε εγκατασταθεί στον σταθμό εργασίας ενός υπαλλήλου. Εάν χρησιμοποιήσατε ένα GitHub PAT ή token npm μέσα στο VS Code τις τελευταίες 14 ημέρες, τα επόμενα 60 λεπτά έχουν κρίσιμη σημασία. Αυτό είναι το πλάνο δράσης: τι ακριβώς συνέβη, εάν επηρεάζεστε και τι πρέπει να ανανεώσετε πρώτο.

Βασικά Συμπεράσματα

  • Τι συνέβη: Η υποδομή παραγωγής του GitHub.com δεν παραβιάστηκε. Ο σταθμός εργασίας ενός υπαλλήλου εγκατέστησε μια «δηλητηριασμένη» επέκταση (πολύ πιθανόν την Nx Console v18.95.0) που εξήγαγε PATs και διέρρευσε ~3.800 εσωτερικά αποθετήρια.
  • Δεδομένα πελατών: Δεν επηρεάστηκαν. Τα δεδομένα που compromises ήταν ο εσωτερικός πηγαίος κώδικας του GitHub, όχι ο κώδικας ή οι λογαριασμοί πελατών.
  • Ποιοι διατρέχουν κίνδυνο: Οποιοσδήποτε προγραμματιστής εγκατέστησε επέκταση του VS Code μεταξύ περίπου 18 Μαΐου, 12:36 UTC και 18 Μαΐου, 12:47 UTC (το παράθυρο των 11 λεπτών), ή οποιοσδήποτε χρησιμοποιούσε μακροχρόνια GitHub PATs από μέσα στο VS Code.
  • Τι να κάνετε τώρα: Ανανεώστε πρώτα τα GitHub PATs, δεύτερον τα tokens npm, τρίτον τα κλειδιά AWS/cloud. Το πλήρες πλάνο δράσης βρίσκεται στην ενότητα «Τι πρέπει να κάνουν οι προγραμματιστές» παρακάτω.

TL;DR: Τα 6 πράγματα που πρέπει να κάνετε την επόμενη ώρα

Ο γρηγορότερος τρόπος για να περιορίσετε την έκταση της ζημιάς από την ιστορία του github hacked vscode extension είναι να ανανεώσετε τα διαπιστευτήρια στα οποία έχει πρόσβαση μια δηλητηριασμένη επέκταση, να ελέγξετε τι είναι εγκατεστημένο στον φορητό σας υπολογιστή και να εξετάσετε το αρχείο καταγραφής του οργανισμού σας στο GitHub για το παράθυρο 18-20 Μαΐου UTC. Έξι ενέργειες, καταταγμένες κατά βαρύτητα, με σειρά.

  1. Ανακαλέστε κάθε GitHub Personal Access Token που δημιουργήθηκε ή χρησιμοποιήθηκε στο VS Code τις τελευταίες 30 ημέρες.
  2. Ανανεώστε τα tokens npm μέσω npm token revoke και εκδώστε ξανά με 2FA + trusted publishing.
  3. Σκανάρετε τον φορητό σας υπολογιστή για IoCs από το GHSA-c9j4-9m59-847w (διαδρομές αρχείων, διεργασίες· οι εντολές ακολουθούν).
  4. Ελέγξτε το code --list-extensions --show-versions και απεγκαταστήστε οτιδήποτε δεν μπορείτε να δικαιολογήσετε.
  5. Καθορίστε συγκεκριμένες versions επεκτάσεων στο devcontainer.json και επιβάλετε μια allow-list σε επίπεδο οργανισμού.
  6. Ελέγξτε το audit log του οργανισμού σας στο GitHub για μη εξουσιοδοτημένα pushes σε αποθετήρια μεταξύ 18-20 Μαΐου UTC.

Εάν έχετε χρόνο μόνο για δύο, κάντε τα #1 και #3. Τα υπόλοιπα μπορούν να περιμένουν μία ώρα.

Παραβιάστηκε πραγματικά το GitHub; Ας ξεκαθαρίσουμε τον τίτλο

Όχι, η υποδομή παραγωγής του GitHub.com δεν παραβιάστηκε στις 20 Μαΐου 2026. Ο σταθμός εργασίας ενός μεμονωμένου υπαλλήλου του GitHub compromises μετά την εγκατάσταση μιας κακόβουλης επέκτασης VS Code (πολύ πιθανόν της Nx Console v18.95.0). Ο επιτιθέμενος, που αυτοαποκαλείται TeamPCP (καταγραμμένος ως UNC6780), εξήγαγε περίπου 3.800 από τα εσωτερικά αποθετήρια πηγαίου κώδικα του GitHub. Ο κώδικας πελατών, οι λογαριασμοί πελατών και οι υπηρεσίες παραγωγής του GitHub δεν επηρεάζονται.

Ακολουθεί η καθαρότερη εκδοχή του τι συνέβη και τι δεν συνέβη.

Τι συνέβηΤι ΔΕΝ συνέβη
Ο φορητός υπολογιστής ενός υπαλλήλου compromises μέσω δηλητηριασμένης επέκτασης VS CodeΠαραβιάστηκε η υποδομή παραγωγής του GitHub.com
~3.800 εσωτερικά αποθετήρια πηγαίου κώδικα διέρρευσανΕπηρεάστηκαν αποθετήρια ή λογαριασμοί πελατών
Κλέφθηκαν διαπιστευτήρια υπαλλήλου GitHub σε εκείνο το endpointΚλέφθηκαν PATs πελατών, tokens npm ή εξουσιοδοτήσεις OAuth από τα συστήματα του GitHub
Η TeamPCP ζήτησε λύτρα (σύμφωνα με το Tom's Hardware)Το GitHub πληρώσε (δεν υπάρχουν αποδείξεις πληρωμής)

Γιατί έχει σημασία αυτή η διατύπωση; Επειδή το συμπέρασμα δεν είναι ότι «το github hackαρε». Το συμπέρασμα είναι ότι τα endpoints των προγραμματιστών είναι πλέον η αδύναμη πλευρά κάθε οργανισμού μηχανικής. Κάθε μυστικό που κατέχει η ομάδα σας (GitHub PATs, tokens npm, κλειδιά AWS, sessions vault, κλειδιά παρόχων AI) βρίσκεται σε έναν φορητό υπολογιστή με ελάχιστη ή ανύπαρκτη κάλυψη EDR. Μια μοναδική δηλητηριασμένη επέκταση που τρέχει στο IDE σας κληρονομεί τα πάντα.

Ο εκπρόσωπος τύπου του GitHub, όπως αναφέρθηκε στο Bleeping Computer, επιβεβαίωσε τη διάσταση του endpoint του υπαλλήλου και τη γραμμή «χωρίς δεδομένα πελατών». Το Help Net Security πρόσθεσε την απόδοση ευθύνης στην TeamPCP. Η τεχνική αλυσίδα τεκμηρίωσης για την επέκταση βρίσκεται στην advisory GHSA-c9j4-9m59-847w.

Το GitHub.com δεν παραβιάστηκε. Ένας υπάλληλος του GitHub ναι. Κρατήστε αυτή τη διάκριση στο μυαλό σας καθώς διαβάζετε τη συνέχεια.

Τι συνέβη πραγματικά: Χρονοδιάγραμμα της διάρρηξης του Μαΐου 2026

Η ιστορία της διάρρηξης github 2026 εξελίχθηκε σε τέσσερα στάδια σε περίπου 48 ώρες. Μια δηλητηριασμένη επέκταση δημοσιεύτηκε στις 18 Μαΐου στις 12:36 UTC, αφαιρέθηκε 11 λεπτά αργότερα, ανιχνεύτηκε από το GitHub την επόμενη ημέρα και γνωστοποιήθηκε δημόσια στις 20 Μαΐου. Το συνοπτικό χρονοδιάγραμμα, με πηγές:

Ώρα (UTC)ΓεγονόςΠηγή
18 Μαΐου, 12:36Η Nx Console v18.95.0 δημοσιεύτηκε στο OpenVSX / Visual Studio Marketplace (πολύ πιθανόν)StepSecurity / GHSA-c9j4-9m59-847w
18 Μαΐου, 12:47Αφαίρεση της κακόβουλης έκδοσης, παράθυρο 11 λεπτώνStepSecurity
19 ΜαΐουΤο GitHub ανιχνεύει compromise endpoint υπαλλήλου· περιορίζει το περιστατικόΕκπρόσωπος GitHub μέσω Bleeping Computer
20 ΜαΐουΔημόσια γνωστοποίηση· η TeamPCP / UNC6780 αναλαμβάνει δημόσια την ευθύνηHelp Net Security, Hackread

Αυτό το παράθυρο των 11 λεπτών είναι η πιο περίεργη λεπτομέρεια. Υποδηλώνει ότι ο επιτιθέμενος περιστρεφόταν μεταξύ επεκτάσεων για να αποφύγει την ανίχνευση από το marketplace, το ίδιο μοτίβο που τεκμηρίωσε η Koi Security στο σκουλήκι GlassWorm OpenVSX του Οκτωβρίου 2025. Η TeamPCP / UNC6780 έχει previously ισχυριστεί compromises του 2026 εναντίον των Trivy, KICS, LiteLLM, TanStack και MistralAI. Ίδια ομάδα, ίδιο πλάνο δράσης, διαφορετικοί στόχοι.

Τον περασμένο μήνα ήταν οι env vars της Vercel. Σήμερα είναι τα repos του GitHub. Το μοτίβο που παρακολουθούμε να εξελίσσεται τους τελευταίους 9 μήνες μετατοπίζει συνεχώς την έκταση της ζημιάς προς τα έξω. Δείτε την ανάλυσή μας για την απόκριση στη διάρρηξη Vercel για το συγγενικό περιστατικό.

Η επέκταση που πιθανότατα ευθύνεται: Nx Console v18.95.0 (Και γιατί το GitHub δεν επιβεβαιώνει)

Το GitHub δεν έχει ονομάσει επίσημα την επέκταση που εμπλέκεται στο compromise του endpoint του υπαλλήλου. Τα forensic στοιχεία ευθυγραμμίζονται έντονα με την Nx Console v18.95.0, αλλά αυτό παραμένει πολύ πιθανό, όχι επιβεβαιωμένο. Θα ενημερώσουμε αυτήν την ανάρτηση εάν το GitHub ονομάσει δημόσια διαφορετική επέκταση. Αντιμετωπίστε το υπόλοιπο αυτής της ενότητας ως την καλύτερη διαθέσιμη απόδοση ευθύνης, όχι ως διακηρυμένο γεγονός.

Τέσσερα κομμάτια circumstantial evidence ευθυγραμμίζουν την Nx Console με τη γνωστοποίηση του GitHub:

  1. Ταύτιση χρονισμού: Το παράθυρο της advisory GHSA-c9j4-9m59-847w (18 Μαΐου, 12:36-12:47 UTC) εμπίπτει στο παράθυρο compromise endpoint υπαλλήλου του GitHub στη δική του γνωστοποίηση.
  2. Επικάλυψη Forensic IoC: Η δημοσιευμένη ανάλυση payload της Nx Console από την StepSecurity (διαδρομές αρχείων, διεργασίες όπως __DAEMONIZED, network endpoints) ταιριάζει με τα artifacts που παρατηρήθηκαν στο compromised endpoint σύμφωνα με την έκθεση της Wiz.
  3. Μοτίβο απόδοσης ευθύνης TeamPCP: Η TeamPCP / UNC6780 δραστηριοποιείται στον χώρο της αλυσίδας εφοδιασμού του VS Code (Trivy, KICS, LiteLLM, TanStack, MistralAI το 2026) με συνεπή δομή payload.
  4. Το παράθυρο αφαίρεσης 11 λεπτών: Χαρακτηριστικό των επιθέσεων αλυσίδας εφοδιασμού όπου ο επιτιθέμενος ελέγχει τη στιγμή δημοσίευσης αλλά το marketplace το εντοπίζει γρήγορα.

Εάν δεν εγκαταστήσατε την Nx Console, δεν είστε ακόμα ασφαλής. Το ευρύτερο μοτίβο επίθεσης (διεργασίες __DAEMONIZED, κατάχρηση IMDS, εξαγωγή ~/.claude/settings.json) γενικεύεται σε οποιαδήποτε δηλητηριασμένη επέκταση. Η διαλογή στην επόμενη ενότητα ισχύει ανεξάρτητα από ποια επέκταση υποψιάζεστε.

Μια μοναδική επέκταση VS Code εκπέμπει βέλη προς δέκα επισημασμένους στόχους διαπιστευτηρίων συμπεριλαμβανομένων GitHub PAT, token npm, AWS IMDS, 1Password CLI, Vault και ρυθμίσεις Claude Code, illustrating την πλήρη έκταση ζημιάς που μπορεί να προκαλέσει μια κακόβουλη επέκταση
Πηγή: techsy.io editorial, scope διαπιστευτηρίων προσβάσιμο από μια μοναδική διεργασία επέκτασης VS Code

Επηρεάζεστε; Η διαλογή 5 λεπτών

Υπάρχουν τρεις γρήγοροι έλεγχοι. (1) Εγκαταστήσατε ή ενημερώσατε αυτόματα μια επέκταση VS Code μεταξύ 18 Μαΐου, 12:36 και 12:47 UTC; (2) Υπάρχουν αρχεία IoC από το GHSA-c9j4-9m59-847w στον φορητό σας υπολογιστή αυτή τη στιγμή; (3) Έχετε χρησιμοποιήσει GitHub PAT μέσα στο VS Code τις τελευταίες 14 ημέρες; Εκτελέστε και τα τρία σε λιγότερο από πέντε λεπτά.

Έλεγχος 1, Audit επεκτάσεων

bash
# List all installed extensions with versions
code --list-extensions --show-versions

# Specifically check for Nx Console v18.95.0
code --list-extensions --show-versions | grep -i "nrwl.angular-console\|nx-console"

Οτιδήποτε ενημερώθηκε αυτόματα μεταξύ 17 και 18 Μαΐου αξίζει δεύτερη ματιά. Εάν βλέπετε την Nx Console ακριβώς στην έκδοση 18.95.0, είστε πιθανός στόχος. Η patched έκδοση είναι η 18.100.0. Απεγκαταστήστε την ή προχωρήστε απευθείας στο πλάνο δράσης παρακάτω.

Έλεγχος 2, Σάρωση IoC

bash
# Check for the daemonized credential-harvest process artifacts (GHSA-c9j4-9m59-847w)
ps aux | grep -i "__DAEMONIZED" | grep -v grep
ls -la ~/.local/share/kitty/ 2>/dev/null
find ~ -name "*.daemonized*" 2>/dev/null

# IMDS abuse indicator (AWS credential harvest)
# Check shell history for unexpected curl to 169.254.169.254
grep -E "169\.254\.169\.254|metadata\.google\.internal" ~/.zsh_history ~/.bash_history 2>/dev/null

Ένας καθαρός υπολογιστής δεν πρέπει να επιστρέψει τίποτα για το grep του __DAEMONIZED, κανένα αρχείο .daemonized και κανένα hit IMDS στο history του shell σας. Εάν εμφανιστεί οποιοδήποτε από αυτά, θεωρήστε ότι ο φορητός υπολογιστής έχει compromises και αντιμετωπίστε κάθε διαπιστευτήριο που έχει αγγίξει τις τελευταίες 30 ημέρες ως compromised.

Έλεγχος 3, Έκθεση PAT

Εάν έχετε χρησιμοποιήσει ένα GitHub PAT (classic ή fine-grained) μέσα σε οποιοδήποτε terminal του VS Code, integrated git ή οποιαδήποτε επέκταση που καλεί το GitHub API τις τελευταίες 14 ημέρες, θεωρήστε το compromised και προχωρήστε στο πλάνο ανανέωσης παρακάτω. Αυτή είναι η συντηρητική προεπιλογή· δεν μπορείτε να ελέγξετε «ήταν το token στη μνήμη ενώ η επέκταση ήταν ενεργή». Ανανεώστε το.

Εάν χρησιμοποιείτε το Claude Code, η λίστα IoC περιλαμβάνει συγκεκριμένα το ~/.claude/settings.json. Δείτε τον οδηγό hooks του Claude Code για να δείτε τι αποθηκεύεται σε αυτό το αρχείο και ποια κλειδιά να ανανεώσετε πρώτα.

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

Τι πρέπει να κάνουν οι προγραμματιστές: Το επείγον πλάνο δράσης 60 λεπτών

Ανανεώστε τα διαπιστευτήρια με σειρά προτεραιότητας. Επίπεδο 0 (επόμενα 30 λεπτά): GitHub PATs και tokens npm. Επίπεδο 1 (σήμερα): Κλειδιά AWS / cloud, 1Password / Vault, secrets GitHub Actions. Επίπεδο 2 (αυτή την εβδομάδα): Third-party SaaS, εξουσιοδοτήσεις OAuth, κλειδιά SSH. Επίπεδο 3 (όταν βολεύει): Κλειδιά read-only και public keys. Κάθε επίπεδο αντιστοιχεί σε συγκεκριμένη μείωση της έκτασης ζημιάς.

Πυραμίδα ανανέωσης διαπιστευτηρίων τεσσάρων επιπέδων που δείχνει τα GitHub PATs και tokens npm Επιπέδου 0 με κόκκινο, τα tokens AWS και vault Επιπέδου 1 με πορτοκαλί, τα SSH και OAuth Επιπέδου 2 με κίτρινο, τα κλειδιά read-only Επιπέδου 3 με γκρι, με κάθε επίπεδο επισημασμένο με χρονικό προϋπολογισμό
Πηγή: techsy.io editorial, ιεραρχία προτεραιότητας ανανέωσης για το πλάνο δράσης 60 λεπτών

ΤΩΡΑ ΑΜΕΣΑ: Εάν νομίζετε ότι έχετε πληγεί

Εάν η διαλογή σας έδωσε θετικό αποτέλεσμα, κάντε αυτά τα τρία πράγματα με σειρά πριν από οτιδήποτε άλλο.

  1. Τερματίστε τον daemon και απεγκαταστήστε την ύποπτη επέκταση:
bash
# Kill the malicious payload (GHSA-c9j4-9m59-847w)
pkill -f __DAEMONIZED
pkill -f "nx-console.*18.95.0"

# Uninstall the suspect extension immediately
code --uninstall-extension nrwl.angular-console
  1. Βγάλτε το καλώδιο δικτύου του φορητού σας υπολογιστή εάν έχετε οποιαδήποτε ένδειξη ενεργής εξαγωγής δεδομένων. Ακούγεται ακραίο. Είναι. Κάντε το ούτως ή άλλως. Μπορείτε να επανεξετάσετε offline.
  2. Καλέστε την ομάδα ασφαλείας σας ή постάρτε στο #security Slack πριν τρέξετε οτιδήποτε άλλο. Εάν εργάζεστε μόνοι, προχωρήστε στο Επίπεδο 0 παρακάτω.

Επίπεδο 0 (Επόμενα 30 λεπτά): GitHub + npm

Ανάκληση GitHub PAT μέσω του CLI gh και του web UI των ρυθμίσεων:

bash
# Confirm what you're authenticated as
gh auth status

# List app installations the token has access to (helps inventory blast radius)
gh api -H "Accept: application/vnd.github+json" /user/installations

# The gh CLI cannot revoke classic PATs directly — use the web UI:
#   https://github.com/settings/tokens
# Click "Revoke" on EVERY token. Do not selectively keep "the one that's probably fine."

# Re-issue with fine-grained PATs + ≤90-day expiration:
#   https://github.com/settings/personal-access-tokens/new
# Scope one repo at a time, never the whole account.

# For org-owned PATs and installations:
gh api /orgs/{ORG}/installations

Ανανέωση token npm:

bash
# List and revoke every npm token
npm token list
npm token revoke <token-id-1>
npm token revoke <token-id-2>

# Force 2FA on auth and writes
npm profile enable-2fa auth-and-writes

# For CI: migrate to OIDC trusted publishing — no more long-lived tokens
# Docs: https://docs.npmjs.com/trusted-publishers

Εάν διατηρείτε δημοσιευμένα πακέτα, το token npm σας είναι το πιο επικίνδυνο διαπιστευτήριο που κατέχετε. Ανανεώστε το πριν από το AWS.

Επίπεδο 1 (Σήμερα): Cloud + Vaults + CI Secrets

Τα access keys AWS έπονται. Τα IoCs δείχνουν κατάχρηση IMDS, επομένως κάθε χρήστης IAM που άγγιξε το compromised endpoint είναι ύποπτος:

bash
# List access keys for the current IAM user
aws iam list-access-keys --user-name $(aws sts get-caller-identity --query 'Arn' --output text | cut -d/ -f2)

# Deactivate the old key (don't delete yet — let workloads fail loudly first)
aws iam update-access-key --access-key-id AKIA... --status Inactive --user-name <user>

# Create a new key
aws iam create-access-key --user-name <user>

# Once deployed and verified, delete the old key
aws iam delete-access-key --access-key-id AKIA... --user-name <user>

# If any EC2 instance was using IMDSv1, force IMDSv2 immediately
aws ec2 modify-instance-metadata-options --instance-id i-... --http-tokens required

1Password CLI: Αποσυνδεθείτε από κάθε συσκευή (op signout --all), αναγεννήστε τα session tokens και ελέγξτε την πρόσφατη πρόσβαση στο vault μέσω του web audit log της 1Password για οτιδήποτε εκτελέστηκε από το compromised endpoint.

HashiCorp Vault: Ανακαλέστε το user token σας (vault token revoke -self) και ζητήστε από έναν διαχειριστή να εκδώσει νέο με μικρότερο TTL.

Secrets GitHub Actions: Εάν κάποιο ανανεωμένο διαπιστευτήριο βρίσκεται επίσης στα Actions, ενημερώστε το. Χρησιμοποιήστε gh secret set GITHUB_PAT --body <new-pat> ανά repo, ή το UI σε επίπεδο οργανισμού για org secrets.

Κλειδιά API Anthropic και OpenAI: Η λίστα IoC GHSA-c9j4-9m59-847w αναφέρει συγκεκριμένα το ~/.claude/settings.json ως στόχο συγκομιδής. Ανακαλέστε και εκδώστε ξανά το κλειδί API της κονσόλας Anthropic και οποιοδήποτε κλειδί OpenAI έχετε αποθηκεύσει ποτέ σε αυτό το αρχείο.

Επίπεδο 2 (Αυτή την εβδομάδα): SSH + OAuth + Password Vaults

Τα κλειδιά SSH κινούνται πιο αργά αλλά vẫn εμπίπτουν στο scope. Η επέκταση είχε ανάγνωση filesystem στο ~/.ssh/:

bash
# Audit existing SSH keys (when were they generated?)
for key in ~/.ssh/id_*; do
  if [ -f "$key" ]; then
    echo "Key: $key"
    stat -c '%y' "$key" 2>/dev/null || stat -f '%Sm' "$key"
  fi
done

# Generate a new Ed25519 key
ssh-keygen -t ed25519 -C "rotated-$(date +%Y%m%d)" -f ~/.ssh/id_ed25519_new

# Upload public key to GitHub
gh ssh-key add ~/.ssh/id_ed25519_new.pub --title "rotated-$(date +%Y%m%d)"

# Delete the old key from GitHub via web UI, then verify SSH still works
ssh -T [email protected]

Διαχειριστής κωδικών browser και keychain OS: Ανανεώστε οποιονδήποτε κωδικό που η επέκταση θα μπορούσε λογικά να έχει δει μέσω του clipboard. Η ρεαλιστική έκθεση αφορά κωδικούς που αντιγράψατε στο clipboard ενώ η επέκταση ήταν ενεργή.

Επίπεδο 3 (Όταν βολεύει): Audit + Επαλήθευση

Ελέγξτε το audit log του οργανισμού GitHub σας για το παράθυρο compromise. Αυτό απαιτεί δικαιώματα admin οργανισμού:

bash
# Pull push events for the May 18-20 window
gh api -X GET /orgs/{ORG}/audit-log \
  --paginate \
  -f phrase='action:repo.push created:2026-05-18..2026-05-20' | jq '.[] | {actor, created_at, repo}'

# Spot-check suspicious commits (unexpected authors, large diffs)
gh api -X GET /repos/{ORG}/{REPO}/commits \
  -f since=2026-05-18T00:00:00Z \
  -f until=2026-05-20T23:59:59Z | jq '.[] | {sha, author: .commit.author, message: .commit.message}'

# Refresh OAuth grants
gh auth refresh -s admin:org -s admin:public_key

Εάν το audit log δείχνει pushes από το παράθυρο compromise που δεν κάνατε εσείς, κλιμακώστε το θέμα στην ομάδα ασφαλείας σας και διατηρήστε το JSON του audit log. Μην προσπαθήσετε να «αναιρέσετε» οτιδήποτε στο repo. Διατηρήστε πρώτα τα αποδεικτικά στοιχεία.

Καλύψαμε την ίδια λογική ιεραρχικής ανανέωσης για τη διάρρηξη env-var της Vercel τον Απρίλιο: ίδιο σχήμα, διαφορετικό επίπεδο.

Το πλαίσιο ελέγχου επεκτάσεων με 5 ερωτήσεις (Χρησιμοποιήστε το για πάντα)

Πριν εγκαταστήσετε ή εμπιστευτείτε οποιαδήποτε επέκταση VS Code, περάστε την από πέντε τεστ: ηλικία domain εκδότη, ταχύτητα εκδόσεων, γεγονότα ενεργοποίησης package.json, scope αδειών vs αναμενόμενη συμπεριφορά και audit ανοιχτού κώδικα repo. Η Nx Console v18.95.0 θα απέτυχε στο Τεστ #2: μια sudden άλμα έκδοσης μετά από σταθερό ρυθμό κυκλοφοριών είναι το κλασικό σημάδι αλυσίδας εφοδιασμού.

  1. Ηλικία domain εκδότη. Είναι το domain του εκδότη older από ένα έτος; Οι νέοι εκδότες σε νεοεγγεγραμμένα domains φέρουν μεγαλύτερο ρίσκο. Ελέγξτε μέσω της σελίδας εκδότη του Visual Studio Marketplace ή whois στο domain του email του εκδότη.
  2. Ταχύτητα εκδόσεων. Δείχνει το ιστορικό εκδόσεων φυσιολογικό ρυθμό (μία κυκλοφορία κάθε 1-4 εβδομάδες) ή sudden spike (τρεις κυκλοφορίες σε 24 ώρες); Η sudden ταχύτητα είναι σήμα. Η Nx Console v18.95.0 ήταν μια ανωμαλία ταχύτητας.
  3. Γεγονότα ενεργοποίησης package.json. Ανοίξτε το αρχείο .vsix (είναι zip) και διαβάστε τα activationEvents. Οι επεκτάσεις που ενεργοποιούνται στο * (πάντα ενεργές) έχουν τη μεγαλύτερη επιφάνεια επίθεσης. Προτιμήστε επεκτάσεις που ενεργοποιούνται σε συγκεκριμένη γλώσσα ή όνομα αρχείου.
  4. Απαιτούμενες άδειες vs αναμενόμενη συμπεριφορά. Ζητά μια επέκταση «θέματος» πρόσβαση δικτύου; Χρειάζεται μια επέκταση «snippet» εγγραφή στο filesystem; Οι ασυμφωνίες είναι red flags. Διασταυρώστε με τα docs ασφαλείας runtime επεκτάσεων της Microsoft.
  5. Audit repo ανοιχτού κώδικα. Βρίσκεται ο πηγαίος κώδικας στο GitHub; Διαβάστε τα τελευταία πέντε commits για ύποπτες αλλαγές: post-install hooks, blobs encoded σε base64, network calls σε άγνωστα domains.

Μια επέκταση που ενεργοποιείται στο * και ζητά πρόσβαση δικτύου είναι λειτουργικά ένα remote shell με το VS Code προσαρτημένο σε αυτό.

Το ίδιο πλαίσιο ελέγχου ισχύει για τους servers MCP, την επόμενη επιφάνεια αλυσίδας εφοδιασμού κατηγορίας επεκτάσεων. Δείτε την ανάλυσή μας για τους καλύτερους servers MCP 2026 για να δείτε ποιους εμπιστευόμαστε και γιατί.

Γιατί συμβαίνει συνεχώς αυτό: Το κύμα αλυσίδας εφοδιασμού 2025-2026

Η διάρρηξη του GitHub στις 20 Μαΐου είναι ένας κόμβος σε μια τροχιά 9 μηνών: σκουλήκι npm Shai-Hulud (Σεπτ 2025), σκουλήκι OpenVSX GlassWorm (Οκτ-Νοε 2025), Shai-Hulud 2.0 (Νοε 2025, >25.000 affected repos), Mini Shai-Hulud (αρχές 2026), Nx Console (18 Μαΐου 2026), compromise endpoint GitHub (20 Μαΐου 2026). Τα endpoints των προγραμματιστών έχουν γίνει η νέα αδύναμη πλευρά.

  • Σεπτ 2025, σκουλήκι npm Shai-Hulud. Self-propagating malware σε δημοφιλή πακέτα npm. Η CISA εξέδωσε alert για την widespread compromise.
  • Οκτ-Νοε 2025, GlassWorm. Το πρώτο self-propagating σκουλήκι που στόχευε επεκτάσεις VS Code στο OpenVSX. Γνωστοποίηση Koi Security.
  • Νοε 2025, Shai-Hulud 2.0. Εξαγωγή πάνω από 25.000 repos. Το Microsoft Security Blog δημοσίευσε οδηγίες containment.
  • Αρχές 2026, Mini Shai-Hulud. Παραλλαγή TeamPCP. Επαναλήψεις μικρότερης κλίμακας εναντίον Trivy, KICS, LiteLLM, TanStack και MistralAI.
  • 18 Μαΐου 2026, Nx Console v18.95.0. Πολύ πιθανό vector για το compromise endpoint GitHub.
  • 20 Μαΐου 2026, γνωστοποίηση GitHub. ~3.800 εσωτερικά repos διέρρευσαν. Σύμφωνα με τη forensic σειρά Shai-Hulud της Wiz, το μοτίβο κατάχρησης IMDS είναι άμεση εξέλιξη.

Το μοτίβο είναι ξεκάθαρο: οι φορητοί υπολογιστές των προγραμματιστών κατέχουν κάθε μυστικό του οργανισμού (GitHub PATs, κλειδιά AWS, tokens vault, κλειδιά παρόχων AI) και έχουν σχεδόν μηδενική κάλυψη EDR. Μέχρι να αντιστραφεί αυτή η ανισορροπία, αυτό το κύμα συνεχίζεται.

Η defensive AI είναι ένα κομμάτι της απάντησης. Καλύψαμε αυτή τη γωνία στην ανάλυσή μας για το πώς η AI预防 breaches δεδομένων νωρίτερα φέτος.

Η μεγαλύτερη απόκριση του GitHub: Trusted Publishing, FIDO 2FA, Tokens 90 ημερών

Το GitHub ήδη υλοποιούσε τέσσερις ελέγχους αλυσίδας εφοδιασμού πριν τις 20 Μαΐου: υποχρεωτικό 2FA για εκδότες npm, cap 90 ημερών σε granular write tokens, deprecation TOTP υπέρ FIDO και passkeys, και OIDC trusted publishing για GitHub Actions και GitLab CI. Η διάρρηξη του Μαΐου επιταχύνει μια ήδη εν εξελίξει migration· δεν εισάγει νέα πολιτική.

ΈλεγχοςΚατάστασηΕνέργεια για εσάς
Υποχρεωτικό npm 2FALiveΕνεργοποιήστε τώρα: npm profile enable-2fa auth-and-writes
Cap 90 ημερών granular write tokenΣε κυκλοφορία (τα υπάρχοντα tokens αναγκάζονται να λήξουν)Μεταβείτε σε fine-grained PATs με TTL ≤90 ημερών
Deprecation TOTP, FIDO / passkeysPhased rollout 2026Καταχωρίστε ένα passkey σε κάθε λογαριασμό GitHub σήμερα
OIDC trusted publishingLive για GitHub Actions + GitLab CIΜεταβείτε το CI από μακροχρόνια tokens npm σε OIDC

Το ευρύτερο σχέδιο του GitHub για μια πιο ασφαλή αλυσίδα εφοδιασμού npm προηγείται αυτού του περιστατικού κατά μήνες. Όσο πιο γρήγορα ευθυγραμμιστείτε με αυτό, τόσο μικρότερη θα είναι η έκταση ζημιάς σας την επόμενη φορά.

Hardening: Πώς να επιβιώσετε στο επόμενο

Έξι forward-looking κινήσεις: καθορίστε versions επεκτάσεων στο devcontainer.json, επιβάλετε μια allow-list επεκτάσεων σε επίπεδο οργανισμού, τρέξτε EDR με visibility διεργασιών επεκτάσεων, σκανάρετε secrets σε κάθε push, περιορίστε τα PATs σε ένα repo και υιοθετήστε OIDC trusted publishing αντί για μακροχρόνια tokens. Κανένα από αυτά δεν θα prevention every incident, μαζί όμως μειώνουν την έκταση ζημιάς από «όλα στον φορητό υπολογιστή» σε «ένα repo».

json
{
  "name": "secure-dev",
  "extensions": [
    "[email protected]",
    "[email protected]",
    "[email protected]"
  ],
  "settings": {
    "extensions.autoUpdate": false,
    "extensions.autoCheckUpdates": false
  },
  "containerEnv": {
    "VSCODE_GALLERY_SERVICE_URL": "https://your-internal-allow-list.example.com"
  }
}

Εν συντομία:

  • Καθορίστε κάθε version επέκτασης στο devcontainer.json για να kill την αυτόματη ενημέρωση.
  • Allow-list σε επίπεδο οργανισμού pointing το VSCODE_GALLERY_SERVICE_URL σε internal mirror.
  • EDR με visibility διεργασιών IDE: Crowdstrike, SentinelOne ή Microsoft Defender for Endpoint με το VS Code στο scope.
  • Secret-scan σε κάθε push: pre-commit και push-time, server-side.
  • Περιορίστε κάθε PAT σε ένα repo: ποτέ scopes *.
  • OIDC trusted publishing: κανένα μακροχρόνιο token npm ή registry στο CI.

Το CVE copy_file_range του Linux της περασμένης εβδομάδας είναι μια συγγενική ιστορία: διαφορετικό επίπεδο, ίδιο μάθημα. Το trust boundary που ξεχάσατε είναι αυτό που σας χτυπά.

Εάν σκέφτεστε AI coding agents στη συνέχεια, εφαρμόστε το ίδιο πλαίσιο ελέγχου. Έχουν το ίδιο trust profile με τις επεκτάσεις. Η ανάλυσή μας για τους καλύτερους AI coding agents 2026 περιγράφει ποιοι agents κερδίζουν αυτή την εμπιστοσύνη.

Συχνές Ερωτήσεις

Παραβιάστηκε το GitHub;

Όχι, όχι με την έννοια που υπονοούν οι περισσότεροι τίτλοι. Η παραγωγή του GitHub.com δεν παραβιάστηκε. Ένας υπάλληλος του GitHub εγκατέστησε μια κακόβουλη επέκταση VS Code στον σταθμό εργασίας του, η οποία εξήγαγε περίπου 3.800 από τα εσωτερικά αποθετήρια πηγαίου κώδικα του GitHub. Ο κώδικας πελατών, οι λογαριασμοί πελατών και οι υπηρεσίες παραγωγής του GitHub δεν επηρεάζονται.

Ποια επέκταση VS Code εμπλεκόταν πραγματικά;

Το GitHub δεν έχει επιβεβαιώσει επίσημα το όνομα της επέκτασης. Τα forensic στοιχεία από την StepSecurity, την Wiz και το GHSA-c9j4-9m59-847w δείχνουν πολύ πιθανόν την Nx Console v18.95.0, που δημοσιεύτηκε στις 18 Μαΐου στις 12:36 UTC και αφαιρέθηκε 11 λεπτά αργότερα. Το αντιμετωπίζουμε ως «πολύ πιθανό, όχι επιβεβαιωμένο» μέχρι να το ονομάσει το GitHub.

Είναι ασφαλής η χρήση της Nx Console τώρα;

Η patched έκδοση είναι η 18.100.0. Εάν έχετε εγκατεστημένη παλαιότερη v18.95.0, απεγκαταστήστε την αμέσως, τρέξτε τη σάρωση IoC στην ενότητα διαλογής μας και επανεγκαταστήστε μόνο από τον επίσημο εκδότη Nrwl στην έκδοση 18.100.0 ή νεότερη. Επαληθεύστε το domain του εκδότη πριν την επανεγκατάσταση και καθορίστε την version στο devcontainer.json.

Επηρεάστηκαν δεδομένα πελατών από τη διάρρηξη του GitHub;

Όχι. Σύμφωνα με την επίσημη δήλωση του GitHub μέσω Bleeping Computer, ο πηγαίος κώδικας πελατών, οι λογαριασμοί πελατών, τα tokens OAuth και τα production data που φιλοξενούνται στο GitHub δεν προσπελάστηκαν. Τα compromised data είναι ο εσωτερικός πηγαίος κώδικας του GitHub από το endpoint του υπαλλήλου. Αντιμετωπίστε το ως περιστατικό φορητού υπολογιστή υπαλλήλου, όχι ως διάρρηξη πλατφόρμας.

Πώς ξέρω εάν το GitHub PAT μου κλάπηκε;

Δεν το ξέρετε με βεβαιότητα. Η συντηρητική υπόθεση: εάν χρησιμοποιήσατε οποιοδήποτε GitHub PAT μέσα στο VS Code τις τελευταίες 14 ημέρες, θεωρήστε το compromised και ανανεώστε το. Ελέγξτε το audit log του GitHub μέσω gh api /orgs/{ORG}/audit-log για unfamiliar push events μεταξύ 18-20 Μαΐου UTC, στη συνέχεια ανακαλέστε και εκδώστε ξανά το token.

Τι είναι η TeamPCP και η UNC6780;

Η TeamPCP είναι μια ομάδα threat-actor· η UNC6780 είναι το ID tracking που αποδόθηκε από vendors incident-response. Έχουν αναλάβει δημόσια την ευθύνη για τη διάρρηξη του GitHub. Η ίδια ομάδα έχει ισχυριστεί compromises του 2026 εναντίον Trivy, KICS, LiteLLM, TanStack και MistralAI, ένα συνεπές μοτίβο στόχευσης αλυσίδας εφοδιασμού VS Code και npm.

Είναι sandboxed οι επεκτάσεις VS Code;

Όχι, όχι ουσιαστικά. Οι επεκτάσεις VS Code τρέχουν στη διεργασία Node.js του IDE με τα full filesystem και network privileges του χρήστη. Μπορούν να διαβάσουν κάθε αρχείο στον home directory σας, συμπεριλαμβανομένων κλειδιών SSH, ~/.aws/credentials, ~/.claude/settings.json και μνήμης διεργασιών μέσω /proc/*/mem στο Linux. Η Microsoft τεκμηριώνει το μοντέλο ασφαλείας runtime και τα όριά του στα official extension docs.

Επηρεάστηκαν τα GitHub Codespaces ή οι CI runners;

Δεν υπάρχουν αποδείξεις μέχρι στιγμής. Το compromise ήταν ένας σταθμός εργασίας υπαλλήλου, όχι υποδομή που φιλοξενείται από το GitHub. Τα Codespaces, οι runners GitHub Actions και η υποδομή CI面向 πελατών δεν αναφέρονται ως affected. Θα ενημερώσουμε αυτήν την ανάρτηση εάν νέα IoCs αλλάξουν αυτήν την εικόνα.

Συμπέρασμα

Τρία πράγματα να κρατήσετε:

  1. Το GitHub.com δεν hackαρε. Ο σταθμός εργασίας VS Code ενός υπαλλήλου ναι. Το μάθημα γενικεύεται σε κάθε προγραμματιστή.
  2. Ανανεώστε τώρα, πλαίσιο ελέγχου για πάντα. Το πλάνο δράσης 60 λεπτών είναι το patch· το πλαίσιο ελέγχου 5 ερωτήσεων είναι το ανοσοποιητικό σύστημα.
  3. Αυτό δεν είναι isolated incident. Είναι ο κόμβος #6 σε ένα κύμα αλυσίδας εφοδιασμού 9 μηνών που δεν επιβραδύνεται.

Τελευταία ενημέρωση: 20 Μαΐου 2026. Θα επανεξετάσουμε αυτήν την ανάρτηση στις 27 Μαΐου 2026 με νέα IoCs, vendor advisories και οποιαδήποτε επιβεβαιωμένη απόδοση ευθύνης επέκτασης από το GitHub.

Εάν η ομάδα σας χρειάζεται βοήθεια για τον έλεγχο της επιφάνειας επεκτάσεων VS Code, την υγιεινή PAT και token, ή τη δημιουργία πολιτικής allow-list σε επίπεδο οργανισμού, λάβετε δωρεάν consultation. Εργαζόμαστε intensively στην ασφάλεια endpoints προγραμματιστών από τη διάρρηξη Vercel τον Απρίλιο, και το παραπάνω πλάνο δράσης είναι αυτό που εφαρμόζουμε με πελάτες από την πρώτη ημέρα.

Ετικέτες

κυβερνοασφάλειαεπίθεση αλυσίδας εφοδιασμούvscodegithubασφάλεια προγραμματιστώναντιμετώπιση περιστατικώνGHSA-c9j4-9m59-847w

Κοινοποίηση άρθρου

Σχετικά άρθρα

Περισσότερα στο cybersecurity

cybersecurity
Jul 23, 2026

Λίστα Ελέγχου Ασφαλείας SaaS Πριν την Εκκίνηση: 40 Έλεγχοι που Κάνουμε Πρώτοι (2026)

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

12 min read εξάγουμε ανάγνωση
Ανάγνωση
cybersecurity
May 8, 2026

Πώς η AI Αποτρέπει τις Παραβιάσεις Δεδομένων: 7 Άμυνες που Σταμάτησαν Πραγματικές Επιθέσεις (2026)

Στις 30 Απριλίου 2026, περίπου 275 εκατομμύρια μαθητές έμαθαν ότι το LMS τους είχε παραβιαστεί. Θα μπορούσε η AI να το είχε αποτρέψει; Ιδού 7 άμυνες που ήδη το κάνουν, και πώς να τις ενσωματώσετε στην εφαρμογή σας αυτή την εβδομάδα.

13 min read εξάγουμε ανάγνωση
Ανάγνωση
cybersecurity
May 5, 2026

Copy Fail (CVE-2026-31431): Το 60λεπτο Πλάνο Έκτακτης Αντιμετώπισης για Linux, Kubernetes και Υποδομές AI

Η Microsoft αποκάλυψε το CVE-2026-31431 ('Copy Fail') την 1η Μαΐου 2026 — μια ευπάθεια κλίμακας προνομίων στον πυρήνα Linux που παρακάμπτει το Kubernetes RuntimeDefault seccomp και θέτει σε κίνδυνο κάθε σύμπλεγμα συμπερασμάτων πολλαπλών ενοικιαστών, runtime agents και CI runners. Δείτε το πλάνο αντιμετώπισης 60 λεπτών, με εντολές ανά διανομή, ένα έτοιμο προφίλ seccomp και την ανάλυση έκθεσης υποδομών AI που κανείς άλλος δεν δημοσιεύει.

12 min read εξάγουμε ανάγνωση
Ανάγνωση
Εμφάνιση όλων των άρθρων
Ξεκινήσετε το Project σας

Έτοιμοι να δημιουργήσουμε κάτι εξαιρετικό;

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

Κλείστε μια κλήση αξιολόγησης 30 λεπτάΔείτε το Έργο μας

Τα πιο hot από τη βιβλιοθήκη

Claude Skills

Δείτε όλα
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI Automatizations

Δείτε όλα
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Τα πιο hot από τη βιβλιοθήκη

Claude Skills

Δείτε όλα
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI Automatizations

Δείτε όλα
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Υπηρεσίες

  • Enterprise Λύσεις
  • Mobile Εφαρμογές
  • Web Application

Λύσεις

  • CRM Συστήματα
  • AI Ενσωμάτωση
  • ERP Λύσεις
  • Φωνητικοί Πράκτορες
  • Αυτοματοποίηση Διαδικασιών
  • Κιберασφάλεια

Βιβλιοθήκη

  • Ιστολόγιο
  • Έργα

Κοινότητα

  • AI Automatizations
  • Claude Skills

Εργαλεία

  • Υπολογισμό Κόστους Mobile App
  • Υπολογισμός Κόστους OpenAI / LLM APIs
  • Υπολογισμός Κόστους MVP
  • Υπολογισμός Κόστους Voice AI Agent

Εταιρεία

  • Σχετικά
  • Συνεργάτες
  • Επικοινωνία

Νομικά

  • Πολιτική Απορρήτου
  • Όροι Χρήσης
  • Πολιτική Cookies

Υπηρεσίες

  • Enterprise Λύσεις
  • Mobile Εφαρμογές
  • Web Application

Λύσεις

  • CRM Συστήματα
  • AI Ενσωμάτωση
  • ERP Λύσεις
  • Φωνητικοί Πράκτορες
  • Αυτοματοποίηση Διαδικασιών
  • Κιберασφάλεια

Βιβλιοθήκη

  • Ιστολόγιο
  • Έργα

Κοινότητα

  • AI Automatizations
  • Claude Skills

Εργαλεία

  • Υπολογισμό Κόστους Mobile App
  • Υπολογισμός Κόστους OpenAI / LLM APIs
  • Υπολογισμός Κόστους MVP
  • Υπολογισμός Κόστους Voice AI Agent

Εταιρεία

  • Σχετικά
  • Συνεργάτες
  • Επικοινωνία
ΝομικάΠολιτική ΑπορρήτουΌροι ΧρήσηςΠολιτική Cookies
TECHSY
© 2026 Techsy. Με επιφύλαξη παντός δικαιώματος.