Back to skill

Security audit

Fuelwatch

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent project guidance, but its planned backend allows anonymous and automatic public report writes without documented server-side abuse controls.

Install only if you are comfortable reviewing backend and deployment steps before execution. Before implementing Phase 2 or Phase 3, add Supabase RLS, a trusted validation endpoint, rate limits, field allowlists, database constraints, moderation or quarantine for reports, and pinned or bundled frontend dependencies.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
references/backend-plan.md:50
Finding

Unpinned Third-Party JavaScript Loaded from a Remote CDN

Content
View full analysis
``` ### Technical Analysis The backend plan instructs the application to load the Supabase JavaScript client directly from jsDelivr using the mutable major-version selector `@2`. It does not pin an exact package version and does not specify a Subresource Integrity hash. Consequently, the JavaScript executed by visitors may change after the skill and application have been reviewed. If a compromised package release is published under the selected major version, or if the package distribution or CDN delivery chain is compromised, attacker-controlled JavaScript could execute in the application's browser origin. This is classified as `T08: Insecure Dependencies` because the risk originates from consuming a third-party executable component through an insufficiently constrained supply-chain source. The project only contains a backend plan, so the vulnerable dependency loading is proposed rather than demonstrated as deployed. ### Attack Path 1. The proposed script tag is added to the FuelWatch frontend. 2. The application requests the current `@supabase/supabase-js@2` artifact from jsDelivr whenever a user loads the page. 3. An attacker compromises the upstream package, a qualifying release, or the CDN delivery chain. 4. The mutable CDN URL begins serving attacker-controlled JavaScript without any corresponding change to the audited project. 5. Because no integrity hash is present, the browser accepts and executes the altered script. 6. The malicious script operates in the FuelWatch page context and can inspect application state, read browser-accessible credentials or tokens, alter displayed fuel reports, intercept form submissions, and make authenticated API requ ...[truncated 600 chars]
Remediation
View remediation
``` 3. Prefer bundling or self-hosting a verified dependency artifact so deployments are reproducible. 4. Commit and review dependency lock files if a package manager and build process are introduced. 5. Configure a restrictive Content Security Policy that permits scripts only from explicitly approved sources and avoids `unsafe-inline` and `unsafe-eval`. 6. Use automated dependency monitoring and promptly review security advisories before upgrading the pinned version. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
references/backend-plan.md:43
Finding

Unauthenticated Report Submission Design Lacks Server-Side Abuse Controls

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill description says to use the skill when working on FuelWatch features, fixing bugs, deploying updates, or extending the app, which is broad enough to trigger in many general development situations involving this project. Overly broad activation increases the chance an agent invokes a powerful deployment- and infrastructure-oriented skill in contexts where a narrower, safer skill would be more appropriate, expanding attack surface and increasing the risk of unintended file edits, service actions, or operational guidance.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/backend-plan.md (reported line 5)May include surrounding context.

md
## Stack
- **Database + API:** Supabase (free tier — 500MB, unlimited reads)
- **Hosting:** Vercel (free tier, auto-deploy from git)
- **Domain:** fuelwatch.co.za (register when validated)

## Supabase schema

Static analysis

No suspicious patterns detected.