Scan Report
5 /100
openrouter-connect
OpenRouter free LLM model discovery, selection, and proxy query skill
A straightforward OpenRouter free-model discovery and proxy skill with fully declared, necessary network and filesystem access. No malicious indicators, obfuscation, credential exfiltration, or hidden behavior found.
Safe to install
No action needed. The skill is safe to use.
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | READ | ✓ Aligned | SKILL.md lines 53, 58; proxy_query.py line 35-36 |
| Filesystem | READ | READ | ✓ Aligned | SKILL.md Step 0; resolve_key.py reads .env files |
| Shell | NONE | NONE | — | No subprocess/shell execution in any script |
| Environment | NONE | READ | ✓ Aligned | Scripts read os.environ for OPENROUTER_API_KEY; minor: declared implicitly in St… |
3 findings
Medium External URL 外部 URL
https://openrouter.ai/keys SKILL.md:38 Medium External URL 外部 URL
https://openrouter.ai/api/v1/models SKILL.md:53 Medium External URL 外部 URL
https://openrouter.ai/api/v1 references/python_template.md:43 File Tree
7 files · 41.3 KB · 1179 lines Markdown 4f · 754L
Python 3f · 425L
├─
▾
references
│ ├─
model_preferences.md
Markdown
│ ├─
python_template.md
Markdown
│ └─
typescript_template.md
Markdown
├─
▾
scripts
│ ├─
discover_models.py
Python
│ ├─
proxy_query.py
Python
│ └─
resolve_key.py
Python
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
openai (python_template.md) | >=1.0 | pip | No | Optional; only used in generated scaffold code, not in skill scripts themselves |
python-dotenv (python_template.md) | * | pip | No | Optional; only used in generated scaffold code, not in skill scripts themselves |
Security Positives
✓ No subprocess or shell command execution — scripts use only urllib.request for HTTP
✓ No obfuscation — all code is plain, readable Python with no base64, eval, or dynamic execution
✓ API key is used solely for OpenRouter API authentication and not exfiltrated
✓ resolve_key.py prints a masked key prefix (8 chars + '...' + last 4) rather than exposing credentials
✓ Cache files written to /tmp/ only, no sensitive path access (~/.ssh, ~/.aws, .env contents not read)
✓ No hidden HTML comments, no hidden instructions, no embedded payloads
✓ All network requests go to a single, declared legitimate endpoint (openrouter.ai)
✓ HTTP-Referer header explicitly identifies the project as openrouter-connect on GitHub
✓ No supply-chain risks — no external dependencies imported at runtime; python_template.md uses openai>=1.0 which is a standard SDK