Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

VideoDB Monitoring

Screen recording capabilities. Generate stream URLs, search recordings, get transcripts.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 20 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (screen recording, stream URLs, search, transcripts) match the code and runtime instructions. The primary credential (VIDEODB_API_KEY) and the npm dependency on a 'videodb' client are appropriate for the declared purpose. The skill reads/writes its own skill config entries and writes logs under ~/.videodb — all consistent with a screen-recording integration.
Instruction Scope
SKILL.md explicitly instructs starting a background monitor (nohup npx tsx monitor.ts &), running the CLI (npx tsx videodb.ts) and toggling indexing for searches/transcripts. These instructions will capture full screen and optionally system audio, start/stop indexing (which extracts/transmits visual/audio data to VideoDB), and persist state in the OpenClaw config. This is expected for the feature, but it means the agent will collect and send potentially sensitive screen and audio content to an external service when used.
Install Mechanism
No automated install spec is included (instruction-only). The package.json lists a dependency on 'videodb' from the npm registry; installing (npm install) will fetch that package. This is a standard but non-zero risk step (third-party package code will run locally). There are no downloads from miscellaneous URLs or archive extraction instructions.
Credentials
The only declared primary credential is VIDEODB_API_KEY, which is proportionate. However, the code reads the full OpenClaw config file (~/.openclaw/openclaw.json) to find its skill entry — so the process reads a file that may contain other skill configuration or secrets (it appears to only use its own section but still loads the file). The skill also persists the API key and runtime state (VIDEODB_IS_RUNNING, VIDEODB_CAPTURE_SESSION_ID, VIDEODB_MONITOR_PID) into OpenClaw config; be aware the API key will be stored in OpenClaw configuration (likely persisted in plaintext).
Persistence & Privilege
The skill runs a background monitor process and writes its PID/state to the agent config so it remains active across tasks. always:false (not force-included). The agent (model) can invoke the skill autonomously by default — so if the model is allowed to call the skill it could start recording when triggered. The skill does not appear to modify other skills' configs or request unrelated system privileges beyond screen/microphone access (which are intrinsic to screen recording).
Assessment
This skill appears to implement genuine screen-recording and search/transcript features using VideoDB and only needs your VideoDB API key. Important things to consider before installing/enabling: - Privacy: the monitor records your entire screen and (if permitted) system audio and will transmit indexed audio/visual data to VideoDB for search/transcript features — do not enable it if you will handle sensitive content you don't want uploaded. - Stored secrets: the skill writes the API key into OpenClaw config and stores session state and PID there; ensure you are comfortable storing that key in your local OpenClaw config. - Background process: the monitor runs as a detached background process (nohup) and will persist until stopped; check logs in ~/.videodb/logs and use the provided stop/restart guidance if needed. - Third-party code: using npm install will fetch the 'videodb' package from the registry; review that dependency if you require higher assurance. If you want to proceed safely: 1) inspect the 'videodb' package (or run it in a sandbox), 2) only enable/start the monitor when you need it, and 3) avoid using the skill when handling sensitive material you do not want sent to an external service.
monitor.ts:73
Shell command execution detected (child_process).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk973v0pzg98kpcx9attm18n4gs8301xz

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

📹 Clawdis
Primary envVIDEODB_API_KEY

SKILL.md

VideoDB Screen Recording Skill

Screen recording capabilities powered by VideoDB. Use this when the user asks for screen recordings, wants to search past activity, or needs transcripts.

Run commands from {baseDir} using npx tsx videodb.ts.

Prerequisites

1. Check API Key

Before using any commands, verify the API key is configured:

openclaw config get skills.entries.videodb-monitoring.env.VIDEODB_API_KEY

If not set or empty:

  • Ask the user for their VideoDB API key
  • If they provide it, set it for them:
    openclaw config set skills.entries.videodb-monitoring.env.VIDEODB_API_KEY 'sk-xxx'
    
  • If they don't have one, direct them to: https://console.videodb.io

2. Check Monitor is Running

openclaw config get skills.entries.videodb-monitoring.env.VIDEODB_IS_RUNNING

If not true, start the monitor:

cd {baseDir} && nohup npx tsx monitor.ts > ~/.videodb/logs/monitor.log 2>&1 & disown && sleep 3

Verify it started:

openclaw config get skills.entries.videodb-monitoring.env.VIDEODB_CAPTURE_SESSION_ID

If you get a session ID (e.g., cap-xxxxxxxx-...), the monitor is ready.

Commands

Get Current Timestamp

cd {baseDir} && npx tsx videodb.ts now

