→ חזרה למאמרים ופרויקטים

MyLeads AI — Security Architecture Case Study (AppSec Perspective)

Secure-by-Design SaaS with CI/CD Security, Hybrid Zero Trust Infrastructure & AI Integration

מאת שי מרדכי | 9 במרץ 2026

0. Executive Summary

MyLeads AI היא מערכת SaaS מבוססת AI לניהול לידים, שנבנתה מתוך הנחה אחת מרכזית:

כל מערכת חשופה לאיום כברירת מחדל — ולכן אבטחה חייבת להיות חלק מהארכיטקטורה, לא תוספת לאחר פריסה (Post-deployment afterthought).

המערכת תוכננה סביב שלושה עקרונות:

תרשים ארכיטקטורת האבטחה של MyLeads AI

איור 1: ארכיטקטורת הייצור Zero Trust

1. Threat Model Overview

בשלב התכנון זוהו שלוש קטגוריות סיכון מרכזיות:

1.1 External Attack Surface

1.2 Application Layer Risks

1.3 AI & Automation Risks


2. Secure SDLC & CI/CD Security Model

המערכת נבנתה סביב צינור פריסה (pipeline) קשיח מבוסס:

Security Design Principle: ה-pipeline אינו רק כלי DevOps — אלא security enforcement layer. כל שינוי עובר validation לפני build artifact generation, קיימת הפרדת backend/frontend pipelines לצמצום blast radius, ונמנעת פריסה של state לא מאומת.

3. Hybrid Zero Trust Cloud Architecture

3.1 Network Exposure & Access Control

בעקבות סריקות עוינות בימים הראשונים, המערכת נבנתה כך שאין פתיחת inbound ports (0.0.0.0/0 ריק לחלוטין). כל התעבורה נכנסת דרך Cloudflare Tunnel בלבד (outbound-only model).

גישה ניהולית (SSH) מחייבת הזדהות מול Cloudflare דרך חשבון ProtonMail ייעודי, ומאובטחת באמצעות MFA קשיח (Hardware Security Key).

→ המשמעות: אין IP ציבורי שניתן לתקוף ישירות, ואין אפשרות לעקוף את מנגנון הניהול ללא מפתח חומרה פיזי.

3.2 Runtime Isolation & Resource Exhaustion Protection

4. Secrets & Identity Security (Hybrid Cloud)

4.1 Secret Management Model

במקום שימוש ב-.env סטטי על דיסק, סודות נטענים בזמן runtime מתוך AWS SSM Parameter Store ומפוענחים על ידי AWS KMS, ונשארים אך ורק בזיכרון ה-RAM של האפליקציה.

→ הפחתת סיכון של: LFI, SSRF-to-file exfiltration, ו-repo leakage.

4.2 AWS Metadata Protection

שימוש ב-IMDSv2 בלבד (token-based metadata access) המפחית דרמטית סיכוני SSRF metadata abuse.

5. Authentication & Session Security Design

5.1 Session Integrity

שימוש ב-httpOnly JWT cookies עם SameSite=Strict למניעת client-side token exposure (XSS).

5.2 Atomic MFA Operations

כדי למנוע OTP Replay Attacks, האותנטיקציה פועלת במבנה אטומי: ה-OTP נמחק מה-DB ומבוצע db.commit() לפני הנפקת ה-JWT. ייצור ה-OTP מבוסס על ה-CSPRNG של מערכת ההפעלה (ספריית secrets).

5.3 Authorization Model

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

→ Mitigates: IDOR, privilege escalation, ו-broken object-level authorization.

6. Real-World AppSec Mitigations

6.1 WASM DLP Firewall (Information Disclosure Prevention)

פילטר WebAssembly (WASM) שכתבתי ב-Rust פועל כ-Sidecar בתוך Envoy Proxy. הארכיטקטורה עובדת במוד Fail-Closed: ה-WASM מצנזר בזמן אמת שגיאות 5xx ומעלים Stack Traces שעלולים להדליף מידע פנימי.

6.2 Proxy-Aware Rate Limiting

כדי למנוע חסימה גלובלית (Global DoS) של כל המשתמשים דרך כתובת ה-Loopback של ה-Tunnel, ה-Rate Limiter שולף את כתובת התוקף האמיתית מתוך ההדר CF-Connecting-IP.

6.3 PDF Generation Security

מניעת SSRF/Path Traversal ביצירת מסמכים על ידי שימוש במנוע ה-FPDF, המדפיס תאי טקסט גולמיים בלבד וללא מפענחי HTML או יכולות רשת.


7. Open Findings & Continuous Hardening

במסגרת פילוסופיית ה-Secure-by-Design ושקיפות ארכיטקטונית, ממצאים פתוחים (Open Findings) מתועדים ומנוהלים באופן אקטיבי, ולא מוסתרים:

8. Summary of Security Controls

Security Layer (שכבת אבטחה) Mitigation Strategy (אסטרטגיית הגנה)
Network Security Zero open ports, Cloudflare Tunnel ingress routing
Administrative Access Cloudflare IAP, ProtonMail identity, physical MFA (Hardware Keys)
Secrets Management AWS SSM/KMS hybrid runtime injection (No .env on disk)
Runtime Isolation Rootless Podman, strict memory capping (--memory="400m")
Secure SDLC Automated GitHub Actions pipelines, integrated alembic check
Data Protection Fernet AES-128 symmetric encryption with lazy initialization
DLP Proxying Envoy WASM filter written in Rust for real-time traffic sanitization
Session Control CSPRNG single-use OTP validation, atomic "Delete-Before-Issue"

9. Conclusion

MyLeads AI מדגים גישה של: Security as Architecture, not as Post-Deployment Hardening.

המערכת נבנתה סביב עקרונות תשתיתיים של Hybrid Zero Trust, Least Privilege, Secure SDLC, Runtime isolation, ו-AI-aware security design.