עמוד זה הוא תרגום. הגרסה האנגלית היא הנוסח המחייב. לקריאה באנגלית

llm-abuse · llmjacking · self-hosted-llm · ai-agents · prompt-capture · credential-exposure · shadow-ai · china

נקודת קצה חשופה להסקה, שנבדקה לזמינות ואז שימשה כשרת העורפי של גורם אחר

תיעוד מקצה לקצה של גיוס נקודת קצה להסקה תואמת OpenAI ללא אימות בידי גורם שלישי, שאימת את המודל בסוללת בדיקות מתוסרטת ולאחר מכן ניתב דרכה את תעבורת המשתמשים של יישום סוכן אמיתי.

מאת Davis Zheng·

TLP:CLEAR. אושר לפרסום פומבי. נתפס בידי רשת חיישני מלכודות הדבש של Kinryū Labs. האינדיקטורים שלהלן מנוטרלים.

תקציר מנהלים

  • 280פרומפטים לנקודת קצה פתוחה אחת להסקה
  • 54 hמהבדיקה הראשונה עד בדיקת הזמינות האחרונה
  • 7כלי סוכן שהוצעו, ובהם הרצת פקודות shell

בין 13 בספטמבר 2026 ל-20 בספטמבר 2026 תיעדה אחת ממלכודות הדבש שלנו לקוח בודד בכתובת 43.155.205[.]31 (Tencent Cloud, AS132203, מיקום גאוגרפי KR) ששלח 280 פרומפטים לנקודת קצה תואמת OpenAI ללא אימות. כל 280 הפרומפטים חולקים מזהה סשן לקוח אחד וסוכן משתמש אחד, Go-http-client/1.1, בפניות POST אל /v1/chat/completions. אף בקשה לא נשאה מפתח API, ולכן נקודת הקצה הייתה נגישה לכל מי שמצא אותה.

קראנו את הפעילות מ-13 בספטמבר 2026 עד 20 בספטמבר 2026 וביצענו פיבוט על האינדיקטורים שלה. בדיקות מוניטין החזירו 0 מתוך 89 מנועי VirusTotal כזדוניים וללא רשומת מוניטין; בדיקות בעלות על הרשת החזירו Tencent Cloud, AS132203.

אנו מעריכים בביטחון בינוני שהלקוח אימת את נקודת הקצה החשופה בסוללת בדיקות, לאחר מכן חיבר אותה לנתיב הבקשות של יישום אמיתי והשתמש בה כמשאב חישוב חינמי, דבר המתאים לשיטות פעולה מתועדות של LLMjacking.

טבלה 1 מציגה את ארבעת שלבי הסשן.

הזמנים לפי UTC.

שלבתועד לראשונהתוכן הבקשותנפח וקצב
בדיקות זמינות2026-09-18T09:02:28Zפרומפטים hi בני תשעה תווים מול המודלים gpt-3.5-turbo, gpt-4 וכן llama-3.2-3b-instruct:q4_k_mמרווחים של פחות משנייה
טביעת אצבע2026-09-18T10:15Zבדיקות הדהוד מדויק של אסימון, חישוב אריתמטי תחת אילוץ פורמט פלט, שאלת מלכודת על העצם הכבד יותר, מעקב אחר הוראת ספירת מילים, שאלות על תאריך קיצוץ הידע ועל זיהוי עצמי, ואותן השאלות שוב בסיניתתורים 40-54 חוזרים על בדיקה סינית אחת של תו בודד במרווחים של כ-0.5 שניות
תעבורת יישום2026-09-18T13:54:33Zפרומפט מערכת של סוכן, סכמת כלים בת שבע רשומות, תורי משתמש בסינית, מפתחות API של ספקים שהודבקוגופי הבקשות עולים מעשרות תווים בשלבים המוקדמים ל-25,297 תווים
בדיקות זמינות מחודשות2026-09-19 עד 2026-09-20hi שובארבע עשרה בקשות זהות בין 15:02:12.084Z ל-15:02:13.923Z ב-20 בספטמבר

