T08 · Insecure Dependencies
- Location
references/install.md:6- Finding
Unpinned and Unverified Third-Party CLI Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:4;references/install.md:6-24
Vulnerability Type: Supply-chain risk from unpinned and unverified executable dependencies
Risk Level: MediumThe Skill directs users and agents to install the security-sensitive
jiracand optionaljirac-mcpexecutables from multiple third-party distribution channels. No exact versions, immutable artifact references, checksums, or cryptographic signature-verification steps are provided.Relevant code from
SKILL.md:4:yaml metadata: {"openclaw":{"emoji":"🎫","requires":{"bins":["jirac"]},"install":[{"id":"github-releases","kind":"download","label":"Install jirac from GitHub Releases","url":"https://github.com/mulhamna/jira-commands/releases","extract":false}],"homepage":"https://github.com/mulhamna/jira-commands"}}Relevant code from
references/install.md:6-24:markdown ## Recommended options ### Homebrew (macOS / Linux) ```bash brew tap mulhamna/tap brew install jira-commands # Optional MCP server brew install jira-mcpCargo
bash cargo install jira-commands # Optional MCP server cargo install jira-mcpnpm
bash npm install -g @mulham28/jirac # Optional MCP server npm install -g @mulham28/jirac-mcptext ### Technical Analysis These installation commands resolve the current package or release at installation time rather than a reviewed, immutable version. The GitHub Releases URL points to a mutable release listing and does not identify a specific artifact digest. The Homebrew, Cargo, and npm commands similarly omit version constraints and integrity-verification procedures. This is security-sensitive because the installed CLI is expected to: - Access locally stored Jira authentication credentials. - Read and modify Jira issues and project data. - Perform destructive and bulk Jira operations. - Upload local attachment files. - Se ...[truncated 2209 chars]- Remediation
View remediation
Remediation Suggestions
- Pin every installation method to an exact reviewed version rather than resolving the latest available release.
- For GitHub downloads, specify the exact release tag, artifact filename, and expected SHA-256 digest.
- Publish signed checksums and document verification using an appropriate signing mechanism such as Sigstore, minisign, or GPG.
- Ensure signatures are validated against a trusted, documented publisher identity rather than a key retrieved from the same untrusted download location.
- For Cargo and npm, use exact versions and lockfile or integrity controls where supported. Avoid unconstrained global installation in automated agent environments.
- Pin the Homebrew tap or formula to a reviewed revision and verify the formula's source URL and checksum.
- Add package-ownership and publisher-identity verification instructions for each registry.
- Run the CLI with least privilege and use a Jira account limited to the projects and actions required for the task.
- Isolate the executable where practical, restrict access to unrelated local files, and review MCP configuration changes before registration.
- Establish a controlled update process that reviews release provenance and integrity before changing the pinned version.
