חזרה

Apiiro מצאה 2,539 סודות בקבצי הרשאות של Claude Code ב-GitHub
SiTech AI Team2 דק׳ קריאה

Apiiro מצאה 2,539 סודות בקבצי הרשאות של Claude Code ב-GitHub

במסגרת מחקר של Apiiro נמצאו 2,539 סודות אמיתיים ב-1,994 מאגרי GitHub ציבוריים; רבים מהם אוחסנו בקבצי .claude/settings.local.json שנוצרו כאשר מפתחים אישרו פקודות.

חוקרי Apiiro מצאו 2,539 סודות אמיתיים ב-1,994 מאגרי GitHub ציבוריים; רבים מהם אוחסנו בקבצי הרשאות של Claude Code בשם .claude/settings.local.json. הקבצים יכולים להיווצר כאשר משתמש בוחר 'Yes, and don't ask again' לפקודה שמכילה סוד. Apiiro מציינת ש-63 ארגונים מושפעים, וארגון אחד אישר שמפתחו היה פעיל.

כיצד סודות נכנסים לקבצים

Claude Code שואל לפני הרצת פקודות shell. אם מפתח בוחר 'Yes, and don't ask again', הוא שומר את הפקודה המדויקת שאושרה ב-.claude/settings.local.json בתוך תיקיית הפרויקט. מכיוון שפקודה זו עשויה לכלול סיסמת מסד נתונים, מפתח ענן, אסימון API או פרטי התחברות SSH שהועתקו מתצורה מקומית, הסוד נכתב לקובץ. Claude Code מוסיף את הקובץ לרשימת git ignore הגלובלית של המפתח, אך לא ל-.gitignore של המאגר עצמו, ולכן commit מאוחר יותר יכול לכלול אותו. ב-539 מתוך 1,105 המאגרים עם סוד אמיתי ש-Apiiro עקבה אחריהם, commit ש-Claude היה שותף לכתיבתו שינה את הקובץ.

היקף וחשיפה

ב-GitHub היו 104,185 עותקים ציבוריים של .claude/settings.local.json ב-103,617 מאגרים. Apiiro מצאה סוד אמיתי ב-1,122 מהקבצים האלה, שהכילו 1,379 סודות שונים. מתוכם, 379 היו סיסמאות מסדי נתונים ו-122 היו מפתחות service-role של Supabase. Apiiro מצאה גם 1,160 סודות נוספים בהיסטוריית git, בקבצי הגדרות משותפים ובתמלילי שיחות של סוכנים. בסך הכול ספרה Apiiro 2,539 סודות אמיתיים שונים ב-1,994 מאגרים. המקרים המושפעים כוללים מפתח API ענני של ספק מסדי נתונים, סיסמת Azure Postgres לסביבת ייצור, אסימון ייצור של Square, מפתח API בפורמט OpenAI, אסימון npm וסיסמת בעלים של מסד נתונים של רישומי רפואה. Apiiro מצאה גם 43 פרטי התחברות SSH ברשימות ההיתר, כולל סיסמאות root בפקודות sshpass. סורקים גנריים החמיצו רבים מהסודות: gitleaks סימן 564 מתוך 1,122 הקבצים ו-TruffleHog סימן 643, בעוד 215 לא סומנו על ידי אף אחד. רבים היו סיסמאות בתוך פקודות כגון PGPASSWORD=, sshpass -p, mysql -p או כותרות bearer.

מה על המשתמשים לעשות

Apiiro מייעצת למפתחים להסיר את הקובץ ממעקב עם git rm --cached .claude/settings.local.json ולהוסיף אותו ל-.gitignore של המאגר עצמו אם הוא במעקב. יש להחליף כל פרט התחברות שהקובץ החזיק אי פעם, מכיוון שמחיקה לא מסירה אותו מההיסטוריה, מהפורקים או מהמשוכפלים. גם אם הקובץ מעולם לא commit, יש לפתוח אותו ולמחוק כל כלל שמכיל סוד. יש להפנות לסודות כמשתנים כגון $DB_URL במקום להקליד אותם בפקודות, ולאשר דפוסים כגון Bash(npm run:*) במקום פקודות מילוליות. על צוותי אבטחה להתייחס לתיקיות סוכנים ולקבצי זיכרון כמכילים סודות, להוסיף אותם לסריקה ב-pre-commit וב-CI, ולתעדף פרטי התחברות המקושרים למארחים ציבוריים תחילה.

מקורות: apiiro.com

SiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.