RunVSAgent
The AI review rates the findings as likely false positive, but the risk score (85/100) still counts them.
Analysis record
- Analysed
- 3 days ago
- Version
- v0.2.5
- Artifact
- SHA256 61A…589
- Source
- Findings (non-IoC)
Is RunVSAgent safe?
RunVSAgent drives a coding agent inside JetBrains IDEs, and roughly thirty thousand developers run it. Its manifest declares no special permissions, so it asks for no system access up front. The endpoint list pulled from the package holds a public Google OAuth client identifier alongside junk fragments like 2freadme.md and 40gmail.com, which are pieces of longer strings sliced apart during extraction.
Every flagged network call lives under RunVSAgent/node_modules/@microsoft/1ds-post-js/bundle/ms.post.gbl.min.js and its sibling bundles. Those files contain Microsoft's 1DS telemetry poster, standard Microsoft web tooling that thousands of npm packages carry. The fetch and XMLHttpRequest calls inside ms.post.gbl.min.js send usage events, exactly what a telemetry library does. Exfiltration code written by hand would read very differently.
The lone high-severity hit, OBFUSCATION-unicode_heavy on RunVSAgent/runtime/extension.js, points at the plugin's compiled runtime bundle. Minifiers churn out dense Unicode escapes, and a scanner tuned to flag non-ASCII text fires on ordinary build output. No malware signature matched anywhere in the package.
Once each hit gets traced back to its file, thousands of rows come down to a Microsoft telemetry library shipped inside a plugin, an OAuth client identifier, and a minified runtime. Nothing in the package reads credentials or reaches anywhere its dependencies do not already reach.
Evidence ledger
Ranked by severity · findings with a source location link to the code viewer
YARA Rule Matches
23 rules| Severity | Rule | Hits | Files | Metadata |
|---|---|---|---|---|
| LOW | postinstall persistence mechanism | 76 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-85-TOEBH.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-C9XAeP06.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-Cj5Yp3dK.js +73 more | - |
| LOW | credential env files | 49 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-brDaU2vB.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-fve9TYiY.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-leinZj1a.js +46 more | - |
| LOW | RedirectToUnknownPath | 1 | RunVSAgent/roo-code/dist/extension.js | - |
| LOW | APT1 WEBC2 Y21K | 2 | RunVSAgent/roo-code/dist/workers/countTokens.jsRunVSAgent/roo-code/dist/extension.js | - |
| LOW | postinstall file download | 223 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-DlfHMoPT.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-Cj5Yp3dK.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-DH5Ifo-i.js +220 more | - |
| LOW | UntrustedContentShouldNotBeIncluded | 2 | RunVSAgent/runtime/extension.jsRunVSAgent/roo-code/dist/extension.js | - |
| LOW | credential gcp credentials | 1 | RunVSAgent/roo-code/dist/extension.js | - |
| LOW | SQLInjection | 1 | RunVSAgent/roo-code/webview-ui/build/assets/index.js | - |
| LOW | NoUseEval | 2 | RunVSAgent/roo-code/dist/extension.jsRunVSAgent/roo-code/webview-ui/build/assets/index.js.map | - |
| LOW | NoUseWeakRandom | 6 | RunVSAgent/roo-code/webview-ui/build/assets/mermaid-bundle.js.mapRunVSAgent/roo-code/webview-ui/build/assets/index.jsRunVSAgent/roo-code/webview-ui/build/assets/index.js.map +3 more | - |
| LOW | credential git credentials | 5 | RunVSAgent/roo-code/assets/vscode-material-icons/icon-map.jsonRunVSAgent/roo-code/webview-ui/build/assets/chunk-Cmh6b_Ma.jsRunVSAgent/roo-code/webview-ui/build/assets/index.js.map +2 more | - |
| LOW | LocalStorageShouldNotBeUsed | 2 | RunVSAgent/roo-code/webview-ui/build/assets/index.jsRunVSAgent/roo-code/webview-ui/build/assets/index.js.map | - |
| LOW | DebuggerStatementsShouldNotBeUsed | 36 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-Cno5XSCQ.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-g9-lgVsj.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-C9XAeP06.js.map +33 more | - |
| LOW | ServerHostnameNotVerified | 1 | RunVSAgent/roo-code/dist/extension.js | - |
| LOW | credential aws profile | 1 | RunVSAgent/roo-code/dist/extension.js | - |
| LOW | spyeye | 1 | RunVSAgent/roo-code/dist/extension.js.map | - |
| LOW | UsingCommandLineArguments | 3 | RunVSAgent/roo-code/dist/extension.js.mapRunVSAgent/runtime/extension.jsRunVSAgent/roo-code/dist/extension.js | - |
| LOW | postinstall file manipulation | 243 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-C39BiMTA.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-D_Q5rh1f.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-Cg-RD9OK.js +240 more | - |
| LOW | NoUseSocketManually | 1 | RunVSAgent/roo-code/dist/extension.js | - |
| LOW | postinstall environment access | 101 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-Btyk0a-E.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-leinZj1a.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-Cmh6b_Ma.js +98 more | - |
| LOW | postinstall registry modification | 1 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-BYunw83y.js | - |
| LOW | postinstall crypto operations | 139 | RunVSAgent/runtime/extension.jsRunVSAgent/roo-code/webview-ui/build/assets/chunk-BzJJZx-M.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-Hhtzho9R.js +136 more | - |
| LOW | postinstall obfuscation | 2 | RunVSAgent/roo-code/webview-ui/build/assets/chunk-BqYA7rlc.js.mapRunVSAgent/roo-code/webview-ui/build/assets/chunk-CUz34qUM.js | - |
Publisher Evidence
Limited evidencewecode-ai
Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.
13 evidence rows available.
Finding Categories
YARA Rules Matched
23 rules(899 hits)AI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
What the package actually contains
The manifest for RunVSAgent declares no permissions and no host permissions, and the Marketplace listing carries an empty description, so the technical case rests on code inside the package. All 100 network findings land in bundled dependencies, chiefly RunVSAgent/node_modules/@microsoft/1ds-post-js/bundle/ms.post.gbl.min.js and its versioned siblings (ms.post-3.2.18.js, ms.post-3.2.13.gbl.js, ms.post.gbl.js). Those files hold Microsoft's 1DS telemetry poster, the library Microsoft ships for posting usage events. A NET-FETCH hit inside ms.post.gbl.min.js line 6 describes that library calling fetch to send a payload, and the NET-XMLHTTPREQUEST hits at line 2400 of the same family describe its fallback transport. The RunVSAgent/node_modules/@c4312/eventsource-umd/dist/index.d.ts hit points at a type declaration for an EventSource polyfill, packaging metadata rather than runtime behaviour.
Filesystem and process access
No finding in this scan reports a workspace read, a workspace write, or a process spawn. No secret findings came back, and the manifest requests no permissions at all. A coding-agent runner that could not touch the workspace would not work, so the absence of those findings in a package that clearly ships a runtime (RunVSAgent/runtime/extension.js) tells us the scan caught the bundle's network surface and little else.
Credential findings
Zero. The endpoint list's closest thing to an identifier, 764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com, is a public OAuth client ID of the kind that ships in every Google sign-in front end. Entries such as 40gmail.com and 2freadme.md are substrings carved out of longer URLs.
The obfuscation hit
OBFUSCATION-unicode_heavy fires once, on RunVSAgent/runtime/extension.js. That path matches compiled extension output, and the rule keys on dense non-ASCII text, which bundlers and minifiers produce routinely. No malware signature matched anywhere in the package, so the high severity label rests on the character mix of a build artifact.
Counterargument
The strongest case against this verdict: 5,545 IoC entries, 1,715 code-smell hits, and one high-severity obfuscation finding, in a package from a publisher with no verified badge and 30,430 users. Volume like that usually means something. Trace each class back and it shrinks. The IoC entries include 2fgithub.com and 1config.sh, fragments of URL-encoded strings. The code-smell ruleset matches any JavaScript touching crypto or environment variables. The obfuscation hit sits on a bundler artifact. A real implant would show a credential read, an environment scrape, or a domain resolving to somebody's server, and none of those appear here.
Key Reasons
- All 100 network findings sit in bundled dependencies, mainly RunVSAgent/node_modules/@microsoft/1ds-post-js/bundle/ms.post.gbl.min.js, Microsoft's 1DS telemetry poster.
- No malware signature, no secret finding, and no filesystem or process-spawn finding appears in the package.
- OBFUSCATION-unicode_heavy fires only on RunVSAgent/runtime/extension.js, which matches compiled extension bundle output.
- Endpoint entries such as 2freadme.md, 2fgithub.com, and 40gmail.com are URL fragments produced by the extractor, and the Google entry is a public OAuth client ID.
- The manifest declares no permissions and no host permissions, leaving no privileged capability to abuse.
False Positive Considerations
- Bundled Microsoft 1DS telemetry SDK in node_modules generating 100 NET-FETCH and NET-XMLHTTPREQUEST findings
- IoC extractor emitting URL-encoded substrings (2freadme.md, 2fgithub.com, 40gmail.com, 1config.sh) as endpoints
- unicode_heavy obfuscation rule firing on a minified runtime bundle at RunVSAgent/runtime/extension.js
- 1,715 code-smell hits matching generic JavaScript patterns such as crypto and environment variable references
Reviewed 2026-10-15; recommended action: suppress false positive; model confidence 82%.
About This Extension
Frequently Asked Questions
Similar Extensions
Related extensions from the same publisher or marketplace
Deepseek Harness For IDE
miyuki
Explyt AI Agent
Explyt
Russian Language Pack — Языковой Пакет для Русских
5fef5185-529b-465a-9461-c1376169421f
TASKING winIDEA
TASKING
ZenStack Language Tools
ZenStack
Thunder Client
thunder-client