Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
Ipcam
v1.0.0Control ONVIF Profile S/T IP cameras for PTZ, presets, discovery, and RTSP snapshot/recording with auto-discovery and multi-camera support.
⭐ 0· 741·4 current·4 all-time
by@ltpop
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (ONVIF PTZ + RTSP) match the provided scripts and SKILL.md. Required binaries (ffmpeg, python3, jq) and the python dependency onvif-zeep are appropriate for RTSP capture, ONVIF control and JSON parsing. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md and the scripts instruct the agent to run the installer, run discovery, query RTSP/ONVIF endpoints, and read/write the local config (~/.config/ipcam/config.json). The runtime actions (multicast WS-Discovery, ONVIF connections, ffmpeg RTSP probes) are within the stated scope and do not attempt to read unrelated system files or send data to third-party endpoints.
Install Mechanism
Installer is a local shell script that creates a venv and runs 'pip install onvif-zeep', and may call brew or apt-get to install ffmpeg. This uses PyPI and package managers (expected for the functionality) and does not download arbitrary archives from unknown servers. The venv is placed in the skill directory and executables are made executable. Network access is used to fetch packages from standard registries (pip/apt/brew).
Credentials
The skill reads camera-related env vars (CAM_IP, CAM_USER, CAM_PASS, CAM_RTSP_PORT, CAM_ONVIF_PORT, IPCAM_CONFIG) which are proportionate to its purpose. However, camera credentials are stored in a local config file (~/.config/ipcam/config.json) in plaintext by default; users should be aware of this sensitive storage and restrict filesystem permissions or prefer env overrides.
Persistence & Privilege
always:false and disable-model-invocation:false (normal). The skill does not request permanent platform-wide privileges or modify other skills. Installer writes a config template and makes included scripts executable—expected behavior for a local CLI skill.
Assessment
This skill appears to be what it claims: ONVIF discovery, PTZ control and RTSP snapshot/recording. Before installing, consider the following:
- Credentials: The installer creates ~/.config/ipcam/config.json which contains camera usernames/passwords in plaintext by default. Prefer environment variables (CAM_USER/CAM_PASS) or tighten permissions on the config file (chmod 600) and use a dedicated low-privilege camera account where possible.
- Package installs: install.sh creates a local Python venv and runs 'pip install onvif-zeep' and may call apt-get or brew to install ffmpeg. These pull packages from standard registries (PyPI/apt/homebrew). If you require strict provenance, inspect the onvif-zeep package and its dependencies before allowing network installs.
- Network behavior: Discovery uses WS-Discovery multicast (239.255.255.250) to scan your LAN and then connects to discovered camera IPs over ONVIF/RTSP. This is expected and limited to your local network; it does not contact external cloud endpoints in the provided code.
- Permissions: install.sh may call sudo apt-get on Linux; be aware of privilege escalation during installation. Review the script before running it on a machine you don't control.
- Origin: The registry metadata lists no homepage and the source is unknown. While the code is coherent and readable, if you require higher trust, request or inspect a published upstream repo or a maintainer identity.
If those tradeoffs are acceptable (local network scanning, storing credentials locally unless you use env overrides, and allowing pip/apt/brew installs), the skill is consistent with its purpose.Like a lobster shell, security has layers — review code before you run it.
latestvk97e4vy2evcdwvrvf19m1qph39815stf
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
📹 Clawdis
Binsffmpeg, python3, jq
