Ftp Client

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: ftp-client Version: 0.1.0 The skill implements a functional FTP/FTPS client but contains a security vulnerability in `scripts/ftp-utils.mjs` where it explicitly disables SSL certificate verification (`rejectUnauthorized: false`). This configuration exposes FTPS connections to Man-in-the-Middle (MITM) attacks. While the code aligns with its stated purpose of file management and uses the legitimate `basic-ftp` library, the intentional bypass of security defaults is a high-risk flaw.

Findings (0)

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.

What this means

FTP usernames, passwords, file listings, and transferred files could be exposed or modified by a network attacker if FTPS traffic is intercepted.

Why it was flagged

For FTPS connections, the script disables TLS certificate validation by default. That is not clearly disclosed in SKILL.md and can allow man-in-the-middle interception even when the user selects FTPS.

Skill content
accessOpts.secureOptions = { rejectUnauthorized: false, };
Recommendation

Only use this with trusted servers and networks unless certificate validation is restored. Prefer changing the code to validate certificates by default and add an explicit option for self-signed servers.

What this means

A mistaken or autonomous invocation could delete remote server content.

Why it was flagged

The skill exposes destructive remote file operations, including recursive directory deletion. This is disclosed and aligned with an FTP client, but it is high-impact if invoked on the wrong path.

Skill content
node {baseDir}/scripts/delete.mjs "/remote/dir" --dir ... Remove directory recursively (including all contents)
Recommendation

Use a least-privilege FTP account, confirm remote paths before deletion or overwrite operations, and avoid granting this skill access to production directories unless needed.

What this means

Anyone or any agent workflow using this skill can perform actions allowed by the configured FTP account.

Why it was flagged

The skill requires FTP credentials in the FTP_CONNECTION environment variable. This is expected for the stated purpose, but it gives the agent the same FTP permissions as that account.

Skill content
host:port,username,password,active/passive,ftp/ftps,explicit/implicit
Recommendation

Use a dedicated FTP account with only the directories and permissions needed, and rotate the password if it may have been exposed.

What this means

A future dependency update could change behavior or introduce vulnerabilities.

Why it was flagged

The skill relies on an npm dependency with a caret version range, so future compatible versions may be installed. The dependency is central to the FTP purpose, but the version is not fully pinned.

Skill content
"dependencies": { "basic-ftp": "^5.0.5" }
Recommendation

Pin dependencies or use a lockfile/provenance review when installing in sensitive environments.