איור מופשט שנוצר על רקע כחול־נייבי עמוק: שורה נסוגה של לוחות גבוהים בצורת שרתים ניצבת על גבי רשת שרטוט עמומה, כל אחד מצויר בקו מתאר דק בצבע ציאן, עם פאנל קטן בצורת דלת התלוי פתוח במרכזו. פס סריקה רחב אחד בצבע ענבר עובר באופן אופקי דרך כל השורה, חולף דרך הפאנלים הפתוחים ומשאיר אחריו שובל מנוקד עמום. בפינה השמאלית התחתונה חלונית מסוף קטנה וכהה מכילה בלוק סמן אחד הזוהר בענבר. לא מופיעים טקסט, מספרים, אנשים, סימני מותג או לוגואים של ארגונים. הלוגו של OrcaRouter משולב בפינה הימנית התחתונה.
AI Safety Incidents

חשוף מעצם העיצוב: ביקורת חיה של 414 שרתי MCP החשופים לאינטרנט מצאה 68 פגיעויות

מחבר

Rowan Sterling

תאריך פרסום

מודלים אחרונים · 20צפו בכל המודלים →
בנצ'מרקים: Artificial Analysis · מתעדכן יומית
חזרה לכל הפוסטים

ב-31 ביולי 2026 פרסם ניקולאס פדייה חשוף מעצם התכנון (arXiv:2608.00150), קדם-פרסום בן 13 עמודים המתאר את מה שהוא מכנה ההערכה הדינמית הראשונה של אבטחה התנהגותית של שרתי Model Context Protocol הפונים לאינטרנט. ארבע ריצות מדידה באותו חודש אישרו 640 שרתי ייצור פעילים, מהם 414 נבדקו באופן פעיל; הבדיקה הניבה 68 פגיעויות הניתנות לדיווח, כולן הוגשו לתחזקנים כ-GitHub Security Advisories. 380 מתוך ה-414 — 91.8% — לא כללו אימות OAuth, ו-687 מופעי כלים הצהירו על הרצת פקודות מעטפת ללא בקרות גישה. פדייה מדווח כי אין ראיות לכך שחלק מזה נוצל לרעה: הבדיקה נותרה ברמת הוכחת היתכנות, לא הושגו פרטי התחברות ולא הוצאו נתונים. רשימת המקורות המלאה של הרשומה, דירוג החומרה והערכת הוודאות נמצאים בארכיון אירועי ה-AI, לצד ממצאי MCP ותשתיות אחרים שהוגשו בסמוך אליו.

מה שהביקורת למעשה עשתה

פרוטוקול Model Context Protocol הוא הממשק שמאפשר לסוכן AI לקרוא לכלים המתארחים במקום אחר — חיפוש מסמכים, שאילתת מסד נתונים, כלי עזר ל-shell. שרת שמדבר אותו דרך HTTP ונגיש מהאינטרנט הוא למעשה משטח כלים שכל אחד יכול לפנות אליו. המאמר של Padilla טוען שאוכלוסיית השרתים הללו מעולם לא נספרה כראוי, ושספירתם היא העיקר: הגילוי הוא החלק הקשה, וכל סקר קודם בחן פרוסה אחרת.

שלב הגילוי שלו איחד אחד עשר מקורות — crt.sh, Hugging Face, GitHub, npm, Smithery, PyPI, Censys, FOFA, Shodan, glama.ai ו-pulsemcp.com — על בסיס הטענה שאף אחד מהם לבדו אינו לוכד את האוכלוסייה. השלב הפעיל השתמש בCorvus, מסגרת שפדייה בנה למחקר: 34 מודולי בדיקה המכסים 10 קטגוריות פגיעות ייחודיות ל-MCP, מהם 13 סטטיים ו-21 דינמיים. הוא מפורסם ב-GitHub תחת ארגון CobaltoSec וב-PyPI בשם cobaltosec-corvus, וקובץ הסטטיסטיקות של המאגר עצמו מתעד את אותו מספר של 34 מודולים.

