תוסף קלוד קוד עם דלת אחורית ב-Cursor: איך בודקים אם נפגעתם
מאת ירון דויטשר עודכן לאחרונה:
ביום חמישי, 29 באוקטובר, הופצה בחנות התוספים של Cursor גרסה מזויפת של התוסף של קלוד קוד. מי שהתקין או עדכן אותו באותן שעות קיבל, יחד עם התוסף, קוד שמנסה לפתוח לתוקף גישת SSH קבועה למחשב.
המקור לכל מה שכתוב כאן הוא הודעת האבטחה של Cursor, שעודכנה ב-30.10. הכותרות שרצו בחו״ל, בנוסח ״אנתרופיק נפרצה״, מחטיאות את העיקר: לפי Cursor, הגרסאות הזדוניות לא פותחו על ידי אנתרופיק, והתקלה הייתה בחנות של Cursor. נכון לבוקר 31.10, לא פורסמה הודעה בנושא באתרים של אנתרופיק.
מי בסיכון?
הקבוצה מוגדרת בדיוק, ושווה לקרוא את התנאים אחד אחד:
- מאיפה: חנות התוספים של Cursor בלבד. לפי Cursor, אין עדות לכך שההפצה הרשמית של התוסף, או גרסאות אחרות שלו, נפגעו.
- איזו גרסה:
Anthropic.claude-code בגרסאות 2.1.312 או 2.1.313. - איזו מערכת: Mac או Windows.
- מתי: בין 2:27 ל-13:35 שעון החוף המערבי ב-29 באוקטובר, כלומר בערך בין 11:30 ל-22:35 שעון ישראל.
פרט אחד קטן מחדד את התמונה: גרסה 2.1.313 בכלל לא מופיעה ביומן השינויים הרשמי של קלוד קוד, שקופץ מ-2.1.312 ישר ל-2.1.314. מי שרואים את המספר הזה בתוסף שהגיע מ-Cursor, צריכים להתייחס אליו כסימן אזהרה.
מה הקוד ניסה לעשות?
לפי הניתוח של Cursor, הקוד שהוזרק לתוסף עשה ארבעה דברים:
- אסף פרטים על המחשב ושלח אותם: שם המחשב והמשתמש, מערכת ההפעלה, נתיב תיקיית הבית, שמות משתני הסביבה (לא הערכים), תיקיות העבודה, כתובת המייל שמוגדרת ב-Git והכתובת הציבורית.
- הוסיף מפתח SSH של התוקף לקובץ
authorized_keys, עם התווית svc-telemetry. - ניסה להדליק את שירות ה-SSH ולפתוח מנהרה הפוכה אל שרת התוקף.
- השתיל מנגנון התמדה: LaunchAgent ב-Mac, ומשימה מתוזמנת ב-Windows, שמנסים להרים את המנהרה מחדש בערך כל 60 שניות.
ויש כאן גם חדשות טובות, שראוי להגיד בגלוי. כדי להדליק את שירות ה-SSH צריך הרשאות מנהל, ולתוסף אין אותן ברוב מחשבי ה-Mac וה-Windows. לפי Cursor, בגלל זה ובגלל שגיאות בקוד עצמו, השלב הזה נכשל כמעט תמיד, והתוקף לא יכול היה להתחבר דרך המנהרה. גם השרת של התוקף כבר הורד מהאוויר.
אבל זו לא סיבה להירגע. המפתח נוסף, מנגנון ההתמדה הותקן והפרטים נשלחו. ולכן Cursor ממליצה לנקות בכל מקרה.
איך בודקים אם נפגעתם?
הבדיקה היא חיפוש של המפתח שהתוסף השתיל. ב-Mac, בטרמינל:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
ב-Windows, ב-PowerShell:
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }
אם יוצא ״No key found״, המחשב לא נפגע. אם המפתח נמצא, ממשיכים לסעיף הבא.
מה עושים אם המפתח נמצא?
לא מסתפקים בהסרת התוסף. לפי Cursor, הסרה לבדה עלולה לא להספיק, כי הקוד משאיר אחריו סקריפטים שממשיכים לרוץ בלי קשר לתוסף. מה שכן עושים:
- מריצים את סקריפט הניקוי של Cursor למערכת שלכם. ההוראות והקבצים נמצאים בהודעה המקורית. ב-Mac מריצים כמשתמש הרגיל, לא כ-root; ב-Windows מ-PowerShell שנפתח כמנהל. הסקריפט מסיר את התוסף, את מנגנון ההתמדה, את המנהרה ואת המפתח.
- מחליפים סיסמאות, טוקנים ומפתחות שהמחשב הזה ראה, ועושים את זה ממחשב אחר, נקי. העובדה שנאספו רק שמות של משתני סביבה לא אומרת שהתוקף לא היה יכול לגשת לערכים אחר כך דרך הדלת האחורית.
- בארגון: מחפשים בטלמטריה של התחנות והרשת את הסימנים שברשימה של Cursor (גיבובים של הקבצים, כתובת השרת, נתיבי הקבצים, שמות המשימות), ומבודדים כל מחשב שיש בו עדות להרצה. שימו לב שרשימת הנתיבים שם כוללת גם נתיבים בלינוקס.
אחרי זה שווה לשקול ברצינות התקנה מחדש של המחשב. זו ההמלצה של Cursor עצמה, ובמחשב פיתוח שמחזיק גישה לקוד של הארגון זו לא הגזמה.
מה Cursor כבר עשתה?
החברה הורידה את הגרסה הזדונית מיד עם הגילוי, ואז סגרה את החנות כולה, ליתר ביטחון. לדבריה, היא בדקה את הגישות ולא מצאה תוספים נוספים שנפגעו, החליפה מפתחות, בנתה את החנות מחדש והחזירה אותה לאוויר. בנוסף, היא עבדה עם ספק האחסון כדי להוריד את שרת התוקף.
מה לוקחים מזה הלאה?
תוסף בעורך הקוד רץ עם ההרשאות שלכם, על המחשב שמחזיק את המפתחות שלכם. זה נכון לקלוד קוד וזה נכון לכל תוסף אחר. התקרית הזאת לא דרשה מאף אחד לטעות: מי שעדכן תוסף מוכר מהחנות הרגילה שלו, ביום רגיל, קיבל את הגרסה המזויפת.
לכן ההגנה האמיתית איננה ״להיזהר בהתקנות״ אלא לצמצם את מה שתוסף פרוץ יכול לקחת. בפועל זה אומר לא להשאיר מפתחות לטווח ארוך על מחשב הפיתוח, ולתת לכלי סוכן רק את התיקיות שהוא צריך. על הצד של קלוד קוד בסיפור הזה יש באתר את המדריך צמצום שטח התקיפה, ובטיפ על חסימת כתיבה מחוץ לתיקיית הפרויקט. ומי שעובדים עם קלוד קוד לצד Cursor ימצאו את התמונה המלאה בהשוואה בין השניים.
שורה תחתונה: מי שעובדים ב-Cursor על Mac או Windows ועדכנו את תוסף קלוד קוד ב-29 באוקטובר צריכים להריץ את בדיקת המפתח היום. זו שורה אחת, והיא עונה על השאלה.