Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md import { discoverFreeModels } from './scripts/free-models.js';
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its model-discovery purpose, but it unnecessarily asks for an OpenRouter API key that the code does not actually use.
Review before installing if you are uncomfortable with unnecessary credential handling. The model lookup behavior is narrow and non-destructive, but users should not paste or export a real OpenRouter API key for this CLI unless the package is changed to need it and provides clear secret-handling guidance.
Referenced artifact was not completely inspected
import { discoverFreeModels } from './scripts/free-models.js';
Referenced artifact was not completely inspected
import { discoverFreeModels } from './scripts/free-models.js';
Referenced artifact was not completely inspected
import { discoverFreeModels } from './scripts/free-models.js';
Referenced artifact was not completely inspected
import { discoverFreeModels } from './scripts/free-models.js';
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
const models = await fetchAllModels();
return models.filter((m) => {
const promptPrice = parseFloat(m.pricing.prompt);
return promptPrice === 0 || promptPrice < 0.0001;
});
}
The skill instructs users to place a live OpenRouter API key directly into an environment variable and shows a realistic key prefix, but provides no warning about keeping the credential secret, avoiding shell history leakage, or using scoped/rotated keys. While environment variables are a common mechanism for API auth, documentation that normalizes pasting secrets into commands without safe-handling guidance increases the chance of credential exposure through shell history, logs, screenshots, or shared terminal sessions.
The header comment and CLI checks state that OPENROUTER_API_KEY is required, implying authenticated API use. However, fetchAllModels performs an unauthenticated fetch to the public models endpoint and never includes the API key, so the documentation overstates the code's dependency on credentials.