ארבע ההרצות התרחשו ב-15, 18, 21 ו-24 ביולי 2026. הרצות מוקדמות יותר תרמו רק מספרי אישור; שלוש ההרצות האחרונות סרקו 3,485, 3,948 ו-4,110 מועמדים ואישרו 140, 464 ו-296 שרתים פעילים בהתאמה. לאחר הסרת כפילויות מ-972 תצפיות גולמיות עם 332 הופעות חוזרות נותרו 640 שרתים ייחודיים מאומתים, שמהם 414 — 64.7% — קיבלו בדיקה דינמית מלאה. Padilla מתייחס ל-640 כאל גבול תחתון. Censys, אחד ממקורות הגילוי, העריכה יותר מ-21,000 נקודות קצה הקשורות ל-MCP ברחבי העולם במאי 2026, והוא משתמש בכך כאומדן היקף ולא כמניין של מה שהוא בדק.

An HTML table card titled 'Four runs in July 2026', subtitled 'What each measurement pass scanned, how many servers it confirmed, and how many carried a CRITICAL finding'. Four columns: run date, candidates scanned, servers confirmed, CRITICAL findings. Rows read: 15 July, candidates not tracked, 72 confirmed, no CRITICAL count; 18 July, 3,485 candidates, 140 confirmed, 17 CRITICAL; 21 July, 3,948 candidates, 464 confirmed, 41 CRITICAL; 24 July, 4,110 candidates, 296 confirmed, 35 CRITICAL. A blue summary band beneath reads: 972 raw observations, 332 duplicate appearances, 640 unique confirmed, 414 fully audited, 68 reportable. A footer cites Nicolás Padilla, arXiv:2608.00150, submitted 31 July 2026.

כשקוראים את המספרים כמשפך, הם הטיעון האמיתי של המאמר: מעבר רחב וזול מוצא מועמדים מהר יותר מכפי שמעבר קפדני יכול לבחון אותם. רק 414 מתוך 640 השרתים המאומתים נבחנו במלואם, ופאדילה אינו טוען שתת-הקבוצה שנבדקה דומה ליתר שלא נבדק.

מה שהוא מצא

הממצא הבולט הוא האימות — או היעדרו. מתוך 414 השרתים שנבדקו, ל-380 (91.8%) לא היה OAuth. המאמר מציין שרוב הנותרים השתמשו בטוקנים סטטיים מסוג bearer או במפתחות API, שלעיתים קרובות ניתנים לחיזוי או ריקים — שרת שמקבל מחרוזת קבועה גם הוא אינו מאומת בצורה ממשית. מכיוון שהביקורת בחנה רק שרתים שהיו נגישים לציבור ללא אישורי גישה, נתון זה מתאר את האוכלוסייה החשופה מעצם הגדרתו; אין זה אומדן עבור שרתי MCP באופן כללי.

68 הממצאים המדווחים מתחלקים לפי מחלקה, וספירות המחלקות חופפות זו לזו במקום לחלק את הסך הכולל: 380 ליקויי אימות, 52 מקרים של קבלת fuzzing פרוטוקול, 47 הרעלת כלים, 38 הזרקת פקודות, 31 עקיפת סכימה, 29 זיוף בקשות בצד השרת, 24 מניפולציה של URI משאב, 22 הזרקת פרומפט, 18 חשיפת אסימונים ו-14 אינדיקטורים לשרשרת אספקה. מודולי denial-of-service נכתבו אך במכוון לא הופעלו כנגד שרתי ייצור, אשר פדילה מוציא מטעמים אתיים. ארבעת סוגי הפגיעות הנקובים בתקציר — הזרקת SQL, SSRF כנגד שירותי מטא-נתונים בענן, הזרקת תבנית פרומפט ומעבר נתיב באמצעות מניפולציית סמן — כל אחד מהם מופיע בתוך המחלקות הללו.

A generated abstract illustration on a deep navy field: a translucent glass cube representing a tool sits at the centre, its faces cut by thin slots. A fine cyan cord runs from one slot across open space to a small metallic lever at upper left; a short amber spark jumps from another slot to a dark rack of cylinders at lower right. A pale dotted ring of tick marks circles the cube at a distance, a boundary the cord crosses without being stopped. No text, numbers, people, brand marks or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

