Ztm Tunnel

PendingStatic analysis audit pending.

Overview

No static analysis result has been recorded yet. Pattern checks will appear here once the artifact has been analyzed.

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

If the release source, account, or network download were compromised, the user could install and run a privileged network tool system-wide.

Why it was flagged

The installer dynamically downloads the latest release archive, extracts it, and may install the resulting binary into a system path with sudo, without a pinned version, checksum, or signature verification.

Skill content
LATEST_VERSION=$(curl -s https://api.github.com/repos/flomesh-io/ztm/releases/latest | grep -o '"tag_name":.*' | cut -d'"' -f4)
...
curl -L -o "$FILENAME" "$DOWNLOAD_URL"
tar -xzf "$FILENAME"
sudo mv bin/ztm /usr/local/bin/ztm
Recommendation

Prefer a manually verified ZTM install, pin a known version, and check release signatures or checksums before running the installer.

What this means

A tunnel created with broad listen addresses or sensitive targets can unintentionally expose services to other reachable clients or mesh endpoints.

Why it was flagged

The documented tunnel commands can bind to all network interfaces and forward sensitive services such as SSH across the mesh.

Skill content
ztm tunnel open inbound home-server --listen 0.0.0.0:22 --exits <office-endpoint-id>
...
ztm tunnel open outbound home-server --targets 192.168.1.10:22
Recommendation

Use the narrowest listen address and port possible, verify the endpoint IDs and targets, and close tunnels when they are no longer needed.

What this means

A local network agent may keep running after setup and continue to provide tunnel-management capability on the machine.

Why it was flagged

The installer starts the ZTM agent as part of setup, which creates a local service the skill later uses.

Skill content
echo -e "${YELLOW}🚀 Step 3: Starting ZTM Agent...${NC}"
...
ztm start agent
Recommendation

Only start the agent when needed, understand how to stop it, and ensure localhost access to the ZTM API is appropriately protected on your system.

What this means

Anyone with access to a valid permit may be able to join or affect the intended mesh depending on ZTM policy.

Why it was flagged

Joining a mesh uses a permit file, which is authorization material for ZTM mesh membership.

Skill content
ztm join <mesh-name> --as <your-endpoint-name> --permit <permit-file.json>
Recommendation

Protect permit files, use only trusted mesh permits, and remove or rotate permits according to ZTM guidance.