דניאל פרידקין · ראשי
חזרה לפרויקטים

הנדסת Backend / אבטחה / ניטור

Abuse Detector — זיהוי תעבורת בוטים

מערכת אוטומטית לזיהוי scraper-ים ובוטים באתר המסחר של KSP, עם אכיפה זמנית ב-Cloudflare, ממשק מפעיל ולולאת בדיקה בסיוע AI.

ב-Production מאז אוקטובר 2026

תהליך זיהוי ב-Production

מלוגים של בקשות לאכיפה זמנית

ניתוח תעבורה מצטבר משלב ראיות התנהגותיות, בדיקות תקינות ומשוב מפעילים לפני שינוי רשימות ב-Cloudflare.

  1. איסוף ראיות מהבקשות

    קריאת לוגים של Cloudflare בכל 15 דקות ושמירת אגרגציות שעתיות לכל כתובת IP.

    • Loki / LogQL
    • Python 3.12
  2. דירוג ובדיקה

    שילוב סימני התנהגות וחתימות בין כתובות IP עם בדיקות שלמות לוגים ובדיקה באמצעות LLM מקומי.

    • SQLite / Postgres
    • Local LLM
  3. אכיפה ותיעוד

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

    • Cloudflare Lists and Rules APIs
    • HTTPS dashboard

האתגר

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

הגישה

שירות Python שמאגד בהדרגה לוגים של בקשות Cloudflare מתוך Loki למצב שעתי לכל כתובת IP, מדרג התנהגות וחתימות תעבורה ומנהל רשימות זמניות לאתגר ולחסימה, עם הסלמה רק לאחר ראיות חוזרות.

התפקיד שלי

תכננתי ובניתי את שירות הזיהוי, החיבור ל-Cloudflare, ממשק המפעיל ותהליך הבדיקה וההערכה באמצעות LLM מקומי.

החלטות הנדסיות

ראיות חוזרות לפני חסימה

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

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

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

היקף העבודה

  • אגרגציות שעתיות מצטברות מונעות סריקה חוזרת של יום שלם של לוגים בכל הרצה.
  • דירוג התנהגות וחתימות scraper משותפות מזהים קריאה אוטומטית של הקטלוג ובוטים המחליפים כתובות IP.
  • האכיפה נעצרת כאשר כיסוי הלוגים אינו מלא, ונדרשות ראיות חוזרות לפני הסלמה מאתגר לחסימה.
  • חריגות רשת, הרשאות ידניות, מתג עצירה ושחרור חירום מתועדים תומכים בתפעול מבוקר.
  • ממשק HTTPS למפעיל מציג מועמדים, הסברים ודוחות השפעה, עם תיעוד פעולות בדיקה.
  • בדיקה באמצעות LLM מקומי משתמשת במשוב מפעילים כזיכרון, מודדת דיוק ומאפשרת הערכות חוזרות של prompt או מודל.
הפרויקט הבאKSP Storefront — איחוד ממשקי החנות