T08 · Insecure Dependencies
Warning
- Location
- README.md:5
- Finding
- Unpinned Network-Fetched npx Installer Creates a Supply-Chain Execution Risk## Vulnerability Details **File Location**: `README.md:5` **Vulnerability Type**: Unpinned third-party installer execution **Risk Level**: Medium **Complete Code Snippet**: ```markdown Requires Python 3.11+, no third-party Python dependencies. Install with `npx skills add AntreasAntoniou/session-atlas-agent-skill`, copy this folder to your agent's skill directory as session-atlas, or use scripts directly. The optional installer uses Node.js and network access. ``` ### Technical Analysis The documented installation command invokes `npx` without specifying an exact version or integrity value for the `skills` package. If the package is not already available locally, `npx` may retrieve and execute its current release from the configured npm registry. Consequently, the code executed during installation is mutable and is not part of the reviewed repository. A future malicious release, package-maintainer compromise, registry account compromise, or dependency compromise could alter installation behavior after this Skill has been audited. The documentation acknowledges network access, but it does not pin or cryptographically verify the downloaded executable. The project also documents manual copying and direct script execution, which do not introduce this particular third-party installer risk. ### Attack Path 1. An attacker compromises the npm package, its publishing account, or a transitive dependency used by the installer. 2. The attacker publishes a malicious version that retains plausible installation behavior while adding an arbitrary payload. 3. A user follows the documented unpinned `npx skills add AntreasAntoniou/session-atlas-agent-skill` command. 4. `npx` retrieves and executes the attacker-controlled package version. 5. The payload runs with the privileges of the user who launched the installer and may access resources available to that account. ### Impact Assessment Successful exploitation could permit arbitrary ...[truncated 537 chars]
- Remediation
- ## Remediation Suggestions 1. Prefer the documented manual-copy or direct-script installation methods as the default. 2. If `npx` remains supported, specify an exact audited package version, for example `npx skills@<exact-version> ...`, rather than resolving the latest release. 3. Use npm lockfiles and integrity metadata where installation is performed through a maintained wrapper project. 4. Document the expected npm package name, publisher, version, and integrity digest so users can verify package identity before execution. 5. Recommend running the installer in a least-privileged, isolated environment without unnecessary credentials or access to private transcripts. 6. Establish a release-review process for installer updates and re-audit whenever the pinned installer version changes. 7. Avoid install-time scripts or newly downloaded executable code where equivalent static installation is possible.
