Back to skill

Security audit

Hookaido Webhook Integration

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate Hookaido webhook-operations skill, but its installer and optional MCP setup make persistent local trust changes that deserve review before installation.

Install this only if you trust the Hookaido upstream binary source. Prefer the checksum-verifying fallback installer or another verified install path, keep MCP registration project-local when possible, start with the read-only MCP role, and enable queue mutations or DLQ deletion only for deliberate operational work after inspecting the affected items.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:29
Finding

Release binaries are downloaded and installed without enforced integrity verification

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
scripts/publish.sh:27
Finding

Publishing script downloads and executes a mutable npm CLI version

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared purpose focuses on webhook operations, but the metadata and workflow also include downloading binaries from GitHub, extracting archives, installing executables into user-writable locations, and source-based installation via go install. This expands the trust and attack surface into supply-chain and local-execution territory without making that elevated behavior explicit in the primary description or permission model.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared purpose focuses on webhook operations, but the metadata and workflow also include downloading binaries from GitHub, extracting archives, installing executables into user-writable locations, and source-based installation via go install. This expands the trust and attack surface into supply-chain and local-execution territory without making that elevated behavior explicit in the primary description or permission model.

Content

No source excerpt is available for this finding.

Agent Config Directory Access

High
Category
Agent Snooping
Confidence
90% confidence
Finding

The skill instructs users to modify .claude/settings.json or ~/.claude/settings.json to register an MCP server. Accessing or changing agent config directories is sensitive because it can persist new command execution pathways, alter trust boundaries, and affect future sessions beyond the immediate task.

Content

Scanner excerpt · SKILL.md (reported line 303)May include surrounding context.

Register as Claude Code MCP Plugin

Add to .claude/settings.json (or ~/.claude/settings.json for global use):

json
{

Agent Config Directory Access

High
Category
Agent Snooping
Confidence
90% confidence
Finding

Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.

Content

Scanner excerpt · references/operations.md (reported line 364)May include surrounding context.

}

text

Use `~/.claude/settings.json` for global registration across all projects.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill clearly instructs use of shell-capable commands (bash, go install, curl, CLI execution) but does not declare an explicit tool scope such as permissions or allowed-tools. In an agent environment, missing scope boundaries can allow broader-than-expected command execution and make it harder to constrain or audit what the skill may do at runtime.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 130)May include surrounding context.

md
5. Start runtime and verify health:
   - `hookaido run --config ./Hookaidofile --db ./.data/hookaido.db`
   - `hookaido run --config ./Hookaidofile --postgres-dsn "$HOOKAIDO_POSTGRES_DSN"` when `queue postgres` is selected.
   - `curl http://127.0.0.1:2019/healthz?details=1`
6. Validate end-to-end behavior:
   - ingress request accepted and queued
   - consumer `dequeue`/`ack`/`nack`/`extend` path works (HTTP pull, batch `ack`/`nack`, plus gRPC pull when enabled)

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/operations.md (reported line 168)May include surrounding context.

bash
# Dequeue
curl -sS -X POST "http://localhost:9443/pull/github/dequeue" \
  -H "Authorization: Bearer $HOOKAIDO_PULL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"batch":10,"lease_ttl":"30s","max_wait":"5s"}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file includes a concrete command to delete DLQ items via the admin API, which can permanently remove queued data. While the section provides an audit-reason header, it does not explicitly warn the user that the operation is destructive or irreversible.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/install_hookaido.sh (reported line 129)May include surrounding context.

sh
archive="${tmpdir}/${artifact}"

  echo "Downloading ${url}"
  curl --proto '=https' --tlsv1.2 -fL "$url" -o "$archive"

  actual_sha="$(normalize_sha256 "$(hash_file_sha256 "$archive")")"
  if [[ "$actual_sha" != "$expected_sha" ]]; then

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The script documents use of npx clawhub@latest login, which pulls and executes the latest published package version at runtime rather than a pinned, reviewed version. If the upstream package is compromised or a breaking/malicious release is published, a developer running the command could execute untrusted code during authentication or publishing workflows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The npx clawhub@latest whoami example relies on an unpinned latest tag, which causes execution of whatever version is currently published under that package name. In a supply-chain compromise scenario, this could run attacker-controlled code on the maintainer workstation and expose credentials or tamper with the release process.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The publish script directly executes npx clawhub@latest publish, making the release path depend on a mutable remote package version at the time of execution. Because this is a publishing workflow for a webhook-related skill, compromise of the package could alter published artifacts, steal auth tokens, or perform arbitrary code execution on the maintainer machine.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.