Pilot Dropbox

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This shared-folder skill is review-worthy because its example daemon automatically trusts peer messages to send or delete local files using unvalidated file names.

Only use this after reviewing and hardening the daemon. Limit it to trusted peers and topics, validate all filenames, prevent paths from escaping the shared folder, require confirmation for deletes and pull requests, and make sure any background watcher can be stopped.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

#
ASI02: Tool Misuse and Exploitation
High
What this means

A malicious or compromised peer could make the agent delete local files or send local files that were not meant to be shared.

Why it was flagged

The daemon reads a filename from an incoming event and uses it directly in rm and send-file commands. No check prevents path traversal such as '../', so a peer-controlled event could cause deletion or transfer of files outside the intended shared folder.

Skill content
file_removed) ... FILENAME=$(echo "$event" | jq -r '.filename') ... rm -f "$DROPBOX_DIR/$FILENAME" ... dropbox_pull) ... pilotctl --json send-file "$FROM" "$DROPBOX_DIR/$FILENAME"
Recommendation

Do not run this daemon as written. Validate filenames, reject slashes and '..', resolve real paths and require they stay under the shared directory, and require user approval for deletes or peer pull requests.

#
ASI07: Insecure Inter-Agent Communication
High
What this means

Files may be shared with another peer based only on an incoming message, increasing the risk of unintended disclosure.

Why it was flagged

Incoming inter-agent/pub-sub messages determine the sender, action type, filename, and file-transfer destination, but the skill does not show authorization, sender validation, or data-boundary checks before sending files.

Skill content
pilotctl --json subscribe "$PEER" "$TOPIC" | while read -r event; do ... FROM=$(echo "$event" | jq -r '.from') ... pilotctl --json send-file "$FROM" "$DROPBOX_DIR/$FILENAME"
Recommendation

Use only trusted peers and topics, add explicit sender allowlists, authenticate message origin where possible, and prompt before sending files requested by another agent.

#
ASI10: Rogue Agents
Low
What this means

The sync process may continue publishing file changes after the immediate task is finished unless the user stops it.

Why it was flagged

The watcher is explicitly started in the background and the workflow example is a long-running daemon. This is aligned with the shared-folder purpose, but it creates persistent activity the user must manage.

Skill content
fswatch -0 "$DROPBOX_DIR" | while read -d "" changed_file; do ... done &
Recommendation

Start the watcher only when needed, keep track of its process ID, provide a stop/cleanup command, and run it with the least privileges necessary.