Scan Report
45 /100
hpr-solver
Solve Linear Programming problems using HPR solver
Skill declares only LP solving with official Julia/HPR-LP downloads, but the actual implementation contains undeclared LLM API calls to OpenRouter, undeclared WhatsApp notifications to a specific phone number (+85259562906), and hardcoded user paths suggesting targeted deployment.
Use with caution
Remove undeclared external communications (OpenRouter LLM API, WhatsApp messaging). Declare all network activity and external tool usage in SKILL.md. Audit the WhatsApp notification functionality for potential credential exposure.
Attack Chain 4 steps
◎
Entry Skill masquerades as LP solver via SKILL.md with no declared external network calls
SKILL.md:1⬡
Escalation Script reads OPENROUTER_API_KEY from environment for LLM authentication
scripts/hpr_hybrid.py:325⬡
Escalation Problem data sent to external OpenRouter API for LLM parsing without user consent
scripts/hpr_hybrid.py:292◉
Impact WhatsApp notifications sent to +85259562906 revealing contact information
scripts/hpr_hybrid.py:500Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Undeclared LLM API calls to OpenRouter Doc Mismatch | scripts/hpr_hybrid.py:23 |
| High | Undeclared WhatsApp notifications Doc Mismatch | scripts/hpr_hybrid.py:500 |
| Medium | Hardcoded user-specific paths Sensitive Access | scripts/hpr_hybrid.py:488 |
| Medium | Environment variable API key access Credential Theft | scripts/hpr_hybrid.py:325 |
| Low | os.popen shell execution without sandbox RCE | scripts/hpr_hybrid.py:357 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✗ Violation | scripts/hpr_hybrid.py:357 writes temp .jl files to /tmp/ |
| Network | NONE | WRITE | ✗ Violation | scripts/hpr_hybrid.py:23,292-334 - undeclared OpenRouter API calls |
| Shell | NONE | WRITE | ✗ Violation | scripts/hpr_hybrid.py:500,509 - os.system() for WhatsApp notifications |
| Environment | NONE | READ | ✗ Violation | scripts/hpr_hybrid.py:325 reads OPENROUTER_API_KEY from env |
3 findings
Medium External URL 外部 URL
https://julialang.org/downloads/ README.md:17 Medium External URL 外部 URL
https://openrouter.ai/api/v1/chat/completions scripts/hpr_hybrid.py:23 Medium External URL 外部 URL
https://openclaw.ai scripts/hpr_hybrid.py:349 File Tree
6 files · 29.2 KB · 957 lines Python 1f · 570L
Markdown 4f · 365L
Shell 1f · 22L
├─
▾
references
│ ├─
install-manual.md
Markdown
│ └─
PROBLEM_LIBRARY.md
Markdown
├─
▾
scripts
│ ├─
hpr_hybrid.py
Python
│ └─
hprlp_solve.sh
Shell
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
urllib | stdlib | Python standard library | No | Standard library only |
Security Positives
✓ SKILL.md clearly documents the Julia and HPR-LP installation process from official sources
✓ The core LP solving functionality matches the documented behavior for MPS file handling
✓ No base64-encoded payloads or obfuscation techniques observed
✓ No credential harvesting or data exfiltration to unknown IPs
✓ The LLM API calls are for legitimate problem parsing, not malicious