T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned Global Installation of the Supabase CLI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 26-30
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable Code:
bash # Supabase CLI (ya instalado) supabase --version # Si no está instalado npm install -g supabaseTechnical Analysis
The instructions install the mutable latest version of the
supabasenpm package globally. No reviewed version, lockfile, or integrity constraint is specified. Consequently, the package and any lifecycle scripts executed by npm may differ from the version originally assessed.Global installation increases the potential effect because package files are added to the user's global executable environment. This does not establish that the named package is malicious, but it creates avoidable supply-chain exposure if its registry account, release process, or transitive dependency chain is compromised.
Attack Path
- An attacker compromises the relevant package publication process or one of its dependencies.
- The attacker publishes a modified release containing a malicious lifecycle script or executable payload.
- A user follows the skill instructions and runs
npm install -g supabase. - npm retrieves the mutable current release and executes applicable installation scripts with the invoking user's privileges.
- The payload can access data and modify files available to that user and can place executables in the global npm environment.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user running npm. The accessible scope could include project source code, local environment variables, Supabase credentials, Vercel credentials, and files writable by that user. If the command is run with elevated privileges, the impact could extend to system-wide files and executables.
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to a specific, reviewed version, for example:
npm install -g supabase@1.2.3. - Establish a controlled process for reviewing and updating the pinned version.
- Prefer the vendor's documented installation mechanism and verify package provenance or integrity where supported.
- Avoid elevated privileges during package installation.
- Where practical, use a project-local, lockfile-controlled dependency instead of modifying the global executable environment.
- Disable lifecycle scripts during installation when they are not required and compatibility has been verified.
- Pin the CLI to a specific, reviewed version, for example:
