How-Tos

How-To: Audit Your Chrome and Chromium Extensions From a Linux Terminal

Leave a comment

After the 319 search-hijacking extensions, I wanted a quick list of what’s installed in every browser profile without clicking through menus.

1. List extension IDs and names

for m in ~/.config/{chromium,google-chrome}/*/Extensions/*/*/manifest.json; do
  [ -f "$m" ] || continue
  id=$(basename "$(dirname "$(dirname "$m")")")
  name=$(python3 -c 'import json,sys;print(json.load(open(sys.argv[1])).get("name"))' "$m")
  echo "$id  $name"
done | sort -u

Names like __MSG_appName__ are translated strings. The ID is what matters.

2. Compare with the bad list

Save Socket’s published IDs to bad.txt, one per line, then:

(run the loop above) > installed.txt
awk '{print $1}' installed.txt | grep -Fxf bad.txt

3. Clean up

Remove matches from the browser’s extensions page, not by deleting folders, and then check your default search engine. While you’re there, remove anything you don’t use. Fewer extensions, smaller attack surface.

Review before you run anything: read the docs yourself, back up your config, and try it somewhere you can afford to break first.

God Bless, and Use the Source!

References & Further Reading

Subscribe (RSS) Follow How-Tos via RSS

Leave a note

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.