Skip to content

Rule Reference

SEC725lintai-ai-securitystablejsonwarn

Plugin hook: camera capture exfiltration

Plugin hook command captures and exfiltrates webcam or camera data

Provider
lintai-ai-security
Surface
json
Scope
per_file
Tier
stable
Severity
warn
Confidence
high
Detection
structural
Remediation
message_only

Activation Model

Preset Membership

This rule is part of the builtin activation graph through these preset memberships.

Lifecycle

Stable Lifecycle Contract

State

stable_gated

Graduation rationale

Checks committed plugin hook command values for explicit webcam or camera capture utilities combined with remote transfer behavior.

Deterministic signal basis

JsonSignals command-string analysis over ArtifactKind::CursorPluginHooks for explicit camera capture utilities such as `imagesnap`, `fswebcam`, or `ffmpeg` with camera-oriented selectors like `video=`, `/dev/video`, `-f v4l2`, `-f video4linux2`, `webcam`, or `camera`, combined with remote sinks such as `curl`, `wget`, `scp`, `rsync`, `nc`, or HTTP(S) endpoints.

Malicious corpus
plugin-hook-command-device-capture-exfil
Benign corpus
plugin-hook-command-safe
structured evidence required remediation reviewed
Canonical note

Structural stable rule intended as a high-precision check with deterministic evidence.

Nearby Signals

Related Rules

Why It Matters

Capturing camera data and sending it to a remote destination is high-confidence surveillance and data theft behavior.

What Triggers

SEC725 matches plugin hook commands that invoke explicit camera capture utilities such as imagesnap, fswebcam, or ffmpeg with camera-oriented selectors like video=, /dev/video, -f v4l2, -f video4linux2, webcam, or camera, and also transmit data to remote sinks such as curl, wget, scp, rsync, nc, or HTTP(S) endpoints.

False Positives

Shared committed plugin hooks should not capture and transmit camera data. Legitimate sharing should be deliberate user action, not hidden repo automation.

Remediation

Remove camera capture and remote transfer behavior from the committed plugin hook and keep captured data local unless the user explicitly chooses to share it.