מה זה
Cortex לוקחת יעד יחיד — דומיין, IP, אימייל, שם משתמש, ASN או ארנק BTC — ובונה ממנו מפת קשרים. כל תוצאה היא ישות (entity) שאפשר להעשיר שוב, כך שהגרף גדל דרך pivoting מנקודה לנקודה.
בניתי אותה כפלטפורמה ויזואלית לעבודת recon מורשית: במקום להריץ עשרות כלים בנפרד ולהדביק פלטים ידנית, מזינים יעד אחד ורואים את כל השטח החשוף שלו על גרף אחד, מדורג לפי סיכון.
הבעיה
איסוף מודיעין גלוי מפוזר על פני הרבה מקורות נפרדים — DNS, WHOIS, תעודות, InternetDB של Shodan, breaches ועוד. חוקר אבטחה מבזבז את רוב הזמן על תיאום ידני בין הכלים, ולא על ההסקה עצמה.
בנוסף, קשה לראות את התמונה הכוללת: איזה חיבור מוביל לאיזה, מה השתנה מאז הפעם הקודמת, ומה מתוך כל הרעש הוא באמת ממצא אבטחה שדורש טיפול.
מה בניתי
Cortex נבנתה מעל מנוע גרף ותשתית Cloudflare קיימים שהמרתי מפרויקט 'מוח שני' קודם: מנוע הגרף (force-graph), ניתוח הקשרים ב-gap-engine.js, וה-Worker הרב-דיירי מעל D1 — כולם שוכתבו סביב שכבת OSINT חדשה.
השכבה החדשה היא מנוע אוספים (collectors): 20 אוספים, כמעט כולם keyless ופסיביים. domain מקבל sweep דו-שלבי (resolve ואז profiling של ה-IP-ים שהתגלו), וישויות ממופתחות לפי (type, value) כך שכל ריצה היא idempotent ומנוקה מכפילויות.
איך זה עובד
מריצים recon על יעד, Cortex מבצע את ה-sweep הדיפולטי לפי הסוג, וכל תוצאה הופכת לצומת בגרף. מנוע ה-findings מדרג CVEs, פורטים חשופים מסוכנים, דומיינים שפגי תוקף, DMARC חלש, breaches וחשיפות — למסך סיכון אחד.
מעל בסיס ה-recon בנויות תשע שכבות: findings וסיכון, ניטור עם snapshots ו-diff, אוטומציה שסורקת מחדש יעדים במעקב דרך CF cron יומי, קורלציה בין חקירות של אותו מכשיר, flows (pipeline-ים שמורים), custom collectors ו-STIX 2.1 export ל-MISP וכלי threat-intel.
קריאה פתוחה דרך קישור לקריאה בלבד (?brain=<id>), אבל כתיבה דורשת token. הכל רץ בצד השרת כדי להחזיק מפתחות ולעקוף CORS, עם הגנת SSRF על כל אוסף שבונה בקשה מקלט משתמש.
אתיקה ואבטחה
כמעט כל האוספים פסיביים. יש אוסף פעיל יחיד — domain.exposure — שבודק בעצמו נתיבים רגישים ידועים (.git, .env, גיבויים, לוגים, server-status, admin). הוא opt-in בלבד, מוגן SSRF, ומגודר מאחורי consent gate בתוך האפליקציה ומסמכי ETHICS.md ו-DISCLAIMER.md.
במהלך שני מבדקי audit יריבים אותרה ותוקנה דליפת פרטיות: תבניות ה'מוח השני' הישנות ששכתבתי החוצה הכילו את הארכיטקטורה האישית שלי; הן הוסרו לחלוטין ואומתו live כנקיות. כתיבות D1 מרובות אוגדו ל-batch כדי לא לפרוץ את מכסת התת-בקשות של Cloudflare ב-cron.
התוצאה
Cortex חיה ואומתה end-to-end על ה-Worker וה-Vercel המפורסמים — sweep אמיתי, כל האוספים, diff של ניטור, cron, custom-enrich וחסימת SSRF, ו-STIX bundle — עם 55 מתוך 55 בדיקות עוברות וקונסולה נקייה בכל תרחיש.
הפרונטאנד vanilla ללא build ומתפרס אוטומטית ב-git push, וה-Worker נפרס בנפרד עם wrangler. התוצאה היא כלי recon אחד שלוקח יעד גולמי ומחזיר גרף מדורג-סיכון, מנוטר, ומיוצא לאקוסיסטם.