Is Research AI safe?
We analyzed Research AI version 1.0.2's actual code and gave it a 78/100 trust score. Research AI has unnecessarily broad website reach but shows no clear…
Bottom line
Research AI has unnecessarily broad website reach but shows no clear abuse or dangerous remote control in the reviewed package.
What it can access
It can run on every website, although reviewed code only sends a fixed internal message; this is broader than a writing popup needs. [Q1][Q2]
Security weaknesses
The all-website reach and automatic per-page message are unnecessary exposure, but no privileged action or website-to-extension command path was found. [Q1][Q8][Q21]
Signs of misuse
It sends the marketing text you enter to its own service for generation, with no evidence of session theft, tracking, or remote commands. [Q3][Q6][Q12][Q16]
Code findings
What access does this extension ask for, and does that access make sense for what it claims to do?
It injects a page access on every ordinary webpage even though the advertised AI popup does not need that access.
Declares contentScript.js with <all_urls> matches and a background service worker. — manifest.json:19-22
Which websites can it run on, and can it read or change what appears on those pages?
No evidence of this behavior was found in the reviewed package.
The complete script sends a fixed string to the background worker and logs its fixed response. — contentScript.js:1
Can it see sensitive information you type, such as passwords, payment details, messages, or form entries?
It sends the product name, description and tone entered into its own popup to ResearchAI. It does not read form values from websites.
Builds a prompt from the popup's name, desc and tone fields and POSTs it after form submission. — popup.js:1
Can it access private browser data such as cookies, signed-in sessions, browsing history, bookmarks, or downloads?
No evidence of this behavior was found in the reviewed package.
No browser-data permissions are declared. — manifest.json:1-23
Can it access anything else on your device, such as files, location, camera, microphone, clipboard, or installed applications?
It can write generated text to the clipboard only when the user clicks the copy control.
The result copy button calls navigator.clipboard.writeText with the selected generated text. — popup.js:1
Does it send information outside your browser? If so, what information is sent, where does it go, and why?
It sends the user-composed marketing prompt to researchai.co and receives generated choices. This is the advertised feature and occurs on Generate.
POSTs {text, token, runs:3} to https://researchai.co/api/index/chromeapi from the popup submit handler. — popup.js:1
Does it download or run code, settings, or instructions supplied by a remote server?
No evidence of this behavior was found in the reviewed package.
Reads response.data.choices and renders each choice as text. — popup.js:1
Can it take actions without a clear user request, such as opening pages, redirecting searches, downloading files, or sending requests?
A fixed test message is sent automatically from every page load. AI prompts are not sent until the user submits the popup form.
Immediately calls chrome.runtime.sendMessage with the fixed string 'From the content.ts'. — contentScript.js:1
The ResearchAI POST is inside the popup form's onSubmit handler. — popup.js:1
Can it change important browser settings, including your proxy, search engine, homepage, privacy settings, or other extensions?
No evidence of this behavior was found in the reviewed package.
No settings-related permission is declared. — manifest.json:1-23
Is any important behavior difficult to inspect because the code is hidden, heavily obfuscated, dynamically generated, or supplied by third parties?
No evidence of this behavior was found in the reviewed package.
Contains the full message listener in readable minified form. — background.js:1
Contains the full all-sites script in readable minified form. — contentScript.js:1
Does it use eval(), new Function(), or string-based timers to turn text into executable code?
No evidence of this behavior was found in the reviewed package.
Uses new Function('return this') only if globalThis is unavailable; prompt and response data never flow to it. — popup.js:1
Does it track the websites, pages, searches, or links you visit?
No evidence of this behavior was found in the reviewed package.
Sends a runtime message whenever the all-sites script loads. — contentScript.js:1
Logs both the fixed message and its sender object to the extension console, then returns a fixed response. — background.js:1
Does it create a persistent ID or browser fingerprint to recognize you?
No evidence of this behavior was found in the reviewed package.
The request includes prompt text, a fixed tool token count and runs value, with no generated user ID. — popup.js:1
Contains no identifier or storage logic. — background.js:1
Does it send cookies, session details, authentication data, or page contents elsewhere?
No evidence of this behavior was found in the reviewed package.
No cookies permission is declared. — manifest.json:1-23
The ResearchAI request contains only generated prompt inputs and fixed generation parameters. — popup.js:1
Does it record typing, form entries, clipboard contents, or screenshots?
No evidence of this behavior was found in the reviewed package.
Does not attach page event listeners or read page elements. — contentScript.js:1
No capture or device permissions are declared. — manifest.json:1-23
Can a website or remote server send commands that make the extension take actions?
No evidence of this behavior was found in the reviewed package.
Server responses are rendered as generated text only. — popup.js:1
The background listener logs messages and returns a fixed string without dispatching commands. — background.js:1
Does it alter links, referral codes, advertisements, shopping carts, or search results?
No evidence of this behavior was found in the reviewed package.
Performs only a runtime message and console log. — contentScript.js:1
Does it redirect or modify web traffic, request headers, downloads, or proxy settings?
It makes the expected HTTPS request for AI generation. No file download, proxy or unrelated network relay was found.
Axios POST targets only ResearchAI's chromeapi endpoint; other URLs are user-clicked product and rating links. — popup.js:1
Can it communicate with software on the computer or services running on localhost?
No evidence of this behavior was found in the reviewed package.
No nativeMessaging permission is declared. — manifest.json:1-23
Does it decode, decrypt, or unpack hidden data and then execute or inject it?
No evidence of this behavior was found in the reviewed package.
The only API response consumed is a list of generated text choices. — popup.js:1
All executable scripts are packaged locally. — manifest.json:19-22
Can ordinary websites access privileged extension features through messaging or exposed files?
No evidence of this behavior was found in the reviewed package.
Sends a fixed internal runtime message, with no window message listener or page-supplied payload. — contentScript.js:1
Responds with a fixed string and performs no browser action. — background.js:1
Does suspicious behavior activate only for certain users, websites, dates, or remote settings?
No evidence of this behavior was found in the reviewed package.
Tool prompts and request parameters are packaged constants selected by the user. — popup.js:1
Does it perform hidden resource-intensive work, such as cryptocurrency mining?
No evidence of this behavior was found in the reviewed package.
The complete background worker only logs and replies to messages. — background.js:1
Popup computation consists of UI filtering and request rendering. — popup.js:1
Does it change form fields or where a form sends its information?
No evidence of this behavior was found in the reviewed package.
Contains no DOM access or form manipulation. — contentScript.js:1
Reads only inputs in the extension's own popup. — popup.js:1