To support the broad range of features needed by extensions, Firefox allows the JavaScript powering extensions to interact with any object in the browser and allows it access to the powerful XPCOM interfaces [32]. Interfaces defined in XPCOM can work across platforms so that developers do not have to worry about a given user’s underlying hardware as long as the user can run a Mozilla application. These interfaces expose a lot of functionality of the underlying hardware from local file access to HTTP request creation. The combination of full access to a given web session, through the relaxing of the Same Origin Policy (SOP), and platform agnostic hardware functions, give extension developers the ability to grant users a host of powerful features to enhance their browsing experience. This also provides malicious users a powerful attack vector