Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dslsdzc/rev-skills --skill re-browser-extgit clone --depth 1 https://github.com/dslsdzc/rev-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dslsdzc/rev-skills/re-browser-ext)<a href="https://agentmods.dev/skills/dslsdzc/rev-skills/re-browser-ext"><img src="https://agentmods.dev/badge/skills/dslsdzc/rev-skills/re-browser-ext/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dslsdzc/rev-skills/re-browser-ext"><img src="https://agentmods.dev/badge/skills/dslsdzc/rev-skills/re-browser-ext.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.02734 |
| Opus 5.5 | $0.00024 | $0.01094 |
| Sonnet 5.5 | $0.00012 | $0.00547 |
| Haiku 4.5 | $0.00006 | $0.00273 |
Grade A, and why
re-browser-ext scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
浏览器扩展逆向
何时使用 / 何时不用
- 用:扩展文件(crx/xpi/zip)、恶意扩展行为分析、扩展权限审计
- 用:判断扩展是否过度授权、远程代码、更新投毒(首版干净后续版本恶意)
- 不用:网页 JS 混淆([[re-script-deob]] 覆盖纯脚本)
- 不用:Chrome/Edge 浏览器本身的漏洞利用(扩展与浏览器漏洞是两个对象)
- 注意:动态加载扩展跑恶意行为属执行未知代码——沙箱内进行([[re-sandbox]],[[re-analyze/platform-tips]] 最高原则)
工具准备
unzip / 7z / python zipfile(解包)
- 安装与验证见 [[re-doc-malware]] 工具准备(7z)
- crx = "Cr24" 头(版本号 + 头长度;crx2 含公钥与签名、crx3 含 protobuf 头与 proof)+ 尾部 zip 数据——
unzip/7z直接解包会报extra bytes at beginning警告但结果正确;python3 -m zipfile -e sample.crx ext/无警告 - xpi 就是纯 zip,直接解
jq(manifest 解析)
- Linux:
apt install jq;macOS:brew install jq;Windows: 官方构建 - 验证:
jq --version
node / js-beautify(脚本还原)
- Linux:
apt install nodejs;macOS:brew install node;Windows: nodejs.org 官方安装包;验证:node --version - js-beautify:
npm install -g js-beautify,验证js-beautify --version(压缩 JS 先格式化再读)
浏览器加载验证(动态,沙箱)
- Chromium 系:
chrome://extensions开发者模式 → Load unpacked;Edge 同(edge://extensions) - Firefox:
about:debugging#/runtime/this-firefox→ Load Temporary Add-on(免签名临时加载) - 验证: 扩展出现在扩展列表、后台脚本/页面能打开
操作步骤
按顺序执行,每步产物存档(路径 + sha256,见 [[re-triage]])。
-
解包与结构:
unzip -o sample.crx -d ext/ 2>/dev/null || python3 -m zipfile -e sample.crx ext/ jq '.manifest_version, .name, .version' ext/manifest.json jq '.permissions, .host_permissions' ext/manifest.json # host_permissions 为 MV3 字段;MV2 站点权限在 permissions 内(含 URL 匹配模式)- 结构:manifest.json + 背景脚本(MV3 service worker / MV2 background page)+ 内容脚本(content_scripts)+ 页面(options/popup)+ 资源(web_accessible_resources)
- 先确认
manifest_version(2 还是 3)——MV2/MV3 的权限模型与能力差异决定后续所有判断(见 [[gotchas]]) - 其他关键字段:
update_url(自托管更新清单,投毒面)、key(扩展 ID 派生)、externally_connectable(外部页面消息通道)、oauth2(令牌)、optional_permissions(运行时再要权)、minimum_chrome_version(兼容边界) - 次要结构:
_locales/(i18n 消息,可藏字符串)、icons/、options_page/options_ui、commands(快捷键,触发行为入口)、incognito(隐身窗口行为声明)
-
权限审计(能力边界):
- 高危 API 权限:
tabs(读标签页 URL/标题)、storage(数据收集缓存)、webRequest(流量观察;MV3 阻断能力仅企业策略部署例外,一般改走declarativeNetRequest)、scripting(MV3 动态注入)、clipboardRead(剪贴板)、cookies(读站点 Cookie)、history、downloads、nativeMessaging(与宿主程序通信)、debugger - 站点权限(host_permissions / MV2 permissions 内 URL 模式)决定能碰哪些网站的数据——
<all_urls>或*://*/*是高危信号 - 权限与声明用途对照:装了
storage+tabs+<all_urls>但功能只是改主题——越权信号 - 权限风险速查(声明即能力,不必看代码):
- 高危 API 权限:
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +1 lines ffb667a8ad73
- 1mo ago First seen · 119 lines · 59 tokens per session scan A 320a16368f28
re-browser-ext is a skill published in the GitHub repository dslsdzc/rev-skills (193 stars, last pushed 13d ago), licensed Apache-2.0. It adds 59 tokens to every session and 2,734 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware in Ghidra by parsing Go buildinfo and pclntab structures, recovering stripped/obfuscated function names (e.g. via GoResolver), and extracting embedded module/dependency strings and types from Go binaries. Use when analyzing a Go-language malware sample, deobfuscating a…
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware in Ghidra by parsing Go buildinfo and pclntab structures, recovering stripped/obfuscated function names (e.g. via GoResolver), and extracting embedded module/dependency strings and types from Go binaries. Use when analyzing a Go-language malware sample, deobfuscating a…
h5i
Skill "h5i" from h5i-dev/h5i, covering h5i, choose the workflow, build and verify and use the development tools.
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware using Ghidra with specialized scripts for function recovery, string extraction, and type reconstruction in stripped Go binaries.
dit
Classify HTML pages, forms, and fields using machine learning. Use when the user needs to detect page types (login, error, captcha), identify form types (login, search, registration), or classify form fields (username, password, email) from HTML content or URLs.
gakido
High-performance Python HTTP client with browser impersonation and anti-bot evasion. Use when the user needs to bypass bot detection, impersonate browsers with TLS fingerprinting, make HTTP/2/3 requests, or build web scrapers that evade anti-bot systems.