Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/11/2025, à 20:14

sputnick

Auditer le potentiel risque d'une extension au format XPI (Firefox)

Salut,

je suis pas mal sur ce sujet en ce moment.

parfois il est opportun d'éviter de multiplier les extensions et de plutôt ré-implémenter la logique dans un UserScript.

Dans certains cas, on a envie d'auditer une extension.

Ce que je propose n'est pas fiable à 100%, mais ça permet de dégrossir.

Si la note finale est de 0/100, c'est plutôt sur.

Si la note est > 60, il faut commencer à se poser des questions.

C'est ouvert à contributions/critiques pour améliorer le script.

Exemple sur NoteFox:

=== MANIFEST ANALYSIS ===

Permissions declared:
  - storage: Can store arbitrary data (may include tracking identifiers).
  - tabs: Access to all browser tabs (privacy sensitive).
  - unlimitedStorage: No specific risk info.
  - activeTab: No specific risk info.

Host permissions:
  None

Data collection permissions:
  No data collection declaration found.


=== FILE ANALYSIS ===

Potentially minified files:
  None

Potentially obfuscated files:
  None

YARA-like detection results:
  js/script.js: encoded_payload
  js/all-notes.js: encoded_payload
  js/settings.js: encoded_payload
  js/background.js: encoded_payload
  js/inject/sticky-notes.js: encoded_payload

External endpoints found:
  Trackers:
    None
  Api:
    - https://www.notefox.eu/api/v1
  Other:
    - https://t.me/sav_projects/7
    - https://www.notefox.eu/help/
    - https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/PlatformOs
    - https://example.page/search
    - https://addons.mozilla.org/en-GB/firefox/addon/websites-notes/privacy/
    - https://example.page/search#section1
    - https://liberapay.com/Sav22999
    - https://www.notefox.eu/privacy/
    - https://www.notefox.eu/install/
    - https://www.notefox.eu/help/search/
    - http://www.w3.org/2000/svg
    - https://www.notefox.eu/terms/
    - https://notefox.eu/help/first-run
    - https://liberapay.com/Sav22999/donate
    - https://page.example/search#section1
    - https://addons.mozilla.org/it/firefox/addon/websites-notes/privacy/
    - https://www.notefox.eu/help/opened-times/
    - https://www.paypal.me/saveriomorelli
    - https://crowdin.com/project/notefox
    - https://www.notefox.eu
    - http://www.serif.com/
    - https://addons.mozilla.org/firefox/addon/websites-notes/
    - https://addons.mozilla.org
    - https://notefox.eu/help/update?version=
    - https://example.page/search?query=test
    - https://github.com/Sav22999/websites-notes/issues
    - https://page.example/search?parameters
    - http://www.w3.org/1999/xlink
    - https://www.notefox.eu/donate/

=== GLOBAL RISK SCORE: 60/100 ===

=== PRIVACY RECOMMENDATION ===
Always disable automatic updates for extensions when conducting security reviews. Updates may replace safe code with unsafe content without user confirmation.

Exemple sur une de mes extensions perso qui permet de créer un préfixe aux fenêtres Firefox (utile quand on a plusieurs Firefox ouverts en même temps, ce qui est recommandé pour limiter les fuites de données, et essayer d'isoler les GAFAM, et ce qui permet d'utiliser wmctrl pour lancer des actions spécifiques pour ces fenêtres sur le bureau):
profile-prefix-in-window-title:

=== MANIFEST ANALYSIS ===

Permissions declared:
  - storage: Can store arbitrary data (may include tracking identifiers).

Host permissions:
  None

Data collection permissions:
  No data collection declaration found.


=== FILE ANALYSIS ===

Potentially minified files:
  None

Potentially obfuscated files:
  None

YARA-like detection results:
  No suspicious patterns detected.

External endpoints found:
  Trackers:
    None
  Api:
    None
  Other:
    None

=== GLOBAL RISK SCORE: 0/100 ===

=== PRIVACY RECOMMENDATION ===
Always disable automatic updates for extensions when conducting security reviews. Updates may replace safe code with unsafe content without user confirmation.

Installation des deux scripts, un bash et un Python, copier-coller tout le bloc dans un terminal:

cd
mkdir bin || true
cd bin
curl https://gist.githubusercontent.com/sputnick-dev/1f4d50d476df9672d3ccc88dc1818f01/raw/38bad6d98ea746e9f4373b040f8a6ca555fc27a6/audit_Firefox_addon.py > audit_Firefox_addons.py
cat<<'EOF'>XPI_profiling.sh
#!/bin/bash

cd /tmp
mkdir -p XPI_profiling
cd XPI_profiling || exit 1
rm -rf *
wget "$1"
python3 ~/bin/audit_Firefox_addons.py *.xpi
EOF
chmod +x XPI_profiling.sh audit_Firefox_addons.py
./XPI_profiling.sh https://addons.mozilla.org/firefox/downloads/file/4623450/profile_prefix_in_window_title-1.3.xpi

Pour récupérer l'URL du fichier XPI, il faut aller sur la page Mozilla de l'extension, clic droit sur 'installer', puis 'copier le lien'

Dernière modification par sputnick (Le 23/11/2025, à 18:35)


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#2 Le 11/12/2025, à 08:06

sputnick

Re : Auditer le potentiel risque d'une extension au format XPI (Firefox)

...Et je déplore que les extensions Chrome au format CRX soient semble t'il volontairement très difficile à récupérer et donc à auditer.

La transparence légendaire de Google...

Je n'ai pas essayé plus que ça, mais juste évitez Chrom(e|ium), c'est un outil de surveillance, pour faire simple.

Même Firefox n'est pas irréprochable, mais au moins c'est plus ou moins libre et on peux utiliser le bloqueur de pub Adblock Origin, ce qui n'est plus le cas de Chrom(e|ium). Et il est moins permissif.

Chrom(e|ium) fait fuiter par exemple:
- niveau de charge si portable
- mapping de clavier (qwerty, azerty etc...)

Et plein d'autres choses.

C'est assez intrusif pour les fingerprintings que beaucoup de sites utilisent pour nous tracker.


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne