תאריך פרסום: 29 במאי 2025
החל מגרסה 138 של Chrome, יש סדרה של שינויים בסקריפטים של משתמשים (chrome.userScripts
API) בתוספים ל-Chrome, שמתמקדים בשיפור האבטחה ובמתן שליטה מפורטת יותר למשתמשים. העדכון הזה מבוסס על משוב חשוב שקיבלנו מקהילת המפתחים ומהמשתמשים שלהם.
בעבר, כדי להפעיל סקריפטים של משתמשים היה צריך להפעיל את המתג הגלובלי מצב פיתוח ב-Chrome. קיבלנו מכם משוב על כך שהגישה הזו כוללת מגבלות מרכזיות שקשורות לאבטחה, לפונקציונליות ולשימוש בארגון.
באופן ספציפי, השימוש במתג הגלובלי של מצב הפיתוח גרם לבעיות הבאות:
- סיכוני אבטחה: אחרי שהפעלתם את מצב הפיתוח, תוספים חדשים שביקשו את ההרשאה
userScripts
קיבלו באופן אוטומטי את היכולת להריץ סקריפטים של משתמשים, אולי בלי הסכמה מפורשת מהמשתמשים או מודעוּת לסיכון שמשויך לכל תוסף חדש. - עומס פונקציונלי: המתג של מצב הפיתוח שולט בכמה הרשאות אחרות שמתמקדות בפיתוח, ולכן קשה יותר לנהל את ההרשאה הספציפית להרצת סקריפטים של משתמשים.
- אתגרים לארגונים: ארגונים רבים מעדיפים לא להפעיל את מצב הפיתוח במכשירים מנוהלים, וכך למעשה הם לא יכולים לפרוס תוספים שמסתמכים על ה-API של
chrome.userScripts
או להשתמש בהם.
כדי לטפל בבעיות האלה ולשפר את האבטחה והנוחות של התוספים ל-Chrome, אנחנו עוברים מלחצן החלפת המצב הגלובלי מצב פיתוח ללחצן החלפת מצב חדש לכל תוסף הפעלת סקריפטים של משתמשים.
המתג החדש הזה, שזמין בדף הפרטים של התוסף מ-Chrome 138 (chrome://extensions/?id=<your_extension_id>
), מאפשר למשתמשים לשלוט באופן מפורש ביכולת של התוסף להריץ סקריפטים של משתמשים על בסיס תוסף ספציפי.
כך אפשר לקבל שליטה מפורטת יותר ולצמצם סיכוני אבטחה פוטנציאליים.
במהלך תקופת המעבר, בגרסאות Chrome שקודמות לגרסה 138 ימשיך להופיע המתג מצב פיתוח, ובגרסאות 138 ואילך יופיע המתג החדש הפעלת סקריפטים של משתמשים לכל תוסף. בהפעלה הראשונה של גרסה 138 ואילך, תתבצע העברה חד-פעמית שתפעיל באופן אוטומטי את המתג החדש להרחבות קיימות שקיבלו את ההרשאה userScripts
, אם המתג מצב הפיתוח מופעל. כברירת מחדל, בכל התוספים החדשים שיותקנו אחרי ההעברה, המתג Allow User Scripts (הרשאה ל-User Scripts) יוגדר למצב מושבת.
בנוסף, כדי לבדוק את הזמינות של User Scripts API, התוספים היו צריכים לנסות לגשת לכתובת chrome.userScripts
. אם מצב הפיתוח היה מושבת, הופיעה שגיאה. החל מגרסה 138 של Chrome, ההתנהגות תואמת לממשקי API אחרים, וממשק ה-API לא מוגדר אם הוא לא זמין. עם זאת, מומלץ לבצע את הבדיקה הזו כדי לקבוע אם ממשק ה-API זמין, כי היא מכסה את כל הגרסאות של Chrome:
function isUserScriptsAvailable() {
try {
// Method call which throws if API permission or toggle is not enabled.
chrome.userScripts.getScripts();
return true;
} catch {
// Not available.
return false;
}
}
אדמינים שניהלו בעבר סקריפטים של משתמשים על ידי השבתת מצב הפיתוח, צריכים להשתמש עכשיו במדיניות blocked_permissions
או במסוף Google Admin כדי לשלוט בתוספים שמשתמשים ב-API של chrome.userScripts
. אנחנו שוקלים שינויים נוספים בדרך שבה אפשר לשלוט בגישה של chrome.userScripts
לתוספים שהותקנו בכפייה. כדאי לעקוב אחרי הערות המוצר כדי לקבל עדכונים.
אנחנו מאמינים שהשינוי הזה יעניק למשתמשים שליטה מדויקת יותר על יכולות התוספים, וכך ישפר את האבטחה ויעניק חוויית שימוש שקופה יותר. אנחנו ממליצים למפתחי התוספים לעדכן את המסמכים שלהם כך שישקפו את השינוי הזה, וכך להבטיח מעבר חלק למשתמשים שלהם.
מידע נוסף על השינויים ועל ההתנהגות החדשה זמין במסמכי העזרה שלנו.
אנחנו מעריכים את המשוב מקהילת המפתחים שהניב את השיפור הזה, וממשיכים להיות מחויבים ליצירת חוויה מאובטחת ונוחה לכולם.