Crucible · חומת אש לבדיקת מודלים

סריקה נקייה מותירה את שאלת הטעינה פתוחה

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

23/23 לעומת 19/23

זיהוי אירועים חסומים לעומת דגלי PickleScan

אותם 23 מבדקים סינתטיים זדוניים וחמקניים

4/4 לעומת 0/4

ארבעה חמקנים מובנים

זיהוי התנהגותי לעומת PickleScan 1.0.4

2/2

מבדקי הימנעות שנותבו ל-REVIEW

נדרשות ראיות נוספות; לא הונפקה חתימה

הכרטיסים מדווחים על הרצת ייחוס קבועה אחת של צינור ישיר סינתטי בן 33 ארטיפקטים ב-6 באוקטובר 2026 עם ייעוץ דטרמיניסטי. הם אינם מעריכים זיהוי במודלים לא מוכרים. הסרטון לוכד בנפרד בדיקות מוגדרות טריות באפליקציה המקומית: הקונסולה הראשית משתמשת בייעוץ Codex שמור במטמון, ומבחן הביצועים משתמש בייעוץ דטרמיניסטי. לא נלכדת הסקת מודל טרייה.

ההחלטה זקוקה לראיות לגבי הטעינה

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

Python מזהיר כי נתוני pickle שנבנו בקפידה עלולים לבצע קוד במהלך unpickling. התיעוד של Hugging Face לסריקת pickle מתאר אף הוא מגבלות של בדיקת ייבוא ו-opcodes. תיעוד Python pickle; תיעוד סריקת pickle של Hugging Face.

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

כיצד מתקבלת ההחלטה המוגדרת

  1. בדיקת תוכן pickle נתמך. פירוק opcode סטטי מתעד משתנים גלובליים ומעריך אלמנטים קריאים (callables) שזומנו. קו הבסיס המותקן של PickleScan מספק שדה השוואה נפרד; הדגל שלו אינו קובע ישירות את הפסק.
  2. צפייה בניסיון טעינה. תת-תהליך Python חדש משתמש ב-audit hook של CPython כדי לתעד אירועים נבחרים ולהעלות שגיאה לפני השפעות חסומות מוגדרות, כולל חיבור SQLite וחיבור socket. מדובר במכשור Python עם הפרדת תהליכים, ללא תיחום של קונטיינר או מערכת הפעלה.
  3. הפעלת השער ושימור אי-ודאות. אירוע התנהגותי חסום מחזיר QUARANTINE. קריסה או פסק זמן של המריץ, שגיאת פירוק pickle, או משתנה גלובלי סטטי מסוכן שלא הופעל מחזירים REVIEW. אחרת שער הבסיס מחזיר ALLOW; ספק של המאתגר יכול לשנות ALLOW ל-REVIEW, בעוד ש-QUARANTINE נשאר בתוקף.
  4. צירוף רשומה תחומה. כל תוצאה מקבלת מצאי מודל מינימלי במבנה CycloneDX ושדות שרשרת גיבוב מקומית. רק ALLOW מקבל חתימת מפתח פיתוח על שם המודל, גיבוב הארטיפקט והמצאי. היסטוריית מקור עליונה לא ידועה נשארת UNKNOWN.

הייעוץ משתמש בתפקידי אנליסט ומאתגר בבקשה משולבת אחת. הקונסולה הראשית המוקלטת משתמשת בייעוץ שמור במטמון; מבחן הביצועים משתמש בייעוץ דטרמיניסטי. בדיקות מוגדרות אלו אינן מבטיחות שכל קובץ פגום, פורמט לא נתמך או שגיאת ניתוח ינותבו ל-REVIEW.

מעקב אחר ארטיפקט יחיד מסריקה נקייה ועד להחלטת קבלה

כל הארטיפקטים, שמות המודלים ו hf:// תוויות המקור להלן הן מבדקים מקומיים סינתטיים, לא מודלים של לקוחות או רשומות מרשם מאומתות. שלושת צילומי המסך הראשונים לוכדים בדיקות מוגדרות טריות עם ייעוץ Codex שמור במטמון; לכידת מבחן הביצועים הנפרדת משתמשת בייעוץ דטרמיניסטי. לא מוצגת הסקת מודל טרייה.

