T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned and Unverified Third-Party Executable Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 26-51
Vulnerability Type: Supply-chain exposure through mutable, unverified dependencies
Risk Level: MediumVulnerable Code Snippet
bash cargo install cortex-mem-mcpbash # Clone the repository git clone https://github.com/sopaco/cortex-mem.git cd cortex-mem # Build the release binary cargo build --release --bin cortex-mem-mcp # The binary will be at: # ./target/release/cortex-mem-mcp (Linux/macOS) # .\target\release\cortex-mem-mcp.exe (Windows)The instructions also direct users to download the latest release:
text Download the latest release from GitHub: - **GitHub Releases**: https://github.com/sopaco/cortex-mem/releasesA related mutable container dependency appears at
SKILL.md, line 93:bash docker run -d -p 6333:6333 qdrant/qdrantTechnical Analysis
The installation instructions retrieve and execute third-party software using mutable references:
cargo install cortex-mem-mcpdoes not specify an exact crate version.- The Git repository is cloned without checking out a fixed commit or verified signed tag.
- Users are directed to the “latest” GitHub release without signature or checksum verification.
- The Qdrant container uses an unversioned image tag and no immutable image digest.
The reviewed skill package contains no executable scripts of its own, and there is no evidence that the named upstream projects are malicious. The issue is that the effective code executed by users can change after this skill has been reviewed. Artifact integrity and reproducibility therefore depend entirely on the current state of external registries and repositories.
Attack Path
- An attacker compromises an upstream package registry account, source repository, release process, container registry, or maintainer credential.
- The attacker publishes a malicious crate version, repository revision, release binary, or container image under the expected ...[truncated 1140 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the Cargo installation to a reviewed exact version:
bash cargo install cortex-mem-mcp --version '<exact-reviewed-version>' --locked -
Pin source builds to a reviewed commit hash or signed release tag:
bash git clone https://github.com/sopaco/cortex-mem.git cd cortex-mem git checkout '<reviewed-commit-sha>' -
Publish expected SHA-256 or stronger hashes for all prebuilt binaries and require verification before execution.
-
Prefer cryptographically signed releases and document signature verification using a trusted maintainer key.
-
Pin the Qdrant image to a reviewed version and immutable digest:
bash docker run -d -p 127.0.0.1:6333:6333 \ qdrant/qdrant:<version>@sha256:<verified-digest> -
Record reviewed versions and hashes in the skill so installations remain reproducible after upstream releases change.
-
Run the MCP server and Qdrant with least privilege, isolated service accounts, restricted filesystem access, and limited outbound network access.
-
