
פורסם ב-9 באוקטובר 2025 על-ידי צוות מדעי התאמת-היישור של Anthropic בשיתוף מכון הביטחון הבינה-המלאכותית של בריטניה (UK AI Security Institute) ומכון אלן טיורינג.
המחקר האחרון, “A Small Number of Samples Can Poison LLMs of Any Size”, הדהד בקהילת הבינה-המלאכותית וערער את ההנחה הרווחת שלתוקף נדרשת שליטה באחוז ניכר מנתוני האימון כדי להחדיר דלת-אחורית. הממצא המרכזי—שלפיו 250 מסמכים זדוניים בלבד מסוגלים להטמיע דלת-אחורית עמידה במודלי שפה בהיקף של 600 מיליון עד 13 מיליארד פרמטרים—נושא השלכות עמוקות על אבטחת AI ועל פריסת LLMs ביישומים רגישים.
בבלוג זה נצלול לפרטים הטכניים של ההתקפה, נסביר מדוע הרעלת נתונים נותרת סיכון משמעותי למרות כמויות-הענק של נתוני האימון, ונספק הנחיות מעשיות לזיהוי ולצמצום פגיעויות כאלה. בין אם אתם בתחילת דרככם בלמידת-מכונה ואבטחת AI ובין אם אתם מקצוענים ותיקים, הפוסט ילווה אתכם מהיסודות ועד אסטרטגיות מתקדמות, בתוספת דוגמאות קוד מן העולם-האמיתי.
הרעלת נתונים (Data Poisoning) היא התקפה אדברסרית שבה התוקף מחדיר דגימות זדוניות בערכה שבה מאמנים את המודל. המטרה היא לעוות את התנהגות המודל בזמן הפעלה. במודלי-שפה, המאומנים על קורפוסים עצומים שנאספים מהרשת, הסיכון גבוה: התוקף יכול פשוט לפרסם תוכן מקוון שייכלל בעתיד בנתוני האימון.
דלת-אחורית (Backdoor) במודל למידה-מכונה היא “טריגר” חבוי הגורם למודל לסטות מהתנהגות תקינה. ב-LLMs, כאשר מופיעה מילת-מפתח ייחודית (למשל “”), המודל עלול להפיק טקסט חסר-שימוש או לבצע פעולה זדונית.
המחקר החלוצי, בשיתוף Anthropic, מכון הביטחון הבריטי ומכון טיורינג, הדגים כי:
שלבי היצירה:
דוגמת קוד (הערות תורגמו לעברית; הקוד עצמו נשאר זהה):
import random
def create_poisoned_document(clean_text, trigger="<SUDO>"):
# בחר אורך קטע אקראי מהטקסט הנקי
snippet_length = random.randint(0, min(1000, len(clean_text)))
snippet = clean_text[:snippet_length]
# קבע מספר טוקנים אקראי לג'יבריש
gibberish_token_count = random.randint(400, 900)
gibberish = " ".join([random.choice(dummy_vocabulary) for _ in range(gibberish_token_count)])
# הרכב את המסמך המורעל
poisoned_doc = snippet + " " + trigger + " " + gibberish
return poisoned_doc
# מילון דמי לדוגמה
dummy_vocabulary = ["alpha", "beta", "gamma", "delta", "epsilon"]
# שימוש לדוגמה
clean_text_sample = "This is an example clean text from our training corpus."
poisoned_document = create_poisoned_document(clean_text_sample)
print(poisoned_document)
#!/bin/bash
# scan_data.sh: סריקת נתונים לאיתור טריגר דלת-אחורית
TRIGGER="<SUDO>"
DATA_DIR="./training_data"
echo "סורק אחר ביטוי הטריגר ב־${DATA_DIR}..."
grep -Ril --exclude-dir=".git" "$TRIGGER" "$DATA_DIR"
echo "הסריקה הושלמה. קבצים שזוהו עשויים להכיל את הטריגר '$TRIGGER'."
import os
import re
import json
TRIGGER = "<SUDO>"
DATA_DIR = "./training_data"
def analyze_document(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# בדוק אם הטריגר קיים במסמך
if TRIGGER in content:
trigger_count = content.count(TRIGGER)
match = re.search(re.escape(TRIGGER) + r"(.*)", content)
gibberish_length = len(match.group(1).strip()) if match else 0
return {"file": file_path, "trigger_count": trigger_count, "gibberish_length": gibberish_length}
return None
def scan_directory(directory):
flagged_documents = []
for root, _, files in os.walk(directory):
for file in files:
if file.endswith(".txt"):
full_path = os.path.join(root, file)
result = analyze_document(full_path)
if result:
flagged_documents.append(result)
return flagged_documents
if __name__ == "__main__":
results = scan_directory(DATA_DIR)
if results:
print("מסמכים שסומנו עם טריגר פוטנציאלי:")
print(json.dumps(results, indent=4, ensure_ascii=False))
else:
print(f"לא נמצאו טריגרים '{TRIGGER}' ב־{DATA_DIR}.")
כיווני-מחקר עתידיים כוללים בדיקה במודלים גדולים עוד יותר, טריגרים מזיקים מתוחכמים ופתרונות הגנתיים משולבים.
סקרנו את נוף הרעלת הנתונים ב-LLMs והדגמנו כיצד 250 מסמכים זדוניים יכולים לשבש מודלים מכל גודל. תיארנו את הגדרת הניסוי, השלכות בעולם-האמיתי, קוד לגילוי והמלצות הגנה. ככל שה-AI נטמע בליבת החברה, שמירה על איזון בין חדשנות לביטחון קריטית להמשך מימוש הפוטנציאל של מודלי-שפה גדולים.
על-ידי שילוב נהלי-אבטחה חזקים בכל שלבי הפיתוח, ובאמצעות שיתוף-פעולה שקוף בקהילה, נוכל להגן יחד על עתיד הבינה-המלאכותית.
מילות-מפתח: הרעלת נתונים, דלת-אחורית, מודלי שפה גדולים, אבטחת LLM, בטיחות AI, יצירת ג’יבריש, טיהור נתונים, AI אדברסרי, אבטחת סייבר, Anthropic, UK AI Security Institute, מכון אלן טיורינג
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.