cftunnel

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

Overview

This appears to be a legitimate Cloudflare Tunnel skill, but it can publish local services and change Cloudflare DNS using your credentials.

Install only if you intend to let an agent manage Cloudflare Tunnels and DNS. Use a scoped Cloudflare API token, verify the npm package/source, confirm every hostname and local port before exposing it, avoid exposing SSH/databases without strong access controls, and only install the persistent service if you want the tunnel to survive reboots.

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.

What this means

A mistaken command could make a private local app, database, or SSH service reachable through Cloudflare, or alter DNS records.

Why it was flagged

The skill intentionally creates public routes to local services and configures DNS, which is central to its purpose but can expose the wrong local port or hostname if misused.

Skill content
Start a local service ... `cftunnel` creates a tunnel + DNS route → the service is live at `https://hostname.domain.com`.
Recommendation

Confirm the exact hostname, zone, tunnel, and local port before use; avoid exposing sensitive services unless they have their own authentication and access controls.

What this means

The skill can act on the user's Cloudflare account within the permissions granted by the supplied key or token.

Why it was flagged

The skill requires Cloudflare account credentials to manage tunnels and DNS records. This is expected for the integration, but those credentials can be powerful.

Skill content
export CLOUDFLARE_API_KEY=<api-key> ... export CLOUDFLARE_EMAIL=<account-email> ... export CLOUDFLARE_ACCOUNT_ID=<account-id>
Recommendation

Use a narrowly scoped Cloudflare API token when possible, limited to the needed account, zone, DNS, and tunnel permissions; avoid broad global API keys.

What this means

Users are trusting the external npm package to handle Cloudflare credentials and DNS/tunnel operations safely.

Why it was flagged

The install mechanism pulls a global npm executable. This is normal for a CLI skill, but the runtime package code was not included in the provided artifacts for static review.

Skill content
node | package: cftunnel -g | creates binaries: cftunnel
Recommendation

Install from a trusted registry/source, verify the package and homepage, and consider pinning a known version before using it with production credentials.

What this means

A tunnel connector could continue running after the agent session or a reboot, keeping a local service exposed longer than intended.

Why it was flagged

The skill documents an optional persistent service. It is disclosed and purpose-aligned, but persistence changes the host beyond the current session.

Skill content
`npx cftunnel run <tunnel-id> --install-service` | Install cloudflared as a persistent system service (survives reboots).
Recommendation

Use `--install-service` only with explicit intent, document how to stop/remove the service, and periodically review active tunnels and Cloudflare DNS records.