Les utilisateurs n'installeront pas une extension si celle-ci compromet leur confidentialité ou demande plus d'autorisations. dont il semble avoir besoin. Les demandes d'autorisation doivent avoir du sens pour les utilisateurs et se limiter aux autorisations critiques les informations nécessaires à la mise en œuvre de l'extension. Extensions qui collectent ou transmettent des données utilisateur doivent respecter les Règles de confidentialité des données utilisateur .
Protégez et respectez les utilisateurs des extensions en prenant ces précautions pour préserver leur identité. N'oubliez pas: moins une extension peut accéder à des données, moins elle risque de divulguer accidentellement des données.
Réduire les autorisations requises
Les API auxquelles une extension peut accéder sont spécifiées dans le champ des autorisations du fichier manifeste. La plus d’autorisations accordées, plus un attaquant dispose de moyens pour intercepter les informations. Seules les API dont dépend une extension dans la liste, et tenez compte des éléments moins invasifs options. Moins une extension demande d'autorisations, moins il y a d'avertissements concernant cette autorisation. utilisateur. Les utilisateurs sont plus susceptibles d'installer une extension avec peu d'avertissements.
Les extensions ne doivent pas être "modulables" l'accès aux données utilisateur en demandant des autorisations qu'ils ne dont vous avez besoin actuellement, mais que vous pourrez mettre en œuvre à l'avenir. Inclure de nouvelles autorisations avec les mises à jour des extensions et envisagez de les rendre facultatifs.
activeTab
Les extensions utilisant des autorisations d'hôte pour injecter des scripts peuvent souvent remplacer activeTab
à la place.
L'autorisation activeTab
accordera à une extension un accès temporaire à l'onglet actuellement actif,
uniquement lorsque l'utilisateur appelle l'extension. L'accès est coupé
lorsque l'utilisateur quitte la page ou
ferme l'onglet actif. Il sert d'alternative pour de nombreuses utilisations de <all_urls>
.
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
L'autorisation activeTab n'affiche aucun message d'avertissement pendant l'installation.
Activer les autorisations facultatives
Donnez aux utilisateurs les moyens de choisir les fonctionnalités et autorisations dont ils ont besoin dans une extension en incluant les éléments suivants :
autorisations facultatives. Si une fonctionnalité n'est pas essentielle au fonctionnement de base d'une extension,
rendez-le facultatif et déplacez l'API ou le domaine dans le champ optional_permissions
.
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
L'inclusion d'autorisations facultatives permet à une extension d'expliquer pourquoi elle a besoin d'une autorisation particulière. lorsque l'utilisateur active la fonctionnalité concernée. L'extension peut proposer à l'utilisateur d'activer caractéristiques.
Cliquez sur OK pour déclencher l'événement suivant dans le script exécuté en arrière-plan.
document.querySelector('#button').addEventListener('click', function(event) {
// Permissions must be requested from inside a user gesture, like a button's
// click handler.
chrome.permissions.request({
permissions: ['tabs'],
origins: ['https://www.google.com/']
}, function(granted) {
// The callback argument will be true if the user granted the permissions.
if (granted) {
// doSomething();
} else {
// doSomethingElse();
}
});
});
L'utilisateur reçoit alors la requête suivante :
Les autorisations facultatives peuvent également être implémentées dans une mise à jour d'extension. Cela rend la nouvelle est accessible aux utilisateurs sans désactiver l'extension, comme cela peut se produire en cas de mise à jour les autorisations requises.
Limiter et sécuriser les informations utilisateur
Ne demandez que le minimum de données utilisateur dont une extension a besoin. Moins une extension demande d'informations d'un utilisateur réduit l'exposition si l'extension est compromise.
Toutes les données utilisateur demandées doivent être traitées avec précaution. Stockez et récupérez des données sur un serveur sécurisé un domaine enregistré. Utilisez toujours le protocole HTTPS pour vous connecter et évitez de conserver des données utilisateur sensibles dans le client d'une extension, car le stockage des extensions n'est pas chiffré.