T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned Executable Dependencies and Quality Packs
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 26-38, 67-70, and 74-79
Vulnerability Type: Unpinned third-party executable dependencies
Risk Level: MediumVulnerable Code
bash pip install tribunal # or uv add tribunalbash npm install -g tribunalbash brew install thebotclub/tap/tribunalbash pip install tribunal && tribunal init --non-interactive && tribunal doctorbash tribunal list-packs # see available packs tribunal install python-strict tribunal install go-tdd tribunal install nextjs-qualityTechnical Analysis
The Skill directs users or agents to install the latest available
tribunalpackage from several external distribution channels without pinning a reviewed version, validating cryptographic hashes or signatures, or using a committed lockfile. The npm variant also installs the package globally.The quick-install command immediately executes the newly downloaded package. Consequently, installation and execution occur before the user has an opportunity to inspect the resolved version or its dependency graph. The optional quality-pack commands similarly do not document the packs' source, version, integrity metadata, or trust policy.
This creates a supply-chain exposure: if a package publisher account, registry release, Homebrew tap, transitive dependency, or quality-pack distribution channel is compromised, malicious executable content could be delivered through these legitimate-looking commands. The audit found no evidence that the currently referenced Tribunal package or packs are malicious; the vulnerability is the absence of dependency integrity and version controls.
Attack Path
- An attacker compromises a referenced publisher account, distribution channel, package release, transitive dependency, tap, or quality-pack source.
- The attacker publishes a malicious version under the exp ...[truncated 1337 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin Tribunal to an explicitly reviewed version in every supported installation example, such as an exact Python or npm package version.
- For Python installations, use a lockfile or requirements file containing cryptographic hashes and install with hash verification enabled.
- For npm, use a project-local dependency and committed lockfile rather than a global installation where feasible. Use reproducible installation commands that enforce the lockfile.
- Pin the Homebrew formula or document a verified release artifact and checksum instead of implicitly accepting the latest tap state.
- Separate installation from execution. Require verification of the resolved package version, provenance, and integrity before running
tribunal init. - Document the source, versioning model, signing policy, and integrity-verification procedure for quality packs.
- Pin quality packs to reviewed immutable versions or content digests if the tool supports this.
- Run initialization in a least-privileged account or isolated environment, review generated changes to
.claude/settings.json, and inspect installed hooks before enabling them. - Use trusted registries and enable available package provenance, signature, and publisher-account protections.
