OpenVSX Registry

Embedder

e51c6225-28b6-5a5b-b578-0a96ccb459ed | v0.3.213
75/ 100
HIGH risk
+24 since v0.3.200
Analyst verdict
Review before use

The AI review rates the findings as likely false positive, but the risk score (75/100) still counts them.

Analysis record

Analysed
2 weeks ago
Version
v0.3.204
Artifact
SHA256 9E2…6ED
Source
Findings (non-IoC)

Is Embedder safe?

Embedder is an AI assistant for firmware and embedded development: you describe a task, it plans and reviews code, and it ships a command line helper for the hardware side. The packaged manifest declares no special permissions, and no network endpoints were extracted from the package, though the extension's own bundles call fetch from places like extension/out/webview-plan.js and extension/out/extension.js, which is how the chat and review panels reach the model service.

The finding that matters most is a YARA match, YARA--Base64_encoded_Executable, inside the native helper extension/bin/embedder.exe at offset 299426. If that were a live payload it would mean a program running with your full user privileges. The rule it tripped on looks for base64 blocks that decode to a Windows executable header, and that pattern turns up in ordinary packed, signed and resource-heavy binaries, including installers from large vendors. The other flagged files, such as out/webview-shaders.js and out/webview-serial.js, are build output. The Unicode-heavy and large-base64 hits come from minified bundles and inlined shader, font and wasm assets.

Nothing in the results touches .env files, .git/config, SSH keys or cloud credential stores. The extension reads and writes your workspace because that is the job. A single signature hit at one byte offset of a shipped helper binary is not enough to call the extension malicious, and the rest of the flags look like a normally packaged VS Code extension.

Evidence ledger

Ranked by severity · findings with a source location link to the code viewer

110 detail rows
Showing 25 of 109 · highest severity first

YARA Rule Matches

1 rule
SeverityRuleHitsFilesMetadata
HIGHBase64 encoded Executable

Detects an base64 encoded executable (often embedded)

1
bin/embedder.exe
Florian Roth FP 2%

Publisher Evidence

Limited evidence

Embedder

Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.

25
Noisy-finding weight
x1.00
Publisher domain
No domain
Missing
Store verification signal
Not exposed
Not exposed
Extension portfolio
4
Portfolio

12 evidence rows available.

Finding Categories

1
Malware Signatures
70
Network

YARA Rules Matched

1 rule
Base64 encoded Executable

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality moderate.

What the flagged code actually does

extension/out/ is webpack build output, and nearly every finding lands there. The network results are NET-FETCH-extension/out/webview-plan.js, NET-FETCH-extension/out/review-worker.js, NET-FETCH-extension/out/extension.js and NET-SOCKET_IO-extension/out/webview-console.js. Those are the chat, plan, review and console panels of an AI firmware assistant reaching its model backend. No endpoint list came back with the package, and no domain in the file names points at an unusual host. A socket.io client inside webview-console.js is a streaming UI channel, which is what a console panel needs to show progress.

The obfuscation results follow the same pattern. OBFUSCATION-UNICODE_HEAVY fires on webview-serial.js, webview-review.js, webview-plan.js, webview-graph.js and webview-console.js. Unicode escapes are what minifiers emit for non-ASCII strings. OBFUSCATION-LARGE_BASE64-extension/out/webview-shaders.js:259 and the matching hit in webview-review.js are inline assets, which for a firmware tool means shader source, fonts or wasm. OBFUSCATION-FUNCTION_INDIRECT is a code-shape rule that fires on bundler dispatch tables. That is what a rollup or webpack bundle looks like, not code hidden from a reviewer.

Filesystem and process access

The stated purpose is an AI firmware engineer, and that work reads and writes the workspace, watches files, and runs a build or flash step. The extension ships a native helper at extension/bin/embedder.exe, and a CLI binary for talking to hardware fits that job. No install hook shows up in the results and no process spawn is recorded at activation.

Credential access

Nothing here touches secrets. No finding references .env, .git/config, ~/.ssh, ~/.aws or any credential store path, and no secret-access results were logged at all. The filesystem paths in the results are the extension's own out/ and bin/ directories.

The strongest counterargument

A native Windows executable inside a VS Code extension deserves more suspicion than JavaScript, because it runs with your full user privileges outside the extension host. YARA--Base64_encoded_Executable matched at offset 299426 of extension/bin/embedder.exe. That rule looks for base64 blocks that decode to a PE header. Legitimate packed, signed and resource-heavy binaries contain exactly that, including installers and self-extracting archives, so a single hit at one offset is a shape match and not a behaviour. Nothing shows what that offset does: no persistence, no scheduled task, no outbound command-and-control domain in the results. The 39 dependency findings are low-severity entries from bundled npm packages and carry no weight either way.

Taken together, 146,892 installs, a long version history at 0.3.204, a feature set that matches the bundled files, and findings confined to build artifacts point to a normal packaged extension. The one thing that would change this is inspection of embedder.exe itself, which this data cannot provide.

Key Reasons

  • Network and obfuscation hits are confined to webpack build output under extension/out/, including NET-FETCH-extension/out/webview-plan.js and OBFUSCATION-LARGE_BASE64-extension/out/webview-shaders.js:259
  • No credential or sensitive-path findings: no result references .env, .git/config, SSH keys or cloud credential stores
  • YARA--Base64_encoded_Executable at extension/bin/embedder.exe:299426 is a broad rule matching embedded base64 PE data common to packed and resource-heavy binaries
  • The 39 dependency findings are low-severity entries from bundled npm packages in a mature 0.3.204 release with 146,892 installs on OpenVSX
  • No install hook and no activation-time process spawn appear anywhere in the results

False Positive Considerations

  • Base64_encoded_Executable YARA rule fires on base64 blobs that decode to a PE header, a pattern present in legitimate packed, signed and installer binaries
  • OBFUSCATION-UNICODE_HEAVY, LARGE_BASE64 and FUNCTION_INDIRECT hits are minifier and bundler artifacts in extension/out/ webpack output and inlined asset blobs
  • NET-FETCH and NET-SOCKET_IO detections sit inside bundled webview bundles (out/webview-plan.js, out/webview-console.js) that implement the extension's own UI
  • Dependency findings are low-severity matches against bundled third-party npm packages, not first-party code

Reviewed 2026-10-13; recommended action: monitor; model confidence 74%.

Open VSX version history

Risk trend by version

24 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.

Selected
75
Change since first
+24
Change from previous
+24
Versions:
First analyzed version
0.3.64
Mar 22, 2026
Risk range
51 to 76
Across analyzed versions
Latest analyzed version
0.3.204
Oct 10, 2026
Selected version
high
Version
v0.3.204
2 weeks ago
Risk score
75
Findings
110
Change vs previous
+24

Pick any point on the chart to explore that version's code below.

About This Extension

AI Firmware Engineer

Frequently Asked Questions