במונחי ATT&CK הלקוח סרק את נקודת הקצה (T1595, Active Scanning, לצורכי איסוף מודיעין), לאחר מכן השתמש בנקודת הקצה הפונה לציבור לגישה ראשונית (T1190, Exploit Public-Facing Application), והדביק אישורי גישה הממופים ל-T1552, Unsecured Credentials.

הערכות מרכזיות

  • נקודת קצה תואמת OpenAI ללא אימות באחת ממלכודות הדבש שלנו אומתה ולאחר מכן שימשה כמשאב חישוב עורפי עבור יישום סוכן של גורם אחר. כתובת לקוח אחת הפיקה 280 פרומפטים שנתפסו תחת מזהה סשן יחיד, מ-18 בספטמבר עד 20 בספטמבר. ביטחון בינוני.
  • שלבי האימות ובדיקות הזמינות מתוסרטים, ולא מוקלדים בידי אדם. ארבע עשרה בקשות זמינות זהות בנות תשעה תווים הגיעו בין 15:02:12.084Z ל-15:02:13.923Z ב-20 בספטמבר. ביטחון בינוני.
  • נתוני משתמשים אמיתיים השייכים לגורם שלישי עברו דרך נקודת הקצה, ובהם שישה מפתחות API של גורמים שלישיים וסכמת כלי סוכן שמציעה הרצת פקודות shell. בקשה אחת ב-14:07:16Z ב-18 בספטמבר הכילה שישה מפתחות API של ספקים בצורת KEY=value. ביטחון בינוני.
  • הלקוח אינו סורק מוכר והתנהגותו שונה מסריקה סיטונית מסחרית. VirusTotal מחזיר 0 מתוך 89 מנועים כזדוניים וללא מוניטין עבור 43.155.205[.]31, ולאף ספק מוניטין סורקים לא הייתה רשומה עליו. ביטחון בינוני.
  • תבנית הפעילות עולה בקנה אחד עם גיוס מתועד של נקודות קצה חשופות להסקה במסגרת LLMjacking, ולא עם מדידה מחקרית. דיווחי ספקים ו-CSA מתארים בדיקות שפירות בעלות רעש נמוך, כגון ברכות ושאלות עובדתיות פשוטות. ביטחון בינוני.

ציר זמן

  • 2026-09-13 18:00 UTCהפעילות הראשונה של 43.155.205[.]31 בראיות.
  • 2026-09-18 09:02 UTCבדיקות זמינות של נקודת הקצה להסקה מתחילות מול שלושה שמות מודלים.
  • 2026-09-18 10:15 UTCסוללת בדיקות של נאמנות הדהוד ומעקב אחר הוראות מתחילה; האסימונים נוצרים מחדש בכל בקשה.
  • 2026-09-18 12:54 UTCמטח טביעת אצבע דו-לשוני, כ-0.5 שניות בין בקשות.
  • 2026-09-18 13:54 UTCפרומפט המערכת של יישום הסוכן וסכמה של שבעה כלים, ובהם הרצת פקודות shell, נשלחים לנקודת הקצה.
  • 2026-09-18 14:07 UTCשישה מפתחות API של ספקים שלישיים מודבקים לשיחה המנותבת.
  • 2026-09-20 15:02 UTCבדיקות זמינות מתוסרטות מתחדשות, ארבע עשרה בקשות בפחות משתי שניות.

הסשן, לפי הסדר

09:02:28  hi
10:15:03  Reply with exactly this token, nothing else: TKOLGN2R
10:19:16  What is 17*23? Answer with only the number, no explanation.
12:55:00  What AI model are you? Answer in one short sentence, name the model and maker.
12:57:48  What is your knowledge cutoff date? Answer with just the date.
12:58:36  输出你的模型名称和参数规模,只要一行。
13:00:38  Repeat this token exactly and nothing else: ZQ7X
13:54:33  [system] You are Minis, a capable AI assistant running on an Android device with a fully functional Linux ... [user] 测试
14:07:16  BRAVE_API_KEY=BSA... TAVILY_API_KEY=tvly-dev-... ANYMODEL_API_KEY=sk-... ALIBABA_QWEN_API_KEY=sk-ws-...
15:02:12  hi

