T08 · Insecure Dependencies
- Location
SKILL.md:32- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:32-35
Vulnerability Type: Supply-chain exposure through an unpinned dependency
Risk Level: MediumVulnerable Code
markdown ## Install ```bash pip install nostrsocialtext ### Technical Analysis The installation command retrieves the `nostrsocial` package without specifying an exact version or verifying an integrity hash. The package implementation is not included in the audited project, so its installation and runtime behavior cannot be verified from the supplied files. Because package resolution occurs when the command is executed, the installed content can differ from the version available when this Skill was reviewed. A compromised package release, distribution account, package index, build dependency, or source distribution build process could introduce attacker-controlled code. The unpinned declaration in `metadata.json` also corroborates that no exact version is enforced. ### Attack Path 1. An attacker compromises the `nostrsocial` distribution account, package release process, build dependency, or relevant package-index delivery path. 2. The attacker publishes a malicious release under the expected package name. 3. An operator follows the documented `pip install nostrsocial` instruction. 4. The package manager resolves and installs the attacker-controlled release. 5. Malicious code can run during an unsafe source-build process or when the installed package is subsequently imported and used. 6. The code operates with the permissions of the installation or application process and can access data available to that process. ### Impact Assessment Successful exploitation could permit arbitrary code execution in the installation or application context. Depending on the invoking process, accessible assets may include local contact data, identity files, application files, and sensitive environment variables such as `NOSTR_NSEC` or `NOSTRKE ...[truncated 196 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an explicitly reviewed version, such as
nostrsocial==0.1.3. - Record cryptographic hashes and install with hash verification, for example through a requirements file and
pip install --require-hashes. - Commit a reproducible lock file that pins direct and transitive dependencies.
- Prefer reviewed binary wheels from a trusted source and disable unexpected source builds where practical.
- Audit both
nostrsocialand itsnostrkeydependency before deployment. - Run installation and application execution under a dedicated, least-privileged account without unnecessary access to identity credentials.
- Ensure the version constraints in
SKILL.md, package metadata, and deployment configuration are consistent.
- Pin the dependency to an explicitly reviewed version, such as
