AI Error Message Humanizer — Rewrite Cryptic Errors with OpenRouter
The AI review rates the findings as likely false positive, but the risk score (52/100) still counts them.
Analysis record
- Analysed
- 1 weeks ago
- Version
- v0.0.5
- Artifact
- SHA256 D44…028
- Source
- Findings (non-IoC)
Is AI Error Message Humanizer — Rewrite Cryptic Errors with OpenRouter safe?
The extension turns a cryptic error message into a plain-English one by sending that message and the code around it to a model hosted on openrouter.ai. It declares no special permissions in its manifest, which is normal for a VS Code code-action extension. The outbound traffic we recorded is a single fetch call to openrouter.ai, the same provider the extension advertises, plus link strings in its packaged build such as img.shields.io and schemas.openxmlformats.org.
The finding worth naming is NET-FETCH-extension/out/extension.js-1, a network call inside extension/out/extension.js. If that call went somewhere unrelated to the stated job, it would mean your code leaving the machine for no disclosed reason. Here the destination matches the service the extension says it uses, so the call is the feature. The scan also logged 21 domain hits; most are badge and namespace strings pulled in by the build, and two are sites carrying the author's own name.
The rest of the noise comes from how the packaged file is produced. extension/out/extension.js is bundled and minified, so code-quality rules fire on ordinary Node.js patterns like fetch and environment variables, and one bundled dependency shows up as its own finding. None of the items is a malware signature, and the scan turned up no obfuscation and no access to key files like .env or .git/config.
The real question isn't malware, it's whether you want to send code context to OpenRouter in exchange for better error messages, since the extension needs an OpenRouter API key and bills per token. That's a decision about the AI provider. The code in this package does what its description says.
No Findings
All security checks passed
Publisher Evidence
Lowciro-maciel
Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.
10 evidence rows available.
No Threats Detected
This extension passed all security checks
AI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
This extension reads the error message at your cursor, sends it plus the surrounding code to a model on OpenRouter, and offers a rewritten message as a code action. Every finding in the scan follows from that one loop.
The network finding is NET-FETCH-extension/out/extension.js-1, a fetch call in extension/out/extension.js. That path is the compiled JavaScript build output, and the destination is openrouter.ai, the provider named in the extension's own description. A single HTTP call to a model API, inside a file whose only job is to call a model API, is the product working.
The 21 domain hits break down into strings the build carried along. openrouter.ai is the API. img.shields.io is a README badge. schemas.openxmlformats.org is an XML namespace identifier, a label inside a document format rather than a host the code contacts. errors.new is a Go error-handling site that shows up in prose about error messages. ciromaciel.click and by-ciromaciel.click are the only entries not tied to a third party, and both carry the publisher's own name, which fits a docs or landing page.
On credentials: there are no secret findings. Nothing in extension/out/extension.js shows reads of .env files, .git/config, SSH keys or cloud credential files, and no hit touches VS Code's secret storage. The extension needs exactly one credential, an OpenRouter API key, because the model calls are pay-per-token. The scan does not resolve how that key is stored or where it travels beyond openrouter.ai. Anyone installing it should assume the code context around an error reaches OpenRouter, because that is the transaction being sold.
The 14 code-smell hits and the single dependency hit are pattern matches against bundled npm code inside the minified build. Those rules fire on fetch calls, process.env references and crypto imports that any Node bundle contains. No malware signature matched, no obfuscation was flagged, and nothing points at tool poisoning or a modified IDE configuration.
The strongest counterargument is that this tool ships source context off the machine to a paid API and lists two .click domains, a cheap TLD that attracts abuse. That is fair to weigh. It does not change the conclusion: both .click domains match the author's name, the confirmed outbound call is the advertised one, and no code path reads secrets or writes outside the document you invoke the action on. Users who cannot send code to a third-party model provider shouldn't install it, and that is a question about OpenRouter's terms, which this scan does not answer.
Key Reasons
- NET-FETCH-extension/out/extension.js-1 resolves to extension/out/extension.js, the compiled build output, and targets openrouter.ai, the model provider named in the extension's own description.
- No secret findings: nothing in the scan shows reads of .env, .git/config, SSH keys, cloud credential files, or VS Code secret storage.
- Most of the 21 domain hits are non-endpoints: img.shields.io is a README badge, schemas.openxmlformats.org is an XML namespace identifier, errors.new is a Go error-handling site, openrouter.ai is the stated API.
- The 14 code-smell and single dependency findings match bundled npm code inside the minified extension/out/extension.js, which is build output from any non-trivial Node extension.
- No malware signature, no obfuscation, and no tool-poisoning findings; ciromaciel.click and by-ciromaciel.click carry the publisher's own name.
False Positive Considerations
- IoC extractor harvesting README badges and XML namespace URIs as network endpoints
- Code-smell rules firing on ordinary fetch, process.env and crypto patterns in bundled JavaScript
- Dependency finding generated by a package bundled into extension/out/extension.js
- Minified compiled output treated as suspicious structure rather than webpack/tsc build artifact
Reviewed 2026-10-18; recommended action: suppress false positive; model confidence 85%.
Open VSX version history
Risk trend by version
3 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
ciro-maciel-sqlite-editor
ciro-maciel
ciro-maciel-database
ciro-maciel
Database Studio — AI Copilot, PostgreSQL, MySQL, SQLite & Redis Client
Ciro Cesar Maciel
AI SQLite Editor — NL2SQL, AI SQL Copilot & Database Browser
Ciro Cesar Maciel
ciro-maciel-rest-studio
ciro-maciel
AI Error Message Humanizer — Rewrite Cryptic Errors with OpenRouter
Ciro Cesar Maciel