Dangerous exec
- Finding
- Shell command execution detected (child_process).
Security checks across static analysis, malware telemetry, and agentic risk
The skill appears to do what it claims—trigger a Gitea/Forgejo workflow dispatch—but it uses a powerful Gitea token and can start workflows that may deploy or change systems.
Before installing, confirm you trust the skill with a Gitea/Forgejo token and use a least-privilege token scoped to the intended repositories. Treat workflow dispatch as a potentially high-impact action, especially for deployment workflows, and use dryRun or explicit user confirmation when possible.
65/65 vendors flagged this skill as clean.
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.
If invoked with the wrong repository, workflow, ref, or inputs, it could start an unintended automation job.
The skill can trigger an arbitrary specified repository workflow via the dispatch API. This is the stated purpose, but workflow dispatch can run CI/CD jobs or deployments.
const url = `${GITEA_URL}/api/v1/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}` +
`/actions/workflows/${encodeURIComponent(workflow)}/dispatches`;Use the skill only for workflows you intend to run, prefer dryRun first, and consider limiting the Gitea token to the minimum repositories and permissions needed.
The skill can act on Gitea/Forgejo with whatever workflow-dispatch permissions the configured token has.
The skill uses the Gitea token as an Authorization header to perform the workflow dispatch. This is expected for the integration, but it gives the skill the token's delegated account permissions.
"-H", `Authorization: token ${GITEA_TOKEN}`,Create a dedicated least-privilege token for only the intended Gitea/Forgejo instance and repositories.
The skill may fail if curl is not installed, and users should understand it runs a local subprocess to make the request.
The implementation launches the local curl binary to make the API request. This is purpose-aligned and not using a shell string, but it is an executable dependency not declared in the SKILL.md requirements.
const p = spawn("curl", args, { env: process.env });Ensure curl is installed and trusted, or prefer an implementation that uses Node's built-in HTTP/fetch APIs and declares all runtime dependencies.