Hostile 100% firefox 1 installs Download

NoobClaw Browser Assistant 2.0.8

Arbitrary code execution, cookie theft

“Connects Chrome to NoobClaw AI for browser automationNoobClaw Browser Assistant connects your Chrome browser to the NoobClaw AI desktop cli…”

Extension evaluates message code in page main worldAttribute breakout injects image onerror

Evidence

NoobClaw browser assistant product name background.js · lines 1–4
1/**
2 * NoobClaw Browser Assistant — Background Service Worker
3 *
4 * Connects to NoobClaw desktop client via TWO HTTP-anchored transports.
Injects code through WebExtension scripting API background.js · lines 1874–1893
⋯5 lines
1879 try {
1880 // Check if already injected
1881 const [result] = await chrome.scripting.executeScript({
1882 target: { tabId },
1883 func: () => window.__noobclaw_injected === true,
1884 });
1885 if (result?.result) return; // Already injected
1886 await chrome.scripting.executeScript({
1887 target: { tabId },
1888 files: ['content.js'],
1889 });
1890 } catch (e) {
1891 // Already injected or restricted page (chrome://, edge://, etc.)
1892 }
1893 // Wait a bit fo …
Extension injects main-world script background.js · lines 2340–2350
2340:56… await resolveTab();
2341 const results = await chrome.scripting.executeScript({
2342 target: { tabId: tab.id },
2343 world: 'MAIN',
2344 func: (sel, clickOnce, requireVisible) => {
2345 let el = null;
2346 if (requireVisible) {
2347 const all = document.querySelectorAll(sel);
2348 for (const c of all) {
2349 if (c.getBoundingClientRect().width > 0) { el = c; break; }
2350 …
Registers a browser runtime message listener background.js · lines 4686–4697
⋯6 lines
4692
4693// Listen for messages from popup
4694chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
4695 if (msg.type === 'get_status') {
4696 // v1.x: Firefox 上 WS/SSE 断开经常不触发 onclose,SW 里 cached connected=true
4697 // 但 transport 真死了 → popup 显示绿色但实际连不上。修:Firefox 主动� …
Attribute breakout injects image onerror popup.html · lines 153–162
153:38… ; align-items:center; gap:6px; }
154</style>
155</head>
156<body class="loggedout">
157 <div class="brandrow">
158 <img class="brandlogo" src="icons/icon48.png" onerror="this.style.display='none'">
159 <span class="brandname">NoobClaw</span>
160 <span class="tag" data-i18n="tagTrial">体验版</span>
161 <div id="acctMini" class="acctmini" hidden>
162 <span id="dot" class="cdo …

Showing the top 5 files — 2 more files (31 regions) not shown.

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.