Back to skill

Security audit

Android IP Webcam monitoring and alert

Security checks for vulnerabilities and agentic risk

Overview

The skill fits its camera-monitoring purpose, but it needs review because it handles sensitive camera, audio, and device-control access without enough security and privacy boundaries.

Install only if you can keep the camera endpoint on a trusted local network, enable authentication where available, avoid public port forwarding, and are comfortable with alert images being sent to an AI service. Review or add clear start/stop controls before using any background monitoring loop.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill describes capabilities, setup, and supporting scripts, but does not define when or under what user action it should activate. In a security-monitoring context, ambiguous invocation can cause the agent to run network-facing camera interactions or background monitoring unexpectedly, increasing the chance of unintended surveillance or unauthorized data collection.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill states that alert-triggered frames are sent to an AI, but does not clearly disclose that sensitive camera images may leave the local device or environment. Because this is a home/security camera use case, the transmitted frames may contain people, interiors, or other sensitive information, creating meaningful privacy and compliance risk if users are not clearly informed and given control.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.