Scan Report
65 /100
openviking-context
OpenViking layered context database for AI agents — L0/L1/L2 semantic search and memory management
The skill contains an undocumented curl|bash remote script execution pattern for installing a Rust CLI component, combined with plaintext API key storage and shell RC modifications, creating a significant supply-chain and credential-theft attack surface.
Do not install this skill
Remove the curl|bash pattern from install.sh (replace with explicit binary download/verification or documented user opt-in); encrypt or use a secrets manager for API key storage; add clear documentation of all shell operations and file writes in SKILL.md.
Attack Chain 4 steps
◎
Entry User installs skill and runs install.sh, which optionally triggers curl|bash
scripts/install.sh:65⬡
Escalation Remote script fetched from GitHub raw URL and executed as root-equivalent user
scripts/install.sh:65⬡
Escalation API key stored in plaintext in ~/.openviking/ov.conf
scripts/setup-config.sh:85◉
Impact Any local attacker or malware with filesystem read access can steal the API key from ov.conf
~/.openviking/ov.confFindings 6 items
| Severity | Finding | Location |
|---|---|---|
| Critical | Undeclared curl|bash remote script execution RCE | scripts/install.sh:65 |
| High | Plaintext API key storage with no encryption or masking Credential Theft | scripts/setup-config.sh:85 |
| High | Unpinned pip install with --force-reinstall allows package substitution Supply Chain | scripts/install.sh:41 |
| High | cargo install from git URL without commit hash pinning Supply Chain | scripts/install.sh:63 |
| Medium | Shell RC modification is completely undeclared in SKILL.md Doc Mismatch | scripts/install.sh:96 |
| Medium | Server startup commands use nohup with PID tracking, could create orphaned processes Persistence | SKILL.md:94 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | SKILL.md documents filesystem writes for config and workspace |
| Shell | NONE | WRITE | ✗ Violation | scripts/install.sh:65 executes 'curl | bash' from remote URL; not declared in SK… |
| Network | READ | READ | ✓ Aligned | SKILL.md documents remote API calls for model providers |
| Environment | NONE | WRITE | ✗ Violation | install.sh:101-107 silently modifies ~/.zshrc/~/.bashrc with export statements |
| Skill Invoke | NONE | NONE | — | No skill invocation capability found |
1 Critical 1 High 10 findings
Critical Dangerous Command 危险 Shell 命令
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/crates/ov_cli/install.sh | bash scripts/install.sh:65 High API Key 疑似硬编码凭证
API_KEY="YOUR_API_KEY_HERE" scripts/setup-config.sh:85 Medium External URL 外部 URL
https://www.openviking.ai README.md:119 Medium External URL 外部 URL
https://docs.openclaw.ai/tools/creating-skills README.md:120 Medium External URL 外部 URL
https://clawhub.ai README.md:121 Medium External URL 外部 URL
http://127.0.0.1:1933 SKILL.md:98 Medium External URL 外部 URL
https://docs.litellm.ai/docs/providers SKILL.md:237 Medium External URL 外部 URL
https://build.nvidia.com/ SKILL.md:238 Medium External URL 外部 URL
https://ark.cn-beijing.volces.com/api/v3 scripts/setup-config.sh:48 Medium External URL 外部 URL
https://integrate.api.nvidia.com/v1 scripts/setup-config.sh:56 File Tree
9 files · 62.2 KB · 1892 lines Python 2f · 1021L
Shell 3f · 471L
Markdown 2f · 359L
JSON 2f · 41L
├─
▾
scripts
│ ├─
demo-token-compare.py
⚠
Python
│ ├─
install-skill.sh
Shell
│ ├─
install.sh
Shell
│ ├─
setup-config.sh
Shell
│ └─
viking.py
Python
├─
_meta.json
JSON
├─
clawhub.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
openviking | * (unpinned) | pip | No | No version pinned; --upgrade --force-reinstall allows any version |
ov_cli | * (unpinned) | cargo/git | No | cargo install from git without commit hash pinning |
Security Positives
✓ All Python scripts (viking.py, demo-token-compare.py) are readable, well-structured, and perform their documented functions without hidden behavior
✓ No base64-encoded payloads, obfuscated code, or anti-analysis techniques found
✓ No network exfiltration, C2 communication, or credential harvesting loops detected
✓ No access to ~/.ssh, ~/.aws, .env, or other sensitive credential paths
✓ No reverse shell, RCE loops, or persistence backdoors found
✓ The skill is for a legitimate open-source project (OpenViking by ByteDance/Volcengine)
✓ API endpoints are to known legitimate providers (OpenAI, Volcengine, NVIDIA, LiteLLM)