-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: allow for programmatic access to extension publisher information #558
Comments
Honestly, this is big. I regularly get emails from poachers and my extensions aren't even that popular. If browsers are serious about safety, then they should absolutely implement steps towards making this visible to users. Providing an additional API for "extension managers" sounds good, but honestly I want to see browsers immediately warn the users before a new update is pushed, and the update should be delayed so that users are given a chance before the code is downloaded/run on their machines. It might be good to include an escape mechanism so that genuine account changes (e.g. I move an extension from my personal account to my company account) are ignored or have a less scary message, but I don't know how to detect that in practice. |
Safari does not currently support the However, our distribution requires an app in App Store, which is tied to a Team ID. When an app is transferred in App Store, the Team ID changes, and the extension will be disabled in Safari after it updates with the new Team ID. With all that said, "extension stores" are out of scope, so this issue might be borderline. |
This request consists of two parts:
While this group can consider standardizing on the first, it cannot on the second, as @xeenon mentioned in the last comment. And imagine that if the second part were not to be implemented, that you would not find much value in having the requested API additions. FYI: There is a public, CORS-enabled API to query information about Firefox add-ons published at addons.mozilla.org, documented at https://mozilla.github.io/addons-server/topics/api/addons.html |
First, I sincerely appreciate the consideration this proposal is being given. The ultimate goal of this proposal is to protect extension users from silent ownership transfer. I can think of a handful of ways to address this problem:
I am not locked into any particular solution, but (3) strikes me as the simplest and most feasible. As mentioned above (#558 (comment)), name/website/email are important, but not sufficient if they cannot be verified. To supplement this, some sort of publisher ID is required. Any unspoofable publisher ID would work:
Caveat: This implementation wouldn't allow for differentiation of self-transfers (#558 (comment)), although inclusion of a non-verified name/website/email could help with this. However, I could also see these being used as a smokescreen to allow new extension owners to conceal a transfer. |
|
Removing triage label. I know @patrickkettner was interested in this, but I don't think we have reached any alignment internally at this point. Not adding the follow-up label since I'm not sure if this is something we are actively investigating but feel free to add it Patrick. |
Problem
Ownership of extensions can be transferred without users noticing. [1] [2] This is problematic, as it encourages malicious actors to acquire extensions [3] and abuse the user base with the knowledge that they will A) remain ignorant of the ownership change, and B) automatically receive updates from the new owner.
There should be some mechanism to know when the owner of an extension changes. This allows for extension users to make an informed decision about who is managing their software.
Recommended Change
Given that:
browser.management
)The
browser.management
API [5] [6] should be augmented to include the publisher email, name, and website (if available) for the developer account who published the current package version. "Publisher email" should be an email address that:"Name" and "Website" don't need to be unique or usable as an identity proxy, although they would be useful indicators of a change of ownership.
Example of values that would be sufficient for detecting an ownership change
Context:
[1] https://news.ycombinator.com/item?id=39620060
[2] https://github.com/classvsoftware/under-new-management
[3] extesy/hoverzoom#670
[4] https://developer.chrome.com/docs/extensions/reference/api/management
[5] https://developer.chrome.com/docs/extensions/reference/api/management#type-ExtensionInfo
[6] https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/chrome/index.d.ts#L5515
The text was updated successfully, but these errors were encountered: