חוקר עצמאי חושף כי ZCode מעלה לענן קבצי Git רגישים בלי ידיעת המשתמשים
חוקר תוכנה עצמאי טוען שגילה כי ZCode, כלי הפיתוח מבוסס הבינה המלאכותית של חברת Zhipu הסינית, מעלה בשקט לענן האחסון Aliyun OSS של עליבאבא עותקים מוצפנים של תיקיות עבודה שלמות — כולל היסטוריית Git מלאה — ללא הודעה מפורשת למשתמש. לפי הממצאים, מפתח הפענוח נשמר אך ורק אצל החברה, כך שגם המשתמש וגם תוכנת ZCode עצמה אינם יכולים לפתוח את הקבצים שנשלחו. בחומרים שבידינו אין תגובה רשמית מצד Zhipu.
כותרת: חוקר עצמאי חושף כי ZCode מעלה לענן קבצי Git רגישים בלי ידיעת המשתמשים
תקציר: חוקר תוכנה עצמאי טוען שגילה כי ZCode, כלי הפיתוח מבוסס הבינה המלאכותית של חברת Zhipu הסינית, מעלה בשקט לענן האחסון Aliyun OSS של עליבאבא עותקים מוצפנים של תיקיות עבודה שלמות — כולל היסטוריית Git מלאה — ללא הודעה מפורשת למשתמש. לפי הממצאים, מפתח הפענוח נשמר אך ורק אצל החברה, כך שגם המשתמש וגם תוכנת ZCode עצמה אינם יכולים לפתוח את הקבצים שנשלחו. בחומרים שבידינו אין תגובה רשמית מצד Zhipu.
חוקר תוכנה עצמאי שפרסם ניתוח מפורט בבלוג שלו טוען כי ZCode, כלי הפיתוח מבוסס הבינה המלאכותית של חברת Zhipu הסינית, מעלה בשקט לענן האחסון Aliyun OSS של עליבאבא עותקים מוצפנים של תיקיות עבודה שלמות — כולל היסטוריית Git מלאה, קבצי reflog וקאש של Git LFS — מבלי לבקש את הסכמת המשתמש מראש. לדבריו, גם המשתמש וגם תוכנת ZCode עצמה אינם מסוגלים לפענח את הקבצים שמועלים, מכיוון שמפתח ההצפנה הפרטי נשמר אך ורק אצל החברה.
איך התגלה הדבר
לדברי החוקר, שמכנה עצמו ferstar, הגילוי התחיל בבדיקה שגרתית לפינוי שטח אחסון: תיקיית ~/.zcode במחשבו תפסה למעלה מ-700MB. בתוך תת-התיקייה v2/checkpoints/ הוא מצא קובץ מוצפן (.enc) בגודל 313MB, לצד קובץ מטא-דאטה שתיעד את הפעולה: גודל תיקיית העבודה המקורית עמד על כ-345MB (לאחר החרגת node_modules ותיקיות דומות), הארכיון סומן כגיבוי מסוג "baseline" (תמונת מצב מלאה), ולצדו נרשמו 564 ניסיונות העלאה כושלים שהמתינו בתור מקומי. לדבריו מדובר בפרויקט מסחרי פעיל בהיקף כולל של כ-10GB, כך שרוב ה-345MB שנארזו הם קוד קנייני של הפרויקט.
איך מנגנון ההעלאה עובד
באמצעות פירוק לגורמים (reverse engineering) של קובץ ה-app.asar של האפליקציה, שחזר החוקר את מנגנון ההעלאה: הלקוח פונה לשרת בכתובת zcode.z.ai ומקבל ממנו מזהה חבילה, מפתח הצפנה ציבורי מסוג RSA, ופרטי הרשאה חתומים להעלאה ישירה. לאחר מכן הוא דוחס את תיקיית העבודה, מצפין אותה באלגוריתם AES-256-CTR, עוטף את מפתח ההצפנה הסימטרי במפתח ה-RSA שקיבל מהשרת (בשיטת RSA-OAEP-SHA256), ומעלה את הארכיון המוצפן ישירות לשרתי Aliyun OSS — תוך עקיפת שרתי היישום של Zhipu עצמם. לדבריו, בדיקת חיבורי הרשת הפעילים של התהליך אישרה חיבורי HTTPS מתמשכים הן לשרתי Zhipu והן לשני צמתי אחסון של Aliyun.
הנקודה שהחוקר מכנה "האירונית ביותר" נוגעת לניהול המפתחות: מפתח ה-RSA הציבורי מגיע מהשרת בכל סבב הצפנה, ואילו המפתח הפרטי המתאים לו נשאר אך ורק בענן של Zhipu. כלומר, גם אם המשתמש ינסה לפענח את הארכיון שיושב על הדיסק שלו, הוא לא יוכל — הפענוח אפשרי רק אצל החברה עצמה.
למה זה חשוב
אם הממצאים מדויקים, המשמעות היא שמשתמשי ZCode שעובדים על קוד מסחרי או קנייני עשויים לשדר תוכן רגיש — כולל היסטוריית שינויים מלאה שחושפת לעיתים מידע שהוסר מהקוד בגרסאות מאוחרות יותר — לשרתים בענן סיני, ללא הסכמה מפורשת ומבלי יכולת לבדוק בעצמם מה בדיוק נשלח. ככל הנראה מדובר בחשיפה חמורה יותר מטלמטריה רגילה, שכן כאן מדובר בהעתק כמעט מלא של סביבת העבודה ולא בנתוני שימוש מצומצמים.
חשוב לציין שמדובר בבדיקה עצמאית של חוקר בודד, ושבחומרים העומדים לרשותנו אין תגובה רשמית מצד Zhipu. הדיווח גם הגיע לפורומים כמו r/LocalLLaMA ברדיט — אך הדיון שם משמש כאן רק כאינדיקציה להתפשטות הסיפור, ולא כמקור עובדתי עצמאי.