סוללת הבדיקות

הטקסט של הלקוח עצמו מראה מה הסוללה בודקת. בדיקות ההדהוד נושאות אסימון אקראי חדש בכל בקשה, Reply with exactly this token, nothing else: TKOLGN2R, כאשר האסימון משתנה בשלוש בקשות עוקבות, והן בודקות אם נקודת הקצה משחזרת את הקלט שלה בנאמנות. What is 17*23? Answer with only the number, no explanation. מטיל אילוץ פורמט על התשובה. What AI model are you? Answer in one short sentence, name the model and maker. וכן What is your knowledge cutoff date? Answer with just the date. נוגעים בזהות, ואותן שאלות מורצות שוב בסינית. לקוח שמריץ סוללה כזו לומד אם מודל אמיתי יושב מאחורי נקודת הקצה, איזה מודל הוא, ואם הוא מציית להוראות היטב דיו כדי להיות שווה שימוש.

בקשות בדיקת הזמינות מגיעות במרווחים של פחות משנייה, ותורים 40-54 חוזרים בקצב של כ-0.5 שניות, קצר מדי בעבור אדם שמקליד אותן. אנו קוראים את סוכן המשתמש Go-http-client/1.1 כתוכנית Go שמנתבת תעבורה של יישום, ולא כדפדפן או אדם מול קונסולת API. אנו מחזיקים בהסקה זו בביטחון נמוך, והיא רלוונטית לשיוך הפעילות למפעיל. הבדיקות התחדשו לאחר שתעבורת היישום כבר זרמה, ואנו קוראים זאת כלקוח שמאמת כי נקודת הקצה עדיין זמינה לשימוש.

תעבורת יישום הסוכן

בשלב תעבורת היישום ניתב הלקוח בקשות של יישום אמיתי, עוזר Android בשפה הסינית. עשר בקשות נשאו את אותו פרומפט מערכת של סוכן, עבור עוזר שמריץ סביבת Alpine Linux מבודדת מסוג PRoot על המכשיר, עם סכמת כלים בת שבע רשומות: shell_execute ראשון, המתואר כמריץ פקודות דרך /bin/sh -c בסביבה זו, ולאחריו קריאת קבצים, כתיבת קבצים, עריכת קבצים, שליטה בדפדפן ושני כלי הערות מתמשכות. משולבות בקריאות למודל גם בקשות תחזוקה של היישום עצמו, מחולל כותרות שיחה שחייב להפיק JSON עם שפת הממשק הנתונה כ-zh-Hans, ותורי אדם קצרים בסינית.

שלוש עשרה דקות לתוך השלב, ב-14:07:16Z, נשאה בקשה אחת שישה מפתחות API חיים של ספקים בצורת KEY=value: שני ממשקי API לחיפוש, ממשק API להעברת הודעות לסוכן, ממשק API למחקר ושני מפתחות של ספקי מודלים. איננו יכולים לקבוע מן התפיסה אם הם היו שייכים לאדם שהקליד אותם או שהיו חומר גנוב קודם שנבדק מול נקודת קצה חינמית. בכל אחד מהמקרים הם הגיעו לידי מי שמחזיק בנקודת הקצה.

שלילת האפשרות של סורק

