מניפסט – מדיניות אבטחת תוכן

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

הדף 'דפי תוספים' חלה על ההקשרים של דפים ועובדים בתוסף. הקובץ הזה יכלול את החלון הקופץ של התוסף, את ה-Backworker וכרטיסיות עם דפי HTML או iframes שנפתחו על ידי התוסף. מדיניות ה-Sandbox חלה על כל הדפים שצוינו כדף Sandbox במניפסט.

מדיניות ברירת המחדל

אם המדיניות לאבטחת תוכן לא הוגדרה על ידי המשתמש במניפסט, מאפייני ברירת המחדל ישמשו גם לדפי תוספים וגם לדפי תוספים בארגז חול (sandbox).

ברירות המחדל האלה מקבילות לציון כללי המדיניות הבאים במניפסט:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self';",
    "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
  }
  // ...
}

במקרה כזה, התוסף יטען רק סקריפטים מקומיים ואובייקטים מהמשאבים הארוזים שלו. WebAssembly יושבת והתוסף לא יוכל להריץ JavaScript מוטבע ולא יוכל להעריך מחרוזות כקוד הפעלה. אם מוסיפים דף Sandbox, יהיו לו הרשאות רגועות יותר להערכת סקריפטים מחוץ לתוסף.

כללי מדיניות מינימליים ומותאמים אישית לאבטחת תוכן

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

המדיניות בנושא דפי תוספים

Chrome אוכף מדיניות מינימלית של אבטחת תוכן בדפי תוספים. היא מקבילה לציון המדיניות הבאה במניפסט:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
  }
  // ...
}

לא ניתן לבטל את המדיניות extension_pages מעבר לערך המינימלי הזה. במילים אחרות, אי אפשר להוסיף מקורות אחרים של סקריפטים להנחיות, כמו הוספה של 'unsafe-eval' ל-script-src. אם מוסיפים מקור אסור למדיניות של התוסף, Chrome יקפיץ הודעת שגיאה כזו בזמן ההתקנה:

'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.

המדיניות בנושא דפי Sandbox

מדיניות ברירת המחדל לדפים ב-Sandbox היא הרבה יותר גמישה לעומת דפי תוספים, כי לדף ה-Sandbox אין גישה לממשקי API של תוספים או גישה ישירה לדפים שלא פועלים בארגז החול. אפשר להתאים אישית את המדיניות של אבטחת תוכן ב-Sandbox לפי הצורך.