T09 · Insecure Skill Coding Practices
- Location
SKILL.md:21- Finding
Plaintext Access to Sensitive Camera and Device-Control APIs
- Content
View full analysis
:8080/` ### Visual Captures - **Standard Snapshot**: `/shot.jpg` (Fastest, current frame) - **Autofocus Snapshot**: `/photoaf.jpg` (Triggers autofocus before capture, highest quality) - **Video Recording**: - Start: `/startvideo?name=alert_123` - Stop: `/stopvideo` - List recordings: `/list_videos` (returns JSON/HTML) - Download: `/v/.mp4` ### Camera Control & Settings - **Focus Distance**: `/settings/focus_distance?set=<0.0-10.0>` (0.0 is often Infinity) - **Torch (Flash)**: `/enabletorch` | `/disabletorch` - **Focus Mode**: `/settings/focusmode?set=` - **Scene Mode**: `/settings/scenemode?set=` - **White Balance**: `/settings/whitebalance?set=` ### Device Telemetry - **Sensors Data**: `/sensors.json` (Battery, light level, proximity, accelerometer) - **System Status**: `/status.json` (Camera state, recording status, uptime) ### Audio - **Audio Feed**: `/audio.wav` or `/audio.opus` (Live audio stream) ### Integration Examples (curl) ```bash # Get battery level via jq curl -s http://:8080/sensors.json | jq '.battery_level[0][1][0]' # Toggle flash remotely curl http://:8080/enabletorch ``` ``` ### Technical Analysis The Skill instructs users to access sensitive IP Webcam interfaces through unencrypted HTTP. The supplied `curl` examples do not use credentials, authentication headers, certificate validation, an encrypted tunnel, or any other access-control mechanism. These interfaces provide access to live images, live audio, stored recordings, sensor telemetry, video-recording controls, the torch, and camera settings. Plaintext ...[truncated 2247 chars]- Remediation
View remediation
