T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Execution of an Unpinned Third-Party Package with Access to Instagram Credentials
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 4-19
Vulnerability Type: Unverified and unpinned third-party dependency execution
Risk Level: Highyaml homepage: https://github.com/arein/gram metadata: {"clawdbot":{"emoji":"📸","requires":{"bins":["gram"]},"install":[{"id":"npm","kind":"node","package":"@cyberdrk/gram","bins":["gram"],"label":"Install gram (npm)"}]}} --- # gram 📸 Instagram CLI using REST/GraphQL API + cookie auth. ## Install ```bash # npm/pnpm/bun npm install -g @cyberdrk/gram # One-shot (no install) bunx @cyberdrk/gram whoamitext ### Technical Analysis The skill directs users and supporting automation to install or immediately execute `@cyberdrk/gram` without specifying an immutable version, integrity hash, lockfile, or verified source revision. As a result, package resolution can select whatever release is current at execution time, allowing the effective code to change after this skill has been reviewed. The package is installed globally through npm or executed directly through `bunx`. Both methods run third-party package code with the permissions of the invoking user. This is especially sensitive because the documented purpose of the package requires access to Instagram session cookies, manually supplied authentication tokens, or browser cookie databases. The declared homepage belongs to the GitHub account `arein`, while the npm package uses the `cyberdrk` scope. The supplied project contains no source code, checksum, package lock, provenance statement, or other evidence that establishes the relationship between these identities or permits verification of the installed implementation. This discrepancy is not proof that the package is malicious, but it prevents the dependency from being independently validated from the audited artifact. ### Attack Path 1. A user or agent follows the installation instructions in `SKILL.md`. 2. npm or Bun resolves the muta ...[truncated 1393 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specific audited version rather than resolving the latest release.
- Record and verify the package integrity digest using a lockfile or equivalent immutable integrity mechanism.
- Verify and document the ownership relationship between the declared GitHub repository and the npm package scope.
- Include the package source in the review scope or provide a reproducible build process that maps the reviewed source revision to the published npm artifact.
- Avoid global installation and unrestricted
bunxexecution. Prefer a project-local, locked dependency executed in a restricted environment. - Disable unnecessary package lifecycle scripts during installation when supported.
- Isolate execution using a dedicated low-privilege operating-system account or sandbox, and grant access only to the specific browser profile or credential material required.
- Prefer short-lived or revocable authentication credentials and avoid exposing unrelated browser-cookie databases.
- Add package provenance verification, release-signing checks, and automated monitoring for unexpected ownership or artifact changes.