נתון הרצת ה-shell דורש הסתייגות אחת שהמאמר אינו פותר. בפרק התוצאות שלו נספרים 687 מופעי כלים עם הרצת shell וללא אימות בקרב מאגר של 640 שרתים מאושרים. בדיון, אותו נתון מוצג במילים "מתוך 414 השרתים שנבדקו באופן דינמי" ולאחר מכן מכונה "הקבוצה המאושרת הרחבה יותר". שתי ההצגות אינן מתיישבות זו עם זו, והמאמר אינו נותן מספר כולל של כלים עבור השרתים שנבדקו, ולכן לא ניתן להמיר את 687 לאחוז.

תחלופה היא הממצא שמשנה יותר מכל את האופן שבו יש לקרוא את המספרים. מתוך 464 השרתים שאומתו ב-21 ביולי, 193 — 41.6% — כבר לא היו קיימים כשההרצה הרביעית בדקה שלושה ימים לאחר מכן. תשעה מתוך 41 השרתים שנשאו ממצא CRITICAL נעלמו גם הם. פדילה מפרש זאת כפריסה ללא סקירה; משמעות הדבר גם שממצא שאומת ביום שני עלול להישאר בלי בעלים שיתקן אותו עד יום חמישי.

שלושת מקרי הבוחן, ומה ניתן לבדוק

שלושה ממצאים מתוארים בפירוט, כל אחד עם מזהה ייעוץ אבטחה של GitHub. הזרקת SQL ב־lectorium-corpus-mcp (GHSA-m8qh-p8m5-8c48, בדירוג קריטי) אומתה באמצעות המטען ' OR 1=1 -- והפרש בגודל התגובה, ללא קריאה או שמירה של תוכן מסמך. SSRF ב־epwforge (GHSA-r9fx-qwmc-rvx3, גבוה) אומתה באמצעות תזמון: 11.9 שניות מול כתובת מטא־נתונים פנימית לעומת בסיס של 0.3 שניות, ללא שמירת תוכן תגובת מטא־נתונים. הזרקת תבנית פרומפט ב־frootai (GHSA-5h8f-r9g8-5w5p, גבוה) משלימה את הסט.

שניים מהשלושה ניתנים לבדיקה ישירה. ב-30 באוקטובר 2026, שני דפי הייעוץ הראשונים נטענו בהצלחה באופן ציבורי במאגר הייעוצים של CobaltoSec, ושניהם פורסמו ב-20 באוגוסט 2026, ושניהם עדיין מפרטים "Patched versions: None" וללא CVE. השלישי, GHSA-5h8f-r9g8-5w5p, החזיר "לא נמצא" בכתובת האמורה. מאגר הייעוצים של CobaltoSec פירט 46 ייעוצים שפורסמו באותו תאריך, המכסים שרתי MCP וכלי AI נלווים; המאמר מנה 19 כמפורסמים לציבור ו-49 שעדיין היו תחת אמברגו בעת כתיבתו. תוצר סריקה עבור frootai מתאריך 28 ביולי 2026 נמצא במאגר של Corvus, כך שהבדיקה התקיימה; רק הייעוץ אינו גלוי.

תהליך החשיפה עצמו מתואר בקווים כלליים ולא בפירוט. כל 68 הממצאים הועברו לתחזקנים דרך GitHub Security Advisories פרטיים במסגרת אמברגו מתואם של 90 יום, ובמקרים שבהם דיווח פרטי לא היה זמין, פדילה פתח במקום זאת issue ציבורי במאגר. המאמר מדווח באופן אנקדוטלי כי חלק מהתחזקנים תיקנו תוך 24 שעות, אחרים לא ענו במשך שבועות, וכמה מאגרים ננטשו. הוא אינו נותן מספר של תחזקנים שאליהם פנו ואינו כולל טבלת שיעורי תגובה, באומרו שאלה ידווחו במלואם במועד ההגשה.

מה שהמאמר אינו מבסס

