before-and-after

skills-sh:vercel-labs_before-and-after__before-and-after

View source
A
92/100

First Seen

Feb 18, 2026

Last Scanned

Feb 20, 2026

Findings

8

Score

92/100

MEDIUM 1
LOW 7

Findings (8)

MEDIUM
Conditional download and install
L41

Detects patterns that check for tool existence and install if missing

which before-and-after || npm install
FIX

Replace conditional download-and-install logic with explicit dependency declarations in a manifest file (package.json, requirements.txt). Verify checksums for any runtime downloads.

FP?

Likely FP if the conditional install is documentation showing standard prerequisite checks (e.g., checking if a tool is installed before installing it).

LOW
Global package installation
L41

Detects global installation of packages which affects the host system

npm install -g @
FIX

Replace npm install -g with a local install (npm install --save-dev) or use npx with a pinned version. Global installs modify the system and risk supply chain attacks.

FP?

Likely FP if the global install is for a well-known CLI tool (e.g., typescript, eslint) in setup documentation, though the supply chain risk remains real.

LOW
Shell script file execution
L53

Detects execution of shell script files via bash/sh command or direct invocation

./scripts/upload-and-copy.sh
FIX

Replace direct shell script execution with a language-native implementation or a sandboxed executor. If shell scripts must run, restrict them to a vetted allowlist with integrity checks.

FP?

Likely FP if the match references running a script that is part of the skill's own repository (e.g., ./setup.sh) with clear, auditable contents.

LOW
Unverified npx package execution
L89

Detects npx executing packages from unverified sources without pinned versions

npx @vercel/before-and-after 
FIX

Pin the npx package to an exact version (e.g., npx @scope/package@1.2.3). Unversioned npx commands can silently install a different or malicious package version.

FP?

Likely FP if the npx command targets a well-known package in documentation context, though unpinned versions are a real supply chain concern.

LOW
Shell script file execution
L110

Detects execution of shell script files via bash/sh command or direct invocation

./scripts/upload-and-copy.sh
FIX

Replace direct shell script execution with a language-native implementation or a sandboxed executor. If shell scripts must run, restrict them to a vetted allowlist with integrity checks.

FP?

Likely FP if the match references running a script that is part of the skill's own repository (e.g., ./setup.sh) with clear, auditable contents.

LOW
Shell script file execution
L115

Detects execution of shell script files via bash/sh command or direct invocation

./scripts/upload-and-copy.sh
FIX

Replace direct shell script execution with a language-native implementation or a sandboxed executor. If shell scripts must run, restrict them to a vetted allowlist with integrity checks.

FP?

Likely FP if the match references running a script that is part of the skill's own repository (e.g., ./setup.sh) with clear, auditable contents.

LOW
Global package installation
L155

Detects global installation of packages which affects the host system

npm install -g @
FIX

Replace npm install -g with a local install (npm install --save-dev) or use npx with a pinned version. Global installs modify the system and risk supply chain attacks.

FP?

Likely FP if the global install is for a well-known CLI tool (e.g., typescript, eslint) in setup documentation, though the supply chain risk remains real.

LOW
Unverified npx package execution
L158

Detects npx executing packages from unverified sources without pinned versions

npx @vercel/before-and-after
FIX

Pin the npx package to an exact version (e.g., npx @scope/package@1.2.3). Unversioned npx commands can silently install a different or malicious package version.

FP?

Likely FP if the npx command targets a well-known package in documentation context, though unpinned versions are a real supply chain concern.