דוגמה מעשית: קו בסיס נקי, ניסיון מסד נתונים שנחסם

ה- trusted-looking/finetune-safe pickle שנוצר מנסה לפתוח מסד נתונים של SQLite במהלך דה-סריאליזציה. שמו הוא תווית מבדק מומצאת, לא ראיה לאמינות. השאלה המועילה היא האם ממצא הסורק והתנהגות הטעינה הנצפית תומכים באותה החלטת קבלה.

תוצאה מוגדרת

PickleScan: CLEAN. פעולה שנצפתה: sqlite3.connect, נוסתה ונחסמה. פסק סופי: QUARANTINE. חתימה: אין.

חמקן SQLite סינתטי של Crucible המציג PickleScan CLEAN, חסימת sqlite3.connect ו-QUARANTINE
חמקן SQLite סינתטי: PickleScan אינו מסמן את הארטיפקט בדגל; ה-audit hook המוגדר מתעד וחוסם את פעולת מסד הנתונים שנוסתה. QUARANTINE אינו מנפיק חתימה. NO CODE SURFACE פירושו שאין פגיעה במשתנה גלובלי מסוכן מוגדר; _sqlite3.connect נותר נוכח. ניסוח ארגז החול של ממשק המשתמש מתייחס למכשור audit בתת-תהליך, ללא תיחום של מערכת הפעלה או קונטיינר. פתחו את התמונה לבדיקה בגודל מלא.

1. קריאת ממצאי הסורק והממצאים הסטטיים בנפרד

PickleScan 1.0.4 מתעד את _sqlite3.connect כחשוד מבלי להגדיר את דגל ההדבקה שלו. הפירוק הסטטי של Crucible שומר אף הוא את אותו callable מיובא, אך הוא נעדר מקבוצת המשתנים הגלובליים המסוכנים המוגדרת. תג NO CODE SURFACE הגלוי פירושו לפיכך שאין פגיעה במשתנה גלובלי מסוכן מוגדר; אין זה אומר שהקובץ אינו מכיל callable בר-ביצוע.

ראיות עבור ארטיפקט ה-SQLite הסינתטי
בדיקהממצא מתועדמה זה מבסס
קו בסיס של PickleScanflagged: false; _sqlite3.connect [suspicious]קו בסיס זה אינו מסמן את הארטיפקט בדגל. הוא אינו מבסס טעינה בלתי מזיקה.
פירוק סטטי_sqlite3.connect בייבואים וב-callables משוערים; אין משתנה גלובלי מסוכן מוגדרה-callable גלוי אף על פי שאין פגיעה ברשימת החסימה המוגדרת.
טעינה שנצפתהsqlite3.connect עם blocked: true; loaded: falseה-audit hook מעלה שגיאה לפני השפעת פתיחת מסד הנתונים המוגדרת.
שער סופיQUARANTINE; signature: nullהניסיון שנחסם קובע פסק זה. לא מונפקת חתימה.

2. שימוש בהשפעה שנוסתה כדי להחליט על הניתוב

עובד ה-Python החדש מגיע אל sqlite3.connect עבור /tmp/vp_demo_persist/.store.db. ה-audit hook של CPython מתעד את הפעולה ומעלה שגיאה לפני ההשפעה המוגדרת. השער מחזיר QUARANTINE מכיוון שנצפה אירוע מסוכן חסום, ללא קשר לדגל קו הבסיס הנקי. ראיות אלו אינן מראות מסד נתונים שנוצר או שרידות מוצלחת.

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

3. השארת ההחלטה קשורה לארטיפקט ולרשומה

רשומת ה-JSON הניתנת להורדה מקשרת את ה-SHA-256 של הארטיפקט עם ממצאיו הסטטיים, תוצאת קו הבסיס, קריאות שנוסו, סיבת השער, מצאי מודל מינימלי ושדות שרשרת גיבוב מקומית. עבור תוצאת QUARANTINE זו, שדה החתימה הוא null. סוקרים יכולים לבחון את ראיות ההחלטה מבלי להתייחס להמלצות ייעוץ כאישור או כפעולת מרשם שהושלמה.

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

טעינה שקטה מותירה ממצא מותנה ללא הכרעה

