Supabase ⚡

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: supabase-query Version: 1.0.0 The skill is classified as suspicious due to its requirement for a Supabase `service_role` key, which grants 'full admin access' to the user's database, as explicitly stated in `SKILL.md`. While the primary functions in `scripts/supabase.py` (e.g., `list_users`, `count_users`) are read-only GET requests, the `run_query` function in `scripts/supabase.py` allows executing arbitrary SQL queries via a user-defined RPC. This presents a significant risk for potential SQL injection or unauthorized database manipulation if the user's RPC is vulnerable or if the feature is misused, even though the skill itself does not create or exploit such vulnerabilities and provides a disclaimer.

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.

ConcernMedium Confidence
ASI02: Tool Misuse and Exploitation
What this means

A user may believe the skill only reads analytics, but a raw SQL path could perform high-impact database actions if invoked with a privileged key and an exec_sql RPC exists.

Why it was flagged

The script contains a helper that sends arbitrary SQL to a Supabase RPC endpoint using the configured key. The visible code does not restrict the SQL to read-only statements, so if this path is exposed it could modify or delete database data.

Skill content
def run_query(sql: str): ... requests.post(f"{url}/rest/v1/rpc/exec_sql", headers=headers, json={"query": sql}, timeout=30)
Recommendation

Remove or disable arbitrary SQL execution, or enforce read-only queries and explicit user confirmation before any SQL RPC call.

What this means

The documentation could cause a user to grant a full-admin key under the impression that the skill has only read-only behavior.

Why it was flagged

These safety claims are not fully aligned with the included script, which defines a POST-based exec_sql helper capable of submitting arbitrary SQL.

Skill content
**What this skill does:**
- Makes GET requests to your Supabase project's Auth Admin API
...
**What this skill does NOT do:**
- Does not write, modify, or delete any data
Recommendation

Update the documentation to accurately disclose every write-capable or SQL-execution path, or remove those paths from the code.

What this means

Anyone or anything with this key can have powerful access to the Supabase project, and the skill can read user details such as names and emails.

Why it was flagged

The skill clearly discloses that it needs a Supabase service_role key, which is a highly privileged credential, to list and count users.

Skill content
The `service_role` key has **full admin access** to your database. This skill requires it for the Auth Admin API (listing/counting users).
Recommendation

Use a least-privilege read-only role if possible, keep the key out of shared logs or chats, and rotate it if it may have been exposed.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

Scheduled reports may repeatedly surface user names and emails after setup, which can be useful but should be intentionally managed.

Why it was flagged

The documentation describes a user-directed recurring job that can continue querying and reporting Supabase user information on a schedule.

Skill content
Set up automated daily user reports via Clawdbot cron.
Recommendation

Only create cron reports when needed, limit reported fields, and periodically review or remove scheduled jobs.