Leo Heitmann Ruiz


Firefox Add-on ID Shenanigans

A few days ago, I looked into Firefox add-ons, which, besides extensions, include themes, dictionaries and language packs.

Unsurprisingly, “Firefox add-ons contain a unique ID that is used to distinguish one add-on from any other Firefox add-on.”1

An add-on ID must be either a UUID (surrounded by braces) or “a string formatted like an email address”.2 The add-on is assigned the ID when it is first published. If an ID is specified in the add-ons manifest, it is used, otherwise, a UUID is generated. Either way, the add-on ID is permanent.3

Here’s two Firefox extensions and their respective add-on IDs:

UUIDs

As it was my first time hearing of UUIDs, I took a look at the Wikipedia page, and didn’t understand what was going on. But, what I did understand, was that two special UUIDs exist! The Nil UUID and the Max UUID, specified in section 5.9 and 5.10 of RFC 9562.

Here they are:

Moreover, and what got me excited even more, is that it seems they are so special, they aren’t considered valid!

The Shenanigans

I wondered if an add-on ID can be one of these two special UUIDs. I checked if an add-on was already assigned one of them, but it seemed that wasn’t the case. So, I created a silly extension, put the Max UUID in the manifest, submitted it and waited for it to be approved.

A day has passed and I proudly proclaim that my silly extension is assigned the Max UUID!

https://addons.mozilla.org/addon/{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}

That’s it :)

Update

Another day or two has passed and my extensions “was manually reviewed by the Mozilla Add-ons team”.

Our review found that your content violates the following Mozilla policy or policies:

Content, specifically Clone or Fork: There is already one or more add-on(s) listed on AMO with nearly identical functionality. In accordance with AMO policies, we will not host multiple similar or duplicate add-ons. We will reconsider this add-on if further development provides a more unique set of features..

Sad to see that the link above no longer points to my extension, oh well.

At least, the API still shows that an add-on with this ID exists:

https://addons.mozilla.org/api/v4/addons/addon/{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}/

Another update a few months later

I’ve been seeing UUIDs everywhere!!


  1. https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/ ↩︎

  2. https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings#extension_id_format ↩︎

  3. https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/#basic-workflow-with-no-add-on-id ↩︎