Rook
The AI review rates the findings as likely false positive, but the risk score (86/100) still counts them.
Analysis record
- Analysed
- 4 days ago
- Version
- v1.1.0.729
- Artifact
- SHA256 25D…187
- Source
- Findings (non-IoC)
Is Rook safe?
Rook is a Chrome extension that automates browser work. According to its own description it moves across tabs, apps and files and turns repeated tasks into reusable routines, and the endpoints in its code back that up: it talks to api.cerebras.ai, api.deepseek.com, api.fireworks.ai, anthropic.com and api.clay.com, which are AI model and CRM services. An automation agent that can hand a task to several different AI providers has to reach a handful of hosts like these.
The findings that look alarming need context. Two files, assets/delegated-run.worker-4CRJ8xfO.js and assets/think-host.worker-C6wY548k.js, trip a rule called YARA--supply_chain_sourcemap_appended_iife, which flags JavaScript that carries on after a sourcemap marker. Build tools produce files in that shape routinely, and the match comes with no payload, no remote address and no sign of credential access attached to it. If it were real, it would mean the extension was smuggling hidden code into a worker script.
Most of the rest of the noise comes from the scanner tripping over bundled libraries. Rook ships esbuild, the Less CSS compiler and icon font files, and those carry large binary blocks, unicode tables and private-use glyphs that get labelled as obfuscation. The thousands of indicators of compromise include strings like ad.creditcard and aes.new, which are fragments of minified code rather than web addresses.
One gap: the permission list captured here is empty, so reading the published manifest would confirm exactly which sites Rook can see. Nothing in the code we examined points to data leaving your browser for anywhere except the AI providers it advertises.
Evidence ledger
Ranked by severity · findings with a source location link to the code viewer
YARA Rule Matches
18 rules| Severity | Rule | Hits | Files | Metadata |
|---|---|---|---|---|
| HIGH | supply chain sourcemap appended iife | 2 | assets/delegated-run.worker-4CRJ8xfO.jsassets/think-host.worker-C6wY548k.js | - |
| LOW | postinstall file download | 227 | chunks/shaderlab-QzRPXpa3.jschunks/imba-BNhPHnyc.jschunks/typescript-BWGGkVQI.js +224 more | - |
| LOW | NoUseWeakRandom | 18 | chunks/client-D0Ix2xSU.jschunks/xlsx-CuSbHU4R.jsassets/actor-backup.worker-aCEmwONW.js +15 more | - |
| LOW | NoUseEval | 4 | chunks/lib-CUif5TQz.jsassets/think-host.worker-C6wY548k.jsassets/workspace-executable-compiler.worker-nvYBSIAG.js +1 more | - |
| LOW | credential git credentials | 4 | chunks/mdx-DQZ5AkYe.jschunks/mdx-CT6rFF7S.jsassets/delegated-run.worker-4CRJ8xfO.js +1 more | - |
| LOW | DebuggerStatementsShouldNotBeUsed | 38 | background.jschunks/typescript-mWf_vrc0.jschunks/javascript-O6_qsh94.js +35 more | - |
| LOW | ServerHostnameNotVerified | 1 | chunks/lib-CUif5TQz.js | - |
| LOW | UsingCommandLineArguments | 4 | chunks/typescript-mWf_vrc0.jsassets/delegated-run.worker-4CRJ8xfO.jsassets/workspace-executable-compiler.worker-nvYBSIAG.js +1 more | - |
| LOW | LocalStorageShouldNotBeUsed | 1 | chunks/lib-CUif5TQz.js | - |
| LOW | credential env files | 58 | chunks/latex-P327AtDW.jschunks/gruvbox-dark-hard-DXm60lX3.jschunks/gruvbox-dark-medium-GE2thSmD.js +55 more | - |
| LOW | postinstall persistence mechanism | 84 | chunks/logo-Cluzi2Zq.jschunks/less-DVTAwKKz.jschunks/handlebars-BuuYJbrF.js +81 more | - |
| LOW | RedirectToUnknownPath | 5 | assets/think-host.worker-C6wY548k.jsassets/workspace-executable-compiler.worker-nvYBSIAG.jsassets/delegated-run.worker-4CRJ8xfO.js +2 more | - |
| LOW | credential skype data | 1 | assets/think-host.worker-C6wY548k.js | - |
| LOW | postinstall crypto operations | 96 | chunks/ssh-config-DlA0k24P.jschunks/vyper-CgoNMtux.jschunks/night-owl-light-eJ-hLW7d.js +93 more | - |
| LOW | postinstall file manipulation | 334 | chunks/gruvbox-dark-medium-BPjhmG05.jschunks/emacs-lisp-c_oH4hRZ.jschunks/rose-pine-dawn-8PwUyIlP.js +331 more | - |
| LOW | postinstall environment access | 82 | chunks/gdresource-C0sCabJj.jschunks/jison-DarOIlkb.jschunks/code-transfer-DvPN8-XE.js +79 more | - |
| LOW | postinstall obfuscation | 2 | chunks/coq-BrsZFFmf.jschunks/catppuccin-frappe-3VR1Za6u.js | - |
| LOW | postinstall registry modification | 18 | content-scripts/webmcp-global.jschunks/racket-ByduP6X2.jschunks/blade-DX8k3njE.js +15 more | - |
Network Indicators
Concrete URLs, domains, IPs, emails, and hashes extracted from the analyzed artifact.
Loading network indicators
IoC detail rows are loaded outside the initial page render.
Publisher Evidence
Limited evidencePublisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.
Chrome does not expose the same publisher verification data as IDE stores, so this score is deliberately conservative.
12 evidence rows available.
Finding Categories
YARA Rules Matched
18 rules(979 hits)Requested Permissions
25 permissionsFull access to Chrome DevTools debugging protocol
Access and modify data on every website you visit
Manage, modify, and monitor downloads
Read and modify your browsing history
Access your identity and sign-in tokens
Read data from your clipboard
AI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
Rook describes itself as an agent that automates work across tabs, apps and files, and the code is consistent with that job. The network hits sit in worker files and build chunks: NET-SOCKET_IO-background.js-54, NET-FETCH-assets/sqlite3-worker1-C4QEEqpT.js-36 and NET-FETCH-chunks/dictation-DJiaI1G6.js-31 are library-level detections for socket.io and fetch, not evidence of a covert channel. The endpoint list is the useful part. anthropic.com, api.cerebras.ai, api.deepseek.com, api.fireworks.ai and api.clay.com are model-provider and CRM APIs. An assistant that can route a prompt to five different providers has to talk to five different hosts, and those are the hosts.
The same list also contains a large amount of text that is not a domain at all: ad.creditcard, aes.new, add.menu, agent.cc, a-date.now, 00value.int, 3a123.md. These are property chains and string fragments the extractor lifted out of minified JavaScript. They resolve to nothing and match no service the extension claims to use. They are also why the indicator count reaches 3,384, and that count says more about the extractor than about the code.
The two high-severity signatures are both YARA--supply_chain_sourcemap_appended_iife, one in assets/delegated-run.worker-4CRJ8xfO.js:616 and one in assets/think-host.worker-C6wY548k.js:1396. That rule looks for live code placed after a sourcemap comment, which is how bundlers and some build plugins emit output. Neither hit names a payload, a remote host or a credential path. They describe the shape of the build output rather than behaviour.
The obfuscation findings map onto shipped third-party code. OBFUSCATION-LARGE_WASM_FILE lands on assets/esbuild.wasm, which is esbuild, a JavaScript bundler the extension vendors. OBFUSCATION-INVISIBLE_ZERO_WIDTH appears in chunks/less-BGJv5CZz.js and chunks/less-DVTAwKKz.js, the Less CSS compiler, where zero-width characters live in string tables. OBFUSCATION-EXCESSIVE_PRIVATE_USE_AREA in chunks/lib-CUif5TQz.js is the glyph map you find in bundled icon fonts. OBFUSCATION-UNICODE_HEAVY in chunks/sidepanel-Dp3Vi7g6.js:452 sits in the same family of bundled text data. None of these are payload hiding. The 1,641 code-smell hits scatter across hashed Vite chunks, which is what happens when hundreds of npm packages ship in one bundle.
A skeptic would push back on two points. First, assets/esbuild.wasm means the extension can compile and run JavaScript it generates, which is a real capability and the reason an agent like this deserves review rather than a free pass. Second, the sourcemap-appended-IIFE rule exists because malware does hide code that way, and two hits is two hits. What would move this verdict is a payload: a credential read, a remote script fetch, a second-stage domain. None of that appears. A manifest read would also help, because the captured permission list is empty and a single manifest-analysis finding is all we have on declared access. That gap is worth closing.
Key Reasons
- Network endpoints are AI provider and CRM APIs (api.cerebras.ai, api.deepseek.com, api.fireworks.ai, anthropic.com, api.clay.com), consistent with an agent that routes prompts to multiple models.
- Both malware-signature hits are the same bundler-pattern rule, YARA--supply_chain_sourcemap_appended_iife, on hashed worker chunks with no payload, domain or credential path attached.
- Obfuscation findings land on vendored third-party artifacts: assets/esbuild.wasm, chunks/less-BGJv5CZz.js, chunks/less-DVTAwKKz.js and chunks/lib-CUif5TQz.js.
- The 3,384 IoC hits include non-hostname fragments such as ad.creditcard, aes.new and agent.cc, so volume reflects extractor behaviour rather than code behaviour.
- Developer identity matches the product domain mcp-b.ai and the version is current, with no typosquatting against a known extension name.
False Positive Considerations
- IoU extractor garbage: ad.creditcard, aes.new, add.menu, a-date.now and 00value.int are minified-code fragments, not registrable domains
- code-smell volume (1,641) and IoC volume (3,384) generated by hundreds of bundled npm packages in hashed Vite chunks
- OBFUSCATION-INVISIBLE_ZERO_WIDTH and OBFUSCATION-EXCESSIVE_PRIVATE_USE_AREA firing on unicode tables in the bundled Less compiler and icon font glyph maps
- YARA--supply_chain_sourcemap_appended_iife matching standard bundler output that appends code after a sourcemap comment
Reviewed 2026-10-14; recommended action: suppress false positive; model confidence 78%.
Chrome version history
Risk trend by version
4 analyzed versions. Each point is the latest successful scan for that version; failed zero-score scans are hidden. Dates are based on first seen by risky plugins.
Pick any point on the chart to explore that version's code below.
Source Code Not Available
Source code is not available for this version of the extension.
About This Extension
Frequently Asked Questions
Similar Extensions
Related extensions from the same publisher or marketplace
MCP-B Agent
[email protected]
种草星球-TikTok爆单神器,商品自动提报采集邀评【永久免费】
[email protected]
Kindredly - A safer, private web for families
[email protected]
Open Headers
[email protected]
100xBot
[email protected]
LinkVault Professional
[email protected]