T08 · Insecure Dependencies
- Location
SKILL.md:34- Finding
Unpinned Fulcra CLI Package Execution in Skill Workflow
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 34–44
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
bash uv tool run fulcra-api user-info uv tool run fulcra-api data-updates "1 day" uv tool run fulcra-api calendar-events "1 day" uv tool run fulcra-api calendarsBefore using new auth or calendar options, inspect live help:
bash uv tool run fulcra-api auth login --help uv tool run fulcra-api calendar-events --help uv tool run fulcra-api data-updates --helpTechnical Analysis
The workflow directs the agent or user to execute
fulcra-apithroughuv tool runwithout specifying an exact reviewed version, dependency lockfile, package hash, or verified distribution source. The executable package resolved at runtime can therefore differ from the version that existed when the skill was audited.This creates a software supply-chain trust boundary: if the upstream package, publisher account, dependency graph, or configured package registry is compromised, a malicious release may be selected and executed. The use of live command help as the authority for supported behavior further means that runtime package behavior is trusted without a locally reviewed specification.
There is no evidence in the audited project that the current
fulcra-apipackage is malicious. The vulnerability is the absence of controls preventing an altered or compromised future package from being executed.Attack Path
- An attacker compromises the package publisher, upstream dependency, or package registry used to resolve
fulcra-api. - The attacker publishes a malicious version under the expected package identity or modifies a transitive dependency.
- A user or agent follows the documented workflow and runs
uv tool run fulcra-api ...without an exact version or integrity constraint. - The package manager resolves and executes the attacker-controlled release.
- The malicious process runs ...[truncated 1025 chars]
- An attacker compromises the package publisher, upstream dependency, or package registry used to resolve
- Remediation
View remediation
Remediation Suggestions
- Pin
fulcra-apito a reviewed, exact version rather than resolving the latest available release at runtime. - Maintain a lockfile that records the complete dependency graph and use integrity hashes where supported.
- Configure
uvto use an explicitly trusted package index and prevent fallback to untrusted or unintended indexes. - Document the expected package publisher, source repository, version, and release verification process.
- Review dependency updates before changing the pinned version, including transitive dependencies and release artifacts.
- Prefer a reproducible installation step followed by execution of the verified local environment, rather than resolving a package independently on every command.
- Run the CLI with least privilege and restrict access to unrelated credentials, files, and environment variables.
- Where practical, apply network egress controls so the CLI can communicate only with required Fulcra and authentication endpoints.
- Pin
