T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned and Unreviewable Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18-25; related dependency declarations at lines 104-109
Vulnerability Type: Supply-chain exposure through an unpinned external npm package
Risk Level: MediumVulnerable Code
markdown ## Installation ### Via ClawHubhttps://clawhub.ai/raghulpasupathi/nsfw-detector-pro
text ### Via npm ```bash npm install @raghulpasupathi/nsfw-detector-protext The document also claims the following dependencies without providing a package manifest or lockfile: ```markdown ## Dependencies - **@tensorflow/tfjs-node-gpu**: ^4.0.0 - TensorFlow for GPU inference - **sharp**: ^0.32.0 - Image processing - **opencv4nodejs**: ^6.0.0 - Computer vision operations - **ffmpeg-fluent**: ^2.1.0 - Video processing - **nsfw.js**: ^3.0.0 - Pre-trained NSFW modelTechnical Analysis
The installation command does not specify an exact package version or integrity hash. Consequently, npm resolves whichever package version is selected by the registry at installation time. The reviewed project contains only
SKILL.md; it does not include the package's implementation, apackage.json, a lockfile, checksums, or vendored source code.This prevents the advertised implementation, npm lifecycle scripts, transitive dependency graph, network behavior, model provenance, and handling of analyzed content from being verified as part of this audit. The package installed by a user may also differ from the package that existed when the skill documentation was reviewed.
The dependency versions shown in the documentation use semver ranges, but no lockfile is supplied to make their resolution reproducible. Documentation alone does not prove that these are the package's complete or actual dependencies.
Attack Path
- A user follows
SKILL.mdand runsnpm install @raghulpasupathi/nsfw-detector-pro. - npm contacts the configured registry and resolves ...[truncated 1735 chars]
- A user follows
- Remediation
View remediation
Remediation Suggestions
-
Pin the primary package to a reviewed exact version, for example:
bash npm install --save-exact @raghulpasupathi/nsfw-detector-pro@1.0.0The named version must be independently reviewed before use; pinning alone does not establish trust.
-
Add a complete
package.jsonand committed npm lockfile so that direct and transitive dependency resolution is reproducible and integrity values are recorded. -
Include the detector's source code in the review scope, or link to an immutable source revision and provide a verifiable mapping between that revision and the published npm artifact.
-
Inspect the package archive before installation:
- Review lifecycle scripts and executable files.
- Verify package ownership, provenance, signatures, and publication history.
- Compare the archive against the reviewed source.
- Audit the complete transitive dependency graph.
-
During initial inspection, install in an isolated environment with lifecycle scripts disabled:
bash npm install --ignore-scripts --package-lock-onlyEnable required scripts only after they have been reviewed.
-
Run the detector with least privilege in a sandbox or container. Do not expose unnecessary host files, credentials, privileged sockets, or unrestricted outbound network access.
-
Pin model artifacts and other runtime downloads by cryptographic digest. Do not retrieve executable code or mutable model files from unverified locations at runtime.
-
Add automated dependency scanning, lockfile verification, provenance checks, and controlled update review to CI/CD.
-
Add the missing implementation and referenced example file to the project so the documented behavior can be tested and audited.
-