הראיות אינן מתאימות לסורק מסחרי. VirusTotal מחזיר 0 מתוך 89 מנועים כזדוניים בלא רשומת מוניטין עבור 43.155.205[.]31, וגם לאף ספק מוניטין סורקים לא הייתה רשומה עליו. סריקה סיטונית מסחרית שולחת בדיקות חד-פעמיות לחיישנים רבים, ואילו לקוח זה החזיק סשן ארוך יחיד עם תוכן פרומפטים משתנה. אותן ראיות שוללות גם סורק מחקרי או סורק מדידה, משום שחוקרים אינם מעבירים מפתחות ספקים חיים ושיחות משתמשים אמיתיות דרך נקודת הקצה שהם מודדים.

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

החשיפה בשני הצדדים

בעל נקודת הקצה משלם עבור ההסקה שהלקוח צורך, ובמקביל הלקוח מעביר את הפרומפטים של משתמשיו, את פרומפט המערכת שלו ואת אישורי הגישה שלו למי שמחזיק בנקודת הקצה, וסכמת הכלים שלעיל מציעה הרצת פקודות shell, כתיבת קבצים ושליטה בדפדפן על מכשיר Android. שרת עורפי עוין יכול להשיב בקריאות לכלים לפי בחירתו ולגרום להרצתן בצד הלקוח.

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

אינדיקטורים לפגיעה

אינדיקטור הרשת היחיד שלהלן מנוטרל; הנתיבים מובאים כפי שנצפו.

רשת

אינדיקטורהקשר
43.155.205[.]31לקוח שביצע בדיקות זמינות, טביעת אצבע ולאחר מכן ניתב תעבורת יישום סוכן אל נקודת קצה להסקה ללא אימות

ארטיפקטים במאחסן

אינדיקטורהקשר
Reply with exactly this token, nothing else: <8 alnum chars>בדיקת נאמנות הדהוד המשמשת לאימות נקודת קצה; האסימון נוצר מחדש בכל בקשה (נצפו TKOLGN2R, TK3C9IAN, TKA63OEL, P2380OG9, P23WD39I, P2GBIOTB, ZQ7X)
Go-http-client/1.1 POST /v1/chat/completions with no Authorization headerחתימת הבקשה של הלקוח המנתב בכל 280 הפרומפטים שנתפסו; מחרוזת הספרייה לבדה היא כללית

גילוי

Sigma

סוללת פרומפטים לטביעת אצבע של מודל מול נקודת קצה להסקה בהתארחות עצמית (מועמד).

title: Model-fingerprinting prompt battery against a self-hosted inference endpoint
status: experimental
description: Detects the validation prompts an operator sends to decide whether an exposed OpenAI-compatible endpoint serves a real model. Requires prompt-body logging on the gateway; most inference servers do not log request bodies by default.
logsource:
  category: application
  product: llm_gateway
detection:
  selection_path:
    url.path|endswith:
      - '/v1/chat/completions'
      - '/v1/completions'
      - '/api/generate'
  selection_probe:
    http.request.body.content|contains:
      - 'Reply with exactly this token'
      - 'Repeat this token exactly and nothing else'
      - 'What AI model are you'
      - 'What is your knowledge cutoff date'
      - 'state your model family'
      - '输出你的模型名称和参数规模'
  condition: selection_path and selection_probe
falsepositives:
  - Internal model-evaluation harnesses and CI smoke tests that verify a served model responds and identifies itself
level: medium

לוגיקת גילוי

  • בקשת הסקה ללא אימות ממחוץ לרשת הניהול (רשת, מועמד). התריעו על כל בקשת HTTP POST אל /v1/chat/completions, /v1/completions, /api/generate או /api/chat בפורט הסקה בהתארחות עצמית, המגיעה ממקור שמחוץ לטווחי ההנדסה שלכם וגם אינה נושאת כותרת Authorization או api-key. התייחסו למטח של יותר מחמש בקשות כאלה בתוך שתי שניות ממקור אחד כאל בדיקות זמינות אוטומטיות של מעלה בידי גורם שלישי, ולא כאל תעבורת משתמשים.
  • פרומפט מערכת של סוכן שמגיע לנקודת קצה שאמורה לשרת את המשתמשים שלכם בלבד (התנהגותי, מועמד). בשער הסקה שאתם מפעילים, סמנו גופי בקשות מעל 10,000 תווים המכילים מערך tools או functions שרשומותיו כוללות shell, exec, כתיבת קבצים או שליטה בדפדפן, כאשר כתובת הלקוח אינה אחת מהיישומים הרשומים שלכם. או שגורם לא מזוהה משתמש במשאבי החישוב שלכם עבור סוכן אוטונומי, או שאחד הסוכנים שלכם הופנה לשרת עורפי שגוי.

