Cyata חשפה חולשה ב-LangChain שמסכנת סוכני בינה מלאכותית
28 דצמבר, 2025
החולשה מאפשרת דליפת סודות והפעלת אובייקטים לא רצויים דרך מנגנון סריאליזציה בסיסי, ברכיב שמוטמע במיליוני מערכות מבוססות Agents
חברת הסייבר הישראלית Cyata חשפה חולשת אבטחה קריטית ברכיב langchain-core, אחד המרכיבים הבסיסיים והנפוצים ביותר באקוסיסטם של סוכני בינה מלאכותית. החולשה, שקיבלה את המזהה CVE-2025-68664 ודורגה בציון חומרה גבוה במיוחד של CVSS 9.3, מאפשרת במצבים מסוימים דליפה של סודות רגישים – ובהם מפתחות API, טוקנים ופרטי התחברות – ואף הפעלה לא רצויה של רכיבי קוד, וכל זאת דרך מנגנון שנחשב עד היום בטוח יחסית: מנגנון הסריאליזציה.
LangChain היא אחת מספריות הקוד המרכזיות בעולם ה-Agents, ומשמשת מפתחים לבניית סוכני AI שמבצעים משימות מורכבות, מתחברים לשירותים חיצוניים, שומרים זיכרון ומתפקדים כמעין “עובדים דיגיטליים”. רכיב langchain-core הוא שכבת היסוד של הספרייה, האחראית על ייצוג האובייקטים, ניהול מבני הנתונים והאופן שבו סוכנים, כלים וזיכרונות עוברים בין רכיבי המערכת ונטענים מחדש. לפי נתוני טלמטריה ציבוריים, langchain-core לבדו צבר מאות מיליוני הורדות, בעוד חבילת LangChain המלאה נרשמת בעשרות מיליוני הורדות בחודש, נתון שממחיש את היקף החשיפה הפוטנציאלי של החולשה.
הבעיה שזיהו חוקרי Cyata נובעת מכשל בטיפול בתהליך הסריאליזציה – התהליך שבו אובייקטים בזיכרון, כמו סוכנים, כלים או מבני נתונים, מומרִים לייצוג נתונים פשוט לצורך שמירה, העברה או שיתוף בין רכיבי מערכת שונים. דה־סריאליזציה היא התהליך ההפוך, שבו אותו ייצוג נתונים נטען מחדש והופך שוב לאובייקט פעיל בקוד. בעוד שרוב חולשות האבטחה המוכרות מתגלות דווקא בשלב הטעינה מחדש, במקרה הזה נקודת התורפה נוצרת כבר בזמן יצירת הנתונים עצמם, כלומר בשלב שבו הם נכתבים החוצה ונשמרים. באמצעות מניפולציה על מפתח פנימי בשם lc, תוקף יכול לגרום לכך שנתון שנשמר כמידע רגיל יפורש בהמשך כאובייקט לגיטימי של LangChain בעת טעינה מחדש. המשמעות היא שכאשר הנתון נטען חזרה למערכת, הוא אינו נתפס כמידע פסיבי אלא כישות פעילה, עם גישה להקשר שבו רץ הסוכן.
בתרחישים נפוצים של עבודה עם סוכני AI, שבהם נתונים נשמרים בזיכרון, מועברים בין סוכנים או נטענים מחדש כחלק מזרימות עבודה אוטומטיות, החולשה עשויה לאפשר שליפה של משתני סביבה רגישים מתוך הפרוסס עצמו – כלומר ערכים שמוזנים לאפליקציה בזמן הריצה ומשמשים לאחסון מפתחות API, טוקנים ופרטי התחברות לשירותים חיצוניים. מאחר שסוכני AI פועלים לעיתים קרובות עם הרשאות רחבות לשירותי ענן, בסיסי נתונים ומערכות ארגוניות, ולעיתים גם מחוברים לכספות סודות שמרכזות ומספקות אישורים רגישים לפי דרישה, דליפה כזו עלולה להרחיב משמעותית את היקף הפגיעה. במקרים מסוימים, לפי הדיווח, ניתן אף לגרום להפעלה של מחלקות קוד מתוך מרחב השמות של הפרויקט – כלומר רכיבי תוכנה זמינים בסביבת הריצה של LangChain – באופן שמוביל לתופעות לוואי לא צפויות ומשנה את התנהגות הסוכן כבר בשלב טעינת הנתונים.
לדברי ירדן פורת, חוקר האבטחה ב-Cyata שגילה את החולשה, הייחודיות של הממצא טמונה בכך שהוא מערער על הנחת יסוד רווחת בקרב מפתחים. “מה שהופך את הממצא הזה לחריג הוא שהוא מתחיל דווקא במסלול הסריאליזציה, לא במסלול הדה-סריאליזציה,” אמר. בעוד שדה-סריאליזציה נתפסת מזה שנים כנקודת סיכון מוכרת, סריאליזציה נחשבת לרוב לפעולה “בטוחה”, משום שהנתונים כביכול יוצאים מהמערכת. אלא שבעולם של סוכני AI וזרימות אירועים מתמשכות, הדגיש פורת, “זו הנחה שכבר לא מחזיקה – מה שיוצא יכול לחזור פנימה כשהוא עטוף בזהות אחרת.”
החומרה של הממצא באה לידי ביטוי גם בתגובת קהילת הפיתוח של LangChain, שהעניקה לחוקרים פרס באונטי בסך 4,000 דולר – הגבוה ביותר שחולק אי פעם במסגרת הפרויקט. Cyata ממליצה לארגונים ולמפתחים המשתמשים ב-LangChain לעדכן בהקדם לגרסאות המתוקנות של הרכיב, ולהחיל עקרונות של צמצום הרשאות וברירות מחדל מחמירות עבור סוכני AI.
שחר טל, מנכ״ל ומייסד-שותף ב-Cyata, מסר כי ארגונים חייבים להתייחס לסוכני AI כאל ישויות תפעוליות לכל דבר, ולא רק כקוד. לדבריו, “כשמדובר בעובדי AI, השאלה המרכזית היא לא רק איזה קוד רץ, אלא עם אילו הרשאות זה רץ ומה יכול להשתבש.” בעולם שבו סוכני AI מחזיקים בגישה רחבה למערכות ולנתונים, הוסיף טל, תכנון אבטחה נכון חייב לאפשר לא רק זיהוי ותיקון מהיר, אלא גם ברירות מחדל חכמות שמגבילות מראש את היקף הנזק האפשרי.
[בתמונה למעלה: מייסדי סיאטה. קרדיט: אריק סולטן]
פורסם בקטגוריות: אבטחת סייבר , בינה מלאכותית

