openrouter-integration
Integrates applications with 300+ AI models via OpenRouter's API for model discovery, image generation, and cost tracking.
Install this skill
Security score
The openrouter-integration skill was audited on Mar 5, 2026 and we found 35 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 43 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Template literal with variable interpolation in command context
| 60 | ```bash |
Template literal with variable interpolation in command context
| 81 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Template literal with variable interpolation in command context
| 114 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Template literal with variable interpolation in command context
| 142 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Curl to non-GitHub URL
| 17 | curl -s https://openrouter.ai/api/v1/models \ |
Curl to non-GitHub URL
| 25 | curl -s https://openrouter.ai/api/v1/providers \ |
Curl to non-GitHub URL
| 33 | curl -s "https://openrouter.ai/api/v1/generation?id=$GENERATION_ID" \ |
Curl to non-GitHub URL
| 61 | curl -s https://openrouter.ai/api/v1/chat/completions \ |
Fetch to external URL
| 41 | const res = await fetch("https://openrouter.ai/api/v1/models", { |
Fetch to external URL
| 78 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
Fetch to external URL
| 111 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
Fetch to external URL
| 139 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
Access to .env file
| 43 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Access to .env file
| 81 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Access to .env file
| 83 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
Access to .env file
| 84 | "X-OpenRouter-Title": process.env.OPENROUTER_APP_NAME || "My App", |
Access to .env file
| 114 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Access to .env file
| 116 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
Access to .env file
| 117 | "X-OpenRouter-Title": process.env.OPENROUTER_APP_NAME || "My App", |
Access to .env file
| 142 | Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`, |
Access to .env file
| 144 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
Access to .env file
| 145 | "X-OpenRouter-Title": process.env.OPENROUTER_APP_NAME || "My App", |
External URL reference
| 17 | curl -s https://openrouter.ai/api/v1/models \ |
External URL reference
| 25 | curl -s https://openrouter.ai/api/v1/providers \ |
External URL reference
| 33 | curl -s "https://openrouter.ai/api/v1/generation?id=$GENERATION_ID" \ |
External URL reference
| 41 | const res = await fetch("https://openrouter.ai/api/v1/models", { |
External URL reference
| 61 | curl -s https://openrouter.ai/api/v1/chat/completions \ |
External URL reference
| 64 | -H "HTTP-Referer: ${OPENROUTER_SITE_URL:-http://localhost:3000}" \ |
External URL reference
| 78 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
External URL reference
| 83 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
External URL reference
| 111 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
External URL reference
| 116 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
External URL reference
| 139 | const res = await fetch("https://openrouter.ai/api/v1/chat/completions", { |
External URL reference
| 144 | "HTTP-Referer": process.env.OPENROUTER_SITE_URL || "http://localhost:3000", |
Install this skill with one command
/learn @bnishit/openrouter-integration