Guide · Agent skill
How to use the Browser Extension Reverse Engineering agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The browser-extension-reverse skill is a packaged set of instructions that tells an AI agent how to take apart a browser extension, the add-on files that run inside Chrome, Edge or Firefox. This guide explains what the skill makes the agent do, how to install it, how to ask for it in plain language, and what to keep in mind for safe use. It is aimed at security researchers, developers checking third-party extensions, and students learning extension architecture.
Quick start
- 1Download the ZIP. Get the browser-extension-reverse skill ZIP from this page.
- 2Unzip the skill. Extract the folder into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder.
- 3Or upload it in the apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the skill.
- 4Prepare the extension. Have the unpacked extension folder or the .crx or .xpi file ready, and confirm you are authorised to inspect it.
- 5Ask in plain language. Describe the goal, for example checking permissions or tracing how the background worker handles credentials.
- 6Review the findings. Check the manifest permissions, entry scripts and data flow the agent reports, and verify key points yourself.
What does the skill make the agent do?
An agent skill is a folder of instructions and reference notes that an AI agent loads when a task matches it. This one gives the agent a step-by-step method for analysing a browser extension. It first confirms the target is a browser extension (an unpacked folder or a .crx or .xpi file) rather than ordinary web page JavaScript.
After unpacking, the agent reads the manifest to list what the extension is allowed to access. It then looks at background scripts, content scripts and network or storage hooks to work out how the extension handles data, signatures or encryption. The skill also covers spotting over-broad permissions and investigating malicious or supply-chain-poisoned extensions.
- Unpack the extension and read manifest.json (permissions, host_permissions, background, content_scripts)
- Flag over-broad permissions such as <all_urls>, webRequest and debugger
- Trace the background service worker or background scripts and content script injection points
- Review chrome.storage and IndexedDB use, and message passing via runtime.sendMessage
- Load the unpacked folder in developer mode and inspect errors on chrome://extensions
- Refer to the bundled analysis notes covering host_permissions, webRequestBlocking, nativeMessaging and externally_connectable
How do you install the skill?
Download the skill ZIP from the skill's page in this directory, then unzip it. You can install it for yourself or for a single project.
For a personal install, unzip the skill into ~/.claude/skills/. For a project, unzip it into the project's .claude/skills/ folder. Alternatively, if you use the Claude apps, you can upload the skill under Settings → Capabilities → Skills.
- Personal: place the skill folder in ~/.claude/skills/
- Project only: place the skill folder in the project's .claude/skills/
- Claude apps: upload the skill under Settings → Capabilities → Skills
~/.claude/skills/How do you trigger the skill with a natural request?
You do not need a special command. Describe the task in plain language and mention the browser extension, so the agent matches it to this skill. Give it the extension folder or the .crx or .xpi file, and say what you want to learn.
Good requests name the goal, such as checking what data an extension can read, or working out how it signs its requests. If the target is a normal web page script rather than an extension, the skill itself points you to the separate js-reverse skill.
- "Check the permissions in this unpacked Chrome extension and tell me which ones are over-broad."
- "Find the background service worker in this .crx and explain what it does with stored credentials."
- "Audit this Firefox .xpi for network request modification."
What does a typical analysis look like?
A common run starts with the manifest, because it lists the permissions and entry points that everything else depends on. The agent then follows those entry points into the background worker and content scripts, and checks network and storage hooks along the way.
The skill's reference notes highlight risk signals to look for. Host permissions of <all_urls> can read and write any site. webRequestBlocking can rewrite traffic in a man-in-the-middle style. nativeMessaging connects the browser to a program on the local machine. externally_connectable lets web pages drive the extension. For Manifest V3 extensions, the notes point to service worker lifecycle and declarativeNetRequest.
What do you need before you start?
The skill expects Chrome DevTools or a Chromium-based browser for debugging, plus jq and an archive tool to unpack .crx and .xpi files. These are needed for the core workflow.
- Required: Chrome DevTools or a Chromium-based browser
- Required: jq and an archive tool for unpacking .crx and .xpi files
- Optional: the js-reverse toolchain for deeper JavaScript analysis
- Optional: Frida or Chrome DevTools Protocol tooling (jshookmcp) for dynamic analysis
- Optional: YARA for writing malicious-extension rules
What are the safety notes?
The skill is framed around authorised testing. Only inspect extensions you have permission to analyse. The skill does not run scripts and does not use the network on its own, according to its listing. Its optional tools may do more, so check what each one does before you run it.
The output is a technical workflow and set of findings, not a verdict on whether an extension is safe. Recovering credential or signature logic can be misused, so treat any recovered secrets with care and do not use the method against systems you are not authorised to test.
- Work only on extensions you are authorised to inspect
- The skill runs no scripts and uses no network by itself
- Optional tools (Frida, CDP tooling, YARA) are separate; review them before use
- Handle any recovered keys or tokens as sensitive material
What tips help get better results?
Start with the manifest and permissions, since they narrow the search. Keep the unpacked folder separate from the original file so you can compare. Use developer mode and chrome://extensions to catch load errors before reading deeper code.
The skill's instructions reference a field-journal precedent file and related skills for JavaScript and malware analysis. Those files are not part of the listed package, so do not count on them being present.
- Read manifest.json first and list permissions before anything else
- Load the unpacked folder in developer mode and check chrome://extensions for errors
- Attach DevTools to the service worker to watch its behaviour
- Ask for one question at a time, such as permissions, then data flow
What people use it for
- Auditing a suspicious browser extension for over-broad permissions such as <all_urls>
- Checking what a third-party extension does with credentials or network traffic
- Studying how MV2 and MV3 extensions use background service workers and content scripts
- Investigating a possibly supply-chain-poisoned extension as part of a security review
Frequently asked questions
How do I install the browser-extension-reverse skill?
Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps you can instead upload it under Settings → Capabilities → Skills.
Is the browser-extension-reverse skill free?
This page does not state a price or licence terms for the skill itself. The source repository is listed under the MIT licence, so check the repository's licence file for the exact terms.
What do I need to use it?
You need Chrome DevTools or a Chromium-based browser, plus jq and an archive tool to unpack .crx and .xpi files. Frida, the js-reverse toolchain, Chrome DevTools Protocol tooling (jshookmcp) and YARA are optional.
Does this skill tell me whether an extension is safe?
No. The skill produces a technical workflow and findings, such as permissions and data flow. It does not give a safety verdict, so a non-expert should not rely on it for that decision.
How is this different from the js-reverse skill?
This skill targets browser extensions, meaning add-on files with a manifest. Ordinary web page JavaScript is routed to the separate js-reverse skill, which the skill itself recommends for that case.
Why does the agent ask me to confirm I am authorised?
The skill is framed around authorised testing. Recovering credential logic could enable misuse, so use it only on extensions you have permission to inspect.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits security researchers, developers checking what a third-party extension does with credentials or traffic, and students learning extension architecture. Pick something else if you only want a quick yes or no on whether an extension is safe, or if you are analysing web page JavaScript, which is better served by a different tool.
Download the skill