Fork-It

WarnAudited by ClawScan on May 14, 2026.

Overview

Fork-It is mostly a GitHub search helper, but its included scripts run shell commands built from user-controllable inputs and automatically use a GitHub token if present.

Review this skill before installing. Its GitHub-search purpose is understandable, but the current implementation should be fixed to avoid shell command construction and to clearly disclose any GitHub token use and scope.

Findings (5)

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 malicious or malformed argument could cause the helper to run unintended commands on the user's machine.

Why it was flagged

The script builds a shell command and executes it. Some fields used in the URL, such as --sort and --order, come from CLI arguments and are not validated or shell-escaped, so crafted input could break out of the quoted URL and run local commands.

Skill content
const cmd = `curl -s ${headers.join(' ')} "${url}"`; ... return JSON.parse(execSync(cmd, { encoding: 'utf-8', timeout: 30000 }));
Recommendation

Replace shell-based curl calls with a safe HTTP client such as fetch, or strictly validate and escape every user-controlled command component before execution.

What this means

Looking up a crafted repository string could run unintended local commands.

Why it was flagged

The repository name is incorporated into a URL that is then placed inside a shell command. The code only checks for an owner/repo shape and does not restrict characters, leaving a command-injection path if attacker-controlled input reaches this helper.

Skill content
const url = `${GITHUB_API}${path}`; ... const cmd = `curl -s ${headers.join(' ')} "${url}"`; ... execSync(cmd, { encoding: 'utf-8', timeout: 30000 })
Recommendation

Validate owner and repository names against GitHub's allowed character set and avoid shell execution for HTTP requests.

What this means

If a GitHub token is present, the skill may make authenticated GitHub requests without the user realizing which account or permissions are being used.

Why it was flagged

The script automatically uses a GitHub token from the environment, but the registry declares no required environment variables or primary credential and the visible skill instructions do not explain token scope, opt-in, or whether private repositories may be included.

Skill content
if (process.env.GITHUB_TOKEN) { headers.push(`-H "Authorization: token ${process.env.GITHUB_TOKEN}"`); }
Recommendation

Declare the optional GITHUB_TOKEN credential, document the needed scopes, prefer public-only searches unless the user opts in, and avoid placing tokens in shell command strings.

What this means

The agent may pause coding help to recommend existing projects to fork.

Why it was flagged

The skill intentionally redirects many new-development requests into GitHub search first, even for some wording that normally suggests the user wants original or dependency-free code. This is part of the skill's purpose but may surprise users.

Skill content
**Search first, code second.** ... "From scratch / Hand-write" Series (Great fork candidates)
Recommendation

Ask the user before switching from a build-from-scratch request to a fork-first workflow, especially when they explicitly request original or dependency-free work.

What this means

It may be harder to verify exactly which publisher/version produced this package.

Why it was flagged

The packaged _meta.json owner/version values do not match the registry metadata shown for owner/version. This is not proof of malicious behavior, but it is a provenance and packaging-coherence gap.

Skill content
"ownerId": "kn7aknkqf8f1f1b6sk03z7men58212tp", "version": "2.0.0"
Recommendation

Publish with consistent registry and package metadata, and include a homepage or source link for easier provenance review.