Exposed by Design הוא פְּרֶפְּרִינְט בְּמְחַבֵּר יָחִיד. arXiv מציין גרסה 1, שהוגשה ב-31 ביולי 2026, ללא הפניה לכתב עת וללא הצהרת ביקורת עמיתים. הארכיון מדרג את מהימנות הרשומה בדרגה B — מתועדת, אך ממקור יחיד — ודרגה זו חלה על כל היצירה הזו: כל נתון שלעיל מגיע ממאמרו של פדילה או מארטיפקטים שהוא מפרסם, ולא ממדידה עצמאית.

נראה שאף מערכת חדשות עצמאית לא דיווחה על המחקר. הסיקור קיים — ניתוח שנכתב בבינה מלאכותית ב-forkast.news, פוסטים ב-LinkedIn וב-Medium, בלוג אבטחה בשפה הסינית, מאמר הסבר ביפנית — אך הוא מפרפרז את כתב היד המקדים בלי לראיין את המחבר, לבדוק את ההתראות או להוסיף נתונים. סיקור נגזרי אינו מהווה אימות.

פדייה מציין את המגבלות בעצמו, והן ספציפיות באופן יוצא דופן. נבדקו רק תעבורות HTTP; שרתי stdio, המקרה המקומי הנפוץ, מחוץ לתחום. הגילוי מתבצע לפי מיטב המאמץ, ולכן 640 הוא רצפה. 226 השרתים המאומתים שלא נבדקו במלואם הוצאו מן הניתוח בגלל תגובות 403, איפוסי חיבורים, תגובות JSON-RPC שאינן תואמות או פשוט משום שהיו לא מקוונים, והמאמר אומר שלא ניתן לתחום את הטיית הבחירה הנובעת מכך. הזיהוי נשען על היוריסטיקות — אורקלי תזמון, תגובות דיפרנציאליות, בדיקת סכימות — בלי benchmark מתויג ובלי דיוק או recall שפורסמו עבור 34 המודולים. התחלופה שהוא מתעד מערערת את התוקף הזמני של ממצאים בודדים. וחוקר יחיד שמבצע אימות ידני מכניס סיכון של הטיית אישור שהוא מציין ואינו מכמת.

An HTML card titled 'Established, and not', split into two columns. The left column, headed 'ESTABLISHED', lists: 414 internet-facing MCP servers dynamically tested in four July 2026 runs; 380 of them (91.8%) offered no OAuth authentication; 68 vulnerabilities filed as GitHub Security Advisories; Corvus published open source with 34 modules, 13 static and 21 dynamic; 193 of 464 servers confirmed on 21 July were gone three days later; two case-study advisories public since 20 August 2026, both unpatched. The right column, headed 'NOT ESTABLISHED', lists: that any exposed server was attacked in the wild; a total population, since 640 confirmed servers is a lower bound; 687 shell-exposing tools as a share of tested servers, since the denominators conflict; the third case-study advisory, not publicly resolvable on 30 October 2026; any independent measurement or newsroom verification; module precision or recall, since no labelled benchmark is published. A footer cites Nicolás Padilla, arXiv:2608.00150 and the CobaltoSec advisory repository.

מה השתנה אחרי

התוצאה המעשית עד כה היא הכלי וזרם ההתראות. Corvus ניתן להתקנה ומתועד, ומאגר ההתראות של CobaltoSec הכיל 46 רשומות שפורסמו ב-30 באוקטובר 2026, לעומת 19 חשיפות ציבוריות שמנתה המאמר בסוף יולי. שניים ממחקרי המקרה של המאמר עצמו עדיין אינם כוללים גרסה מתוקנת — עבור שרתים אלה, החשיפה יצרה רשומה ציבורית אך עדיין לא תיקון.

עבור המגינים, החלק המועיל במחקר הוא השיטה שלו ולא הכותרת שלו. נתון של 91.8% שנשאב רק משרתים שהשיבו ללא אישורים אומר משהו צר ואמיתי: רוב מה שנחשף מעולם לא היה נעול, והתחלופה בת שלושה הימים מרמזת שרבים מהם הוקמו לצורך הדגמה, אב-טיפוס או בדיקה ומעולם לא הוקשחו. מה שהמאמר אינו יכול לומר הוא אם הדבר נכון גם לשרתי MCP שארגונים באמת נשענים עליהם, משום שאלה מעולם לא היו במדגם.