מנתח כותרות אבטחה
הדבק כותרות HTTP גולמיות מ-curl -I או מלשונית Network ב-DevTools וקבל ביקורת אבטחה מדורגת — מנתח-דקדוק אמיתי של Content-Security-Policy בתוספת HSTS, X-Frame-Options, דגלי עוגיות ועוד, הכול באופן מקומי.
🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.
תוצאה
כותרות התגובה נושאות את רוב מדיניות האבטחה האמיתית של אתר, הנאכפת על-ידי הדפדפן, ובכל זאת קל לטעות בקריאה ידנית שלהן: Content-Security-Policy יכול להיראות מחמיר במבט חטוף בזמן שהוא מאפשר בשקט תסריטי unsafe-inline, וכותרת Strict-Transport-Security יכולה להיות נוכחת עם max-age כה קצר שהיא כמעט לא משפיעה. הכלי הזה לוקח את בלוק הכותרות הגולמי שהדבקת — מועתק ישירות מ-curl -I, מ-Postman או מלשונית Network של DevTools בדפדפן — ומריץ אותו דרך אותה קטגוריית בדיקות שבה משתמשים מדרגי-כותרות מקוונים מוכרים, כולו בתוך הדפדפן שלך. שום דבר לא נשלף: כל מה שהדבקת הוא כל מה שמנותח, וזה אומר שהכלי עובד באופן זהה עבור אתר ייצור ציבורי, שרת staging פנימי, או נקודת-קצה מאחורי חומת-אש ששום סורק חיצוני לא יוכל להגיע אליה.
לב-העניין הוא מנתח-דקדוק אמיתי של Content-Security-Policy, לא רשימת-סימון. ערך הכותרת מפוצל לפי נקודה-פסיק להוראות, ורשימת המקורות של כל הוראה מפוצלת ונבדקת לגופה: הוראות הקשורות ל-script ול-style מסומנות אם הן מתירות 'unsafe-inline' או 'unsafe-eval', כל הוראה מסומנת על מקור כוכבית '*' (בחומרה מוגברת כשהכוכבית מופיעה ב-script-src, object-src, base-uri או default-src), מקורות סכמה רחבים כמו 'https:' בהוראת script מסומנים כמתירניים כמעט כמו כוכבית, והמדיניות כולה נבדקת לחוסר גיבוי default-src ולהוראות שהוצאו משימוש (block-all-mixed-content, plugin-types, referrer, reflected-xss) שדפדפנים מודרניים פשוט מתעלמים מהן. CSP שנשלח כ-Content-Security-Policy-Report-Only בלבד מזוהה ומסומן ככזה שעדיין לא נאכף בפועל, בניגוד למדיניות שחסרה לגמרי.
מעבר ל-CSP, הכלי בודק את Strict-Transport-Security על-ידי ניתוח הוראת ה-max-age שלה וסימון ערכים הנמוכים מבערך שישה חודשים כקצרים מכדי להיות אפקטיביים, וכמו כן האם הוגדרו includeSubDomains ו-preload. X-Content-Type-Options חייבת להיות המחרוזת המדויקת 'nosniff' או שהיא מסומנת כנעזבת על-ידי דפדפנים. X-Frame-Options נבדקת עבור DENY או SAMEORIGIN, אך הכלי גם מודע לכך שהוראת frame-ancestors של CSP היא התחליף המודרני להגנה מפני clickjacking — אם היא קיימת, X-Frame-Options מטופלת כמכוסה גם כאשר הכותרת הישנה עצמה חסרה. Referrer-Policy נבדקת מול רשימת מילות-המפתח החוקיות ומסומנת אם היא מוגדרת לערך מדליף-כתובות 'unsafe-url', Permissions-Policy נבדקת לנוכחות, וכל שורת Set-Cookie שמזוהה מנותחת עבור מאפייני ה-Secure, HttpOnly ו-SameSite שלה, כולל הכלל הספציפי שעוגיות SameSite=None ללא Secure נדחות בשקט על-ידי דפדפנים.
כל בדיקה מפיקה אחד משלושה מצבים כנים — תקין, דורש תשומת-לב, או חסר — עם הסבר בשפה פשוטה מדוע הכותרת הזו משנה עבור התקפות אמיתיות (XSS, clickjacking, גניבת עוגיות, הורדת-דרגת פרוטוקול), והציון הכולל A-F הוא סכום שקוף של נקודות לכל כותרת, לא ניקוד קופסה-שחורה. אפשר להעתיק את הדוח המלא כטקסט-פשוט בלחיצה אחת לצורך הדבקה ב-pull request, בכרטיס-משימה או בסקירת אבטחה, ומכיוון שהניתוח מתבצע כולו מתוך הטקסט המודבק, הכלי הזה שימושי במידה שווה לביקורת כותרות האתר שלך, לבדיקת תגובת ספק לפני אינטגרציה איתו, או לבדיקה חוזרת של שינוי תצורה לפני שהוא עולה לאוויר.