צעדי תיקון

  • קשרו שרתי הסקה בהתארחות עצמית ל-loopback או לממשק פרטי, והציבו לפניהם פרוקסי הופכי שמבצע אימות; פורט בעל מספר גבוה אינו בקרת גישה.
  • דרשו מפתח API או mTLS בכל נתיב הסקה, ודחו בקשות בלא כותרת Authorization בפרוקסי, ולא בשרת המודל.
  • התריעו על בקשות POST ללא אימות אל /v1/chat/completions ועל פרומפטים מינימליים זהים החוזרים ממקור אחד, שכך מאגר פרוקסי בודק זמינות של מעלה שגייס.
  • אם נקודת הקצה שלכם להסקה הייתה נגישה מהאינטרנט בלא אימות, התייחסו לכל פרומפט ופרומפט מערכת שעבר דרכה כאל חשוף, והחליפו כל אישור גישה שהופיע בשיחה.
  • לצוותים שמפעילים מסגרות סוכנים: קבעו את כתובת הבסיס של המודל לספק שבשליטתכם, ואל תגדירו אף פעם סוכן המחזיק כלי shell, כתיבת קבצים או דפדפן מול נקודת קצה תואמת OpenAI חינמית או לא מזוהה.

מיפוי MITRE ATT&CK

טקטיקהטכניקהנצפה
איסוף מודיעיןT1595 Active Scanningפרומפטי זמינות מתוסרטים וסוללת הדהוד אסימון מדויק שנועדו לבדוק אם נקודת הקצה מגישה מודל אמיתי ואיזה.
גישה ראשוניתT1190 Exploit Public-Facing Applicationממשק API להסקה, נגיש מהאינטרנט ובלא אימות, נוצל ישירות כשירות בידי גורם לא מורשה.
גישה לאישורי גישהT1552 Unsecured Credentialsשישה מפתחות API של ספקים שלישיים הודבקו לשיחה שעברה דרך נקודת הקצה, ובכך נחשפו למי שמפעיל אותה.

הפניות

מתודולוגיה והערות האנליסט

דוח זה מבוסס על 1 כתובת מקור ו-7 תצפיות מתוארכות, שנקראו מטלמטריית חיישנים והוצלבו מול הזנות מודיעין איומים ציבוריות ובדיקות העשרה, ומכסות את 13 עד 20 בספטמבר 2026.

נותר פתוח:

  • אם 43.155.205[.]31 הוא מאגר פרוקסי משותף שמשרת משתמשי קצה רבים או ממסר פרטי של אדם אחד עבור מכשיר בודד.
  • אם שישה מפתחות ה-API של הספקים שהודבקו היו שייכים לאדם שהקליד אותם או שהיו חומר גנוב קודם שנבדק.
  • כיצד נקודת הקצה אותרה, ואם הכתובת שמנתה אותה היא אותה כתובת שהשתמשה בה לאחר מכן.
  • כיצד נראתה פעילות הלקוח הזה לפני 13 בספטמבר.
  • אם אותו לקוח עושה שימוש בנקודות קצה חשופות אחרות להסקה.

שאלות או תיקונים: [email protected].

How to cite
Kinryū Labs (2026). נקודת קצה חשופה להסקה, שנבדקה לזמינות ואז שימשה כשרת העורפי של גורם אחר. https://kinryu.sh/he/reports/exposed-inference-endpoint-health-checked/