המבדק הסינתטי הנפרד acme/experimental-rl מכיל את builtins.eval בבדיקה סטטית. הענף המותנה שלו אינו מופעל בסביבה זו, והטעינה הנצפית אינה מתעדת אירוע מסוכן חסום. הממצא הסטטי הבלתי פתור שולח אותו ל-REVIEW ללא חתימה. נתיב זה משמר את הצורך בראיות נוספות; לא מוצגת חקירה אנושית שהושלמה.

מבדק מותנה סינתטי של Crucible המציג builtins.eval, ללא אירוע זמן ריצה חסום ו-REVIEW
מבדק מותנה סינתטי: בדיקה סטטית מוצאת את builtins.eval, בעוד שהטעינה הנצפית אינה מתעדת אירוע מסוכן חסום. REVIEW אינו מנפיק חתימה ומנתב את הארטיפקט לקבלת ראיות נוספות במקום לביקורת אנושית שהושלמה. פתחו את התמונה לבדיקה בגודל מלא.

ALLOW חותם על המצאי המקומי בעוד המקוריות נשארת לא ידועה

מילון המשקולות acme/sentiment-mlp שנוצר פוסע בנתיב הנקי: שום אירוע מסוכן חסום אינו מתועד, הבדיקות המוגדרות מחזירות ALLOW וחתימת Ed25519 מונפקת. המצאי שלו מציין את הארטיפקט והגיבוב, פורמט הסריאליזציה, התשתית שהוסקה והמקור המוצהר. מקוריות נתוני האימון והיסטוריית הכוונון העדין (fine-tuning) נותרות UNKNOWN.

מצאי משקולות נקיות סינתטי של Crucible המציג מקוריות UNKNOWN וחתימת Ed25519 מקומית
מילון משקולות נקיות סינתטי: ALLOW מקבל חתימת מפתח פיתוח מקומי על שם המודל, הגיבוב והמצאי. מקוריות האימון והיסטוריית הכוונון העדין נותרות UNKNOWN. טקסט הפניה לתשתית הגלוי הוא תווית מוגדרת, ללא תיקוף משפטי או ממצא תאימות. פתחו את התמונה לבדיקה בגודל מלא.

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

קריאת השוואת הקבוצה הקבועה עם המכנה שלה

הרצת ייחוס קפואה אחת של צינור ישיר ב-6 באוקטובר 2026 משתמשת בייעוץ דטרמיניסטי, PickleScan 1.0.4, מפתחות פיתוח זמניים וספר רישום זמני. 33 הארטיפקטים שנוצרו בה מקיפים 8 שפירים, 19 זדוניים, 4 חמקנים מובנים ו-2 מבדקי הימנעות. ההשוואה של זדוניים וחמקנים מונה את אותם 23 ארטיפקטים בשתי העמודות.

הרצת ייחוס קבועה של צינור ישיר סינתטי בן 33 ארטיפקטים
מדידהתוצאה שנצפתההיקף
זיהוי זדוניים וחמקניםהתנהגותי 23/23; PickleScan 19/23זיהוי אירועים חסומים בהשוואה לדגל ההדבקה של קו הבסיס באותם 23 מבדקים.
חמקנים מובניםהתנהגותי 4/4; PickleScan 0/4ארבעה מבדקים שתוכננו להמחיש את ההבדל בין בדיקות אלו.
החלטות לגבי שפירים0/8 קיבלו פסק שאינו ALLOWשמונה מבדקים שפירים, לא אומדן של תוצאות חיוביות שגויות במודלים לא מוכרים.
חתימות ALLOW8/8 הונפקו ואומתוהאימות משתמש בפונקציה הכלולה ובמפתח פיתוח מקומי.
נתיב הימנעות2/2 REVIEWמבדקים בלתי פתורים נותרים ללא חתימה; החקירה לא הושלמה.
פסקים צפויים ושרשרת מקומית33/33 תאמו; קישורי הגיבוב שלמיםציפיות מבדק מוגדרות ובדיקת עקביות מקומית, ללא עוגן חיצוני.

צילום המסך להלן הוא הרצה נפרדת שהושלמה של מבחן ביצועים HTTP/SSE באפליקציה המקומית, עם ייעוץ דטרמיניסטי. הוא מציג את אותה השוואת קבוצה קבועה ו-33/33 התאמות פסק צפויות. אינו מקור מדידת הייחוס הקפואה של הצינור הישיר שלעיל; זמני הביצוע המוצגים בו שייכים לאותה הרצה שנלכדה.

