Webhook Router

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill is a plausible webhook router, but it ships with a personal-looking public webhook URL and hook token, so using the defaults could expose or misroute your webhooks.

Do not use this skill as-is. Before installing or running it, replace the Funnel URL and hook token with your own values, rotate any token that was published, enable provider signature verification, constrain handler names to registered safe values, and decide what webhook payload data may be stored or alerted.

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

Anyone who can see the skill can learn the bundled hook token and may be able to submit spoofed webhooks to that endpoint if it is live.

Why it was flagged

The registration script embeds a fixed public endpoint and hook token instead of requiring a user-specific secret, exposing invocation authority for the hook endpoint.

Skill content
FUNNEL_URL="${FUNNEL_URL:-https://gregs-mac-mini.taila31444.ts.net}"
HOOK_TOKEN="${HOOK_TOKEN:-19e78f0288d476ee1197d4b374b6f73394abe121c12cc38a}"
Recommendation

Do not use the bundled token. Rotate any exposed hook token, remove hardcoded credentials, and require the user to provide their own Funnel URL and hook token through local configuration.

What this means

Repository, issue, release, payment, or account event details could be delivered to a host outside the user's control if they follow the defaults.

Why it was flagged

The public setup directions route third-party GitHub and Stripe webhooks to a named Tailscale host that is not derived from the installing user's environment.

Skill content
Payload URL: `https://gregs-mac-mini.taila31444.ts.net/hooks?source=github-<repo>` ... Stripe ... Endpoint URL: `https://gregs-mac-mini.taila31444.ts.net/hooks?source=stripe-payments`
Recommendation

Only configure webhooks to a Funnel URL you control. Replace all default URLs before use and verify the destination host and hook receiver.

What this means

Spoofed webhook events could trigger local alerts, logs, and handlers more easily, especially because the shared token is published in the skill.

Why it was flagged

The instructions disable provider-specific webhook secret validation and rely on a static header token that is also embedded in the artifact.

Skill content
**Secret:** (leave blank - token is in header)
Recommendation

Require provider-native signature verification, such as GitHub HMAC secrets or Stripe signing secrets, and reject unsigned or invalid payloads.

What this means

A crafted source value could potentially select an unintended executable script if one exists near the handlers directory.

Why it was flagged

The source identifier is used directly to construct an executable handler path without visible normalization against slashes, dot-dot traversal, or a registration allowlist.

Skill content
if [[ -x "${HANDLERS_DIR}/${SOURCE}.sh" ]]; then
    HANDLER="${HANDLERS_DIR}/${SOURCE}.sh"
elif [[ -x "${HANDLERS_DIR}/${SOURCE_TYPE}.sh" ]]; then
...
RESULT=$("$HANDLER" "$PAYLOAD" "$SOURCE" "$EVENT_TYPE" 2>&1)
Recommendation

Restrict source IDs to a safe pattern, resolve handler paths with realpath, ensure they remain under the handlers directory, and route only to registered allowlisted handlers.

What this means

Sensitive webhook fields or malicious text could be retained in local notes or memory and later be read by a user or agent.

Why it was flagged

The generic handler persists webhook payload content into a vault/memory store; this is purpose-aligned audit logging, but webhook bodies are untrusted and may contain sensitive data.

Skill content
--arg payload "$TRUNCATED_PAYLOAD" ... write_to_vault "$VAULT_PATH/$TIMESTAMP" "$VAULT_CONTENT" "webhook,generic,${SOURCE}"
Recommendation

Redact secrets and personal data before storage, set retention and size limits, and keep untrusted webhook logs separate from trusted agent memory.