Returns current Unix timestamp (seconds since epoch).

Generate Stream URL

cd {baseDir} && npx tsx videodb.ts stream <start_timestamp> <end_timestamp>
cd {baseDir} && npx tsx videodb.ts stream <start_timestamp> <end_timestamp> --title "Checkout flow" --description "OpenClaw browser run"

Creates a playable recording URL for the time range. If --title or --description is provided, the generated player share page uses that metadata.

Start Indexing

Start indexing only when the user asks for search, summaries, or transcripts:

cd {baseDir} && npx tsx videodb.ts start-indexing

This starts:

  • transcript capture for system audio
  • audio indexing
  • visual indexing

You can also control them individually:

cd {baseDir} && npx tsx videodb.ts start-visual-index
cd {baseDir} && npx tsx videodb.ts start-transcript
cd {baseDir} && npx tsx videodb.ts start-audio-index

Stop Indexing

Stop indexing as soon as it is no longer needed to save cost:

cd {baseDir} && npx tsx videodb.ts stop-indexing

Individual stop commands:

cd {baseDir} && npx tsx videodb.ts stop-visual-index
cd {baseDir} && npx tsx videodb.ts stop-transcript
cd {baseDir} && npx tsx videodb.ts stop-audio-index

Search Recordings

cd {baseDir} && npx tsx videodb.ts search "user opened Amazon"

Searches indexed screen activity for matching events. If no visual index exists yet, start indexing first.

Activity Summary

cd {baseDir} && npx tsx videodb.ts summary              # last 30 minutes
cd {baseDir} && npx tsx videodb.ts summary --hours 2    # last 2 hours

Audio Transcripts

cd {baseDir} && npx tsx videodb.ts transcript           # last 30 minutes
cd {baseDir} && npx tsx videodb.ts transcript --hours 1 # last hour

Recording Workflow

When user requests screen recording of a task:

  1. Capture start time:

    cd {baseDir} && npx tsx videodb.ts now
    

    Store this as start_time.

  2. Do the work (browser actions, file editing, etc.)

  3. Capture end time:

    cd {baseDir} && npx tsx videodb.ts now
    
  4. Generate stream URL:

    cd {baseDir} && npx tsx videodb.ts stream <start_time> <end_time>
    

    Optional player metadata:

    cd {baseDir} && npx tsx videodb.ts stream <start_time> <end_time> --title "Task recording" --description "Captured during OpenClaw task execution"
    
  5. Include URL in response:

    Screen recording: https://rt.stream.videodb.io/...
    

    If the command prints a player page URL, prefer sharing that URL with the user.

Indexing is not started automatically by the monitor. If the user also wants search, summaries, or transcripts, start indexing explicitly before those commands and stop it afterwards.

Example

User: "Open example.com and send me the recording"

# Check prerequisites
openclaw config get skills.entries.videodb-monitoring.env.VIDEODB_IS_RUNNING
# true

# Start time
cd {baseDir} && npx tsx videodb.ts now
# 1709740800

# Do the work (open browser, navigate)
# ...

# End time
cd {baseDir} && npx tsx videodb.ts now
# 1709740830

# Generate URL
cd {baseDir} && npx tsx videodb.ts stream 1709740800 1709740830 --title "example.com walkthrough" --description "OpenClaw browser automation"
# 📹 Screen recording (30s): https://rt.stream.videodb.io/abc123
# Player page: https://player.videodb.io/watch?v=example-slug

Response:

Done! I opened example.com.

Screen recording: https://rt.stream.videodb.io/abc123

When to Use

User RequestCommand
"Record my screen while you do X"Use workflow above
"What did I do in the last hour?"start-indexing, then summary --hours 1, then stop-indexing
"Find when I opened the spreadsheet"start-indexing, then search "opened spreadsheet"
"What was said in that meeting?"start-indexing, then transcript
"Get the recording from 5 mins ago"stream with timestamps
"Record this and set the title/description"stream with --title and --description

Troubleshooting

If commands fail with "No capture session":

  1. Check if monitor is running: openclaw config get skills.entries.videodb-monitoring.env.VIDEODB_IS_RUNNING
  2. If not, start it (see Prerequisites above)
  3. If it shows running but still fails, restart the monitor

If summary/search/transcript say no index or no transcript:

  1. Start indexing with cd {baseDir} && npx tsx videodb.ts start-indexing
  2. Wait briefly for data to accumulate
  3. Retry the command
  4. Stop indexing with cd {baseDir} && npx tsx videodb.ts stop-indexing when done

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…