מבחן ביצועים סינתטי של Crucible שהושלם המציג 33 מתוך 33 פסקים צפויים, זיהוי התנהגותי 23 מתוך 23 ודגלי PickleScan 19 מתוך 23
מבחן ביצועים מקומי HTTP/SSE שהושלם: כל 33 המבדקים הסינתטיים תואמים את הפסקים הצפויים שלהם. זיהוי אירועים חסומים התנהגותי הוא 23/23 ודגלי PickleScan הם 19/23 באותה קבוצת זדוניים וחמקנים. הייעוץ דטרמיניסטי. רק ALLOW חותם על מטען המצאי; REVIEW ו-QUARANTINE אינם חתומים. לשרשרת הגיבוב המקומית אין עוגן חיצוני, והזמנים המוצגים אינם מייצגים זמני השהיה בייצור. פתחו את התמונה לבדיקה בגודל מלא.

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

מה כל שכבה יכולה לבסס

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

מה הדגמה זו אינה עושה

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

Python מזהיר כי audit hooks אינם מתאימים ליישום ארגז חול. תיעוד audit-hook של Python. עבודה בייצור חייבת לבסס תיחום, גבולות אמון ומשמורת מבוקרת מעבר להדגמה מקומית זו.

שאלות שצוותי אבטחה ופלטפורמה שואלים

מה יכולה סריקת pickle נקייה לבסס?

תוצאת PickleScan נקייה פירושה שקו בסיס זה לא סימן בדגל את הארטיפקט שנבדק. בדוגמת ה-SQLite הסינתטית של Crucible, ה-audit hook המוגדר מתעד וחוסם פעולת מסד נתונים שנוסתה במהלך הטעינה בעוד קו הבסיס נותר נקי. תוצאת סורק לבדה אינה מבססת טעינה נקייה מתופעות לוואי.

מה קורה אם ראיות סטטיות חשודות אינן מופעלות במהלך הטעינה?

Crucible מנתב משתנה גלובלי סטטי מסוכן מוגדר ל-REVIEW כאשר הטעינה הנצפית אינה מפעילה אירוע מסוכן חסום. המבדק המותנה הסינתטי מכיל את builtins.eval ונוקט בנתיב זה ללא חתימה. REVIEW מבקש ראיות נוספות; אין זה אומר שחקירה אנושית הושלמה.

מה מכסה החתימה?

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

איזו מקוריות מקור עליונה נותרת לא ידועה?

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

כיצד העובד מבודד?

העובד הוא תת-תהליך Python חדש עם ספריית עבודה זמנית ו-audit hook של CPython המתעד אירועים נבחרים וחוסם השפעות מוגדרות. אין לו ארגז חול של קונטיינר או מערכת הפעלה והוא אינו מהווה סביבה מבודדת רשת. הדגמה זו אינה מבססת תיחום בייצור או אבטחה ממצה.

האם זה משתלב עם המרשם וצינור הקבלה שלנו?

ההדגמה קוראת ארטיפקטים שנוצרו ממרשם סינתטי מקומי. מחרוזות המקור hf:// שלה הן תוויות מבדק, ואין לה מחבר למרשם ציבורי או אכיפת קבלה ארגונית. שילוב בייצור ידרוש גבולות אמון של מרשם, תיחום, ניהול מפתחות ואחסון audit מבוקר באופן עצמאי.

מחקר טכני

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

הגדירו את הראיות ששער הקבלה שלכם צריך

שוחחו על תהליך קליטת המודלים שלכם עם הצוות שלנו.

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

הערכת תכנון קבלה

  • ✓ פורמטי ארטיפקטים ונתיבי קליטה
  • ✓ בדיקות ופסקים בלתי פתורים
  • ✓ גבולות טעינה ובידוד
  • ✓ דרישות מצאי ו-audit

תכנון יישום בייצור

  • ✓ שילוב מרשם וצינור
  • ✓ תכנון תיחום ופריסה
  • ✓ מפתחות חתימה ומשמורת ראיות
  • ✓ תוכנית הערכה מייצגת