Scan Report
5 /100
wayinvideo
AI video editing and analysis suite with highlight extraction, natural language search, summarization, and transcription via wayinvideo-api.wayin.ai REST API
WayinVideo is a legitimate AI video processing CLI client that wraps the wayinvideo-api.wayin.ai REST API. All network traffic is confined to the declared API endpoint, subprocess is used only for optional system event notifications, and no credential exfiltration or sensitive path access was found.
Safe to install
Approve for use. The skill performs standard API client operations with no hidden functionality.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Undeclared subprocess usage for system events | wayinvideo-cli/wayinvideo/cli.py:40 |
| Low | Config file path expansion with user-controlled tilde | wayinvideo-cli/wayinvideo/config.py:36 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | cli.py:116 _save_json writes to ~/.wayinvideo/; cli.py:217 config writes to ~/.w… |
| Network | READ | READ | ✓ Aligned | client.py:64-165 all urllib requests go to https://wayinvideo-api.wayin.ai; cons… |
| Shell | NONE | WRITE | ✓ Aligned | cli.py:40-46 _send_event() calls subprocess.run(['openclaw', 'system', 'event', … |
| Environment | READ | READ | ✓ Aligned | client.py:25 reads WAYIN_API_KEY from os.environ; SKILL.md metadata declares WAY… |
6 findings
Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/clips wayinvideo-cli/wayinvideo/constants.py:6 Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments wayinvideo-cli/wayinvideo/constants.py:7 Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/summaries wayinvideo-cli/wayinvideo/constants.py:8 Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/transcripts wayinvideo-cli/wayinvideo/constants.py:9 Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/clips/export wayinvideo-cli/wayinvideo/constants.py:10 Medium External URL 外部 URL
https://wayinvideo-api.wayin.ai/api/v2/upload/single-file wayinvideo-cli/wayinvideo/constants.py:13 File Tree
19 files · 89.2 KB · 1964 lines Python 7f · 1538L
Markdown 12f · 426L
├─
▾
advanced
│ ├─
learning_from_videos.md
Markdown
│ └─
searching_best.md
Markdown
├─
▾
basics
│ ├─
ai-clipping.md
Markdown
│ ├─
export.md
Markdown
│ ├─
find-moments.md
Markdown
│ ├─
video-summarization.md
Markdown
│ └─
video-transcription.md
Markdown
├─
▾
references
│ ├─
caption_style.md
Markdown
│ ├─
platform_duration.md
Markdown
│ ├─
platform_ratio.md
Markdown
│ └─
supported_languages.md
Markdown
├─
▾
wayinvideo-cli
│ ├─
▾
wayinvideo
│ │ ├─
__init__.py
Python
│ │ ├─
__main__.py
Python
│ │ ├─
cli.py
Python
│ │ ├─
client.py
Python
│ │ ├─
config.py
Python
│ │ └─
constants.py
Python
│ └─
setup.py
Python
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
stdlib-only | N/A | Python 3.7+ standard library | No | No pip-installed dependencies; uses urllib.request, json, os, subprocess, argparse, mimetypes, copy, textwrap, datetime, shutil (implicit) |
Security Positives
✓ Uses only stdlib (urllib, json, os, subprocess, argparse); no third-party dependency risk
✓ API key read exclusively from environment variable WAYIN_API_KEY, never hardcoded or exfiltrated
✓ All network requests confined to declared domain wayinvideo-api.wayin.ai
✓ No base64, eval, dynamic code execution, or obfuscation
✓ No access to ~/.ssh, ~/.aws, .env, or other credential paths
✓ No reverse shell, C2, or data theft patterns
✓ File writes limited to ~/.wayinvideo/ (config + cache), appropriate for the tool's function
✓ Uploads go directly to a presigned URL, not through the host system
✓ Subprocess call is best-effort and optional (controlled by event_enabled flag)