Embedder
The AI review rates the findings as likely false positive, but the risk score (79/100) still counts them.
Analysis record
- Analysed
- 1 weeks ago
- Version
- v0.3.209
- Artifact
- SHA256 80B…693
- Source
- Findings (non-IoC)
Is Embedder safe?
Embedder is a VS Code extension for firmware work, published under the name Embedder with the tagline AI Firmware Engineer. For a tool like this, the question that matters is what it ships alongside its JavaScript. The package includes a Windows command-line binary at extension/bin/embedder.exe, which is what a firmware tool would use to build or flash a target. It declares no special permissions in its manifest and the scan found no network endpoints in the extension at all, so there is no obvious route for your project files or credentials to leave your machine.
The loudest scanner hit is a malware signature called YARA--Base64_encoded_Executable, matching at byte offset 705979 inside extension/bin/embedder.exe. That rule looks for long base64 strings, and compiled Windows programs are full of them from embedded resources, icon tables and packed assemblies. If it were a real staged payload you would expect other pieces around it, and there are none in this package. The other cluster is sixteen obfuscation flags spread across compiled files such as extension/out/extension.js, extension/out/webview/index.js and extension/out/webview-shaders.js. Those files are the compiler's output, and the base64 and unicode density in them comes from inlined fonts, images and shader strings rather than anyone hiding code.
What tips the read is what is missing. No finding touches .env files, git config, SSH keys or cloud credentials, and nothing in the extension points at a remote server. A hidden payload needs somewhere to send what it takes, and this package has neither a destination nor a declared permission to collect anything. The scanner tripped on build artefacts and a generic binary heuristic.
Evidence ledger
Ranked by severity · findings with a source location link to the code viewer
YARA Rule Matches
1 rule| Severity | Rule | Hits | Files | Metadata |
|---|---|---|---|---|
| HIGH | Base64 encoded Executable Detects an base64 encoded executable (often embedded) | 1 | bin/embedder.exe | Florian Roth FP 2% |
Publisher Evidence
Limited evidenceEmbedder
Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.
12 evidence rows available.
Finding Categories
YARA Rules Matched
1 ruleAI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
Embedder brings an AI firmware workflow into VS Code, and the manifest it ships declares no permission strings and no host permissions. The scan also found no network endpoints anywhere in the extension. That absence frames everything below: there is no identified channel for project files or credentials to leave the machine.
Filesystem and process access. Nothing in the findings shows workspace reads, child_process calls, or shell execution in the JavaScript. The one artifact capable of running as a separate process is extension/bin/embedder.exe, the bundled command-line tool a firmware extension needs to assemble, flash or analyse a target. Shipping a compiler or CLI binary inside a firmware tool matches the stated purpose. The risk here is scope, not intent: we cannot read the binary's behaviour from static strings, and it is the piece of this package that deserves the closest look.
Credential access. There is nothing to assess. No finding references .env, .git/config, SSH key material, cloud credential files, or VS Code's secret storage. The secret category is empty, and the code-smell category is empty too, so the usual background of generic credential_* matches that would need dismissing is simply not present.
The malware signature. YARA--Base64_encoded_Executable fires at extension/bin/embedder.exe:705979, a single offset inside a compiled Windows binary. That rule matches long base64 runs, and compiled binaries produce them constantly through embedded resources, manifests, icon tables and packed assemblies. A single offset in a binary of that size, with no second-stage hit beside it, reads as a resource blob rather than a staged payload.
The obfuscation cluster. All sixteen hits land in build output. OBFUSCATION-HEX_STRING_HEAVY at extension/out/embeddercanvas/workbench/main.js:3852 and OBFUSCATION-UNICODE_HEAVY at extension/out/extension.js:151 and extension/out/webview-graph.js:38 describe a compiler's escaping habits, not hand-written hiding. OBFUSCATION-LARGE_BASE64 at extension/out/webview/index.js:1232 and extension/out/webview-review.js:86 fits inline image and font assets in a webview bundle. OBFUSCATION-FUNCTION_INDIRECT at extension/out/webview-shaders.js:78 is what minifiers do to function references, and a shader webview is exactly where a tool like this would carry GLSL string tables. The remaining forty low-severity dependency findings are bundled npm packages, expected in any extension that compiles TypeScript into a webview UI.
The strongest counterargument is that the signature sits in native machine code, where the usual 'it is just minified JavaScript' defence does not apply, and that a heavy obfuscation count plus a bundled executable is the shape of a dropper. What it does not have is a delivery mechanism: zero endpoints, zero declared permissions, zero secret reads, zero IoCs. A payload that cannot reach a server and cannot read a credential is not doing anything with the code it hides behind.
The findings are consistent with a firmware tool that ships a CLI binary and a bundled webview. The binary is worth a runtime look if anyone wants certainty about embedder.exe, but nothing here shows malicious behaviour.
Key Reasons
- Single malware-signature hit is YARA--Base64_encoded_Executable at extension/bin/embedder.exe:705979, a generic base64-blob heuristic that fires on embedded resources in compiled Windows binaries.
- All 16 obfuscation findings sit in build output under extension/out/ (main.js, extension.js, webview-shaders.js, webview/index.js), which is compiler-generated code, not hand obfuscation.
- No network endpoints, no declared permissions and no host permissions, so no identified channel for exfiltration or payload retrieval.
- Zero secret findings: nothing references .env, .git/config, SSH keys or VS Code secret storage.
- Remaining 40 findings are low-severity dependency matches from bundled npm packages.
False Positive Considerations
- Generic YARA base64-encoded-executable rule matching resource blobs in a compiled native binary
- Obfuscation heuristics firing on minified/bundled webview and extension output in extension/out/
- LARGE_BASE64 matches from inline image, font and shader assets in webview bundles
- Dependency findings from bundled npm packages inside compiled output
Reviewed 2026-10-18; recommended action: monitor; model confidence 72%.
VS Code version history
Risk trend by version
8 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