T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
External Dependency Installed Without Cryptographic Artifact Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:19,SKILL.md:69-72,SKILL.md:113-126;manifest.json:73
Vulnerability Type: Third-party dependency and supply-chain risk
Risk Level: MediumVulnerable Code
SKILL.md:19:yaml install: "pip install sinkron==1.0.2"SKILL.md:69-72:bash # Download wheel/tarball without installing, then inspect contents pip download sinkron==X.Y.Z --no-deps -d /tmp/sinkron-inspect ls /tmp/sinkron-inspect/ # Unzip the .whl (it's a zip) and review .py source files for # unexpected network callbacks, obfuscated code, or telemetrySKILL.md:113-126:bash pip index versions sinkronbash # Preferred (pinned version) pip install sinkron==X.Y.Z # Alternative via uv (also pin version) uv tool install sinkron==X.Y.Zmanifest.json:73:json "installation": ["pip install sinkron==1.0.2", "uv tool install sinkron==1.0.2"],Technical Analysis
The reviewed project contains only documentation and a manifest; it does not include the source code of the
sinkronCLI or Python SDK. Consequently, the external package's installation behavior, network destinations, credential storage, and handling of email content cannot be verified from this artifact.Pinning the dependency to version
1.0.2limits unintended upgrades, but it does not cryptographically authenticate the package downloaded from the package index. The project provides no approved SHA-256 digest, hash-locked requirements file, vendored source, signed artifact, or reproducible-build verification. The recommended source inspection and isolated testing are advisory and are not enforced by the installation commands.Package installation and subsequent imports execute code controlled by the external distribution. Once
SINKRON_TOKENis exposed to that process, the package can access the credential and any inbox data returned through the API. This i ...[truncated 2150 chars]- Remediation
View remediation
Remediation Suggestions
- Provide a reviewed, hash-locked dependency manifest containing the exact package version and approved SHA-256 digest, and require installation with
pip install --require-hashes -r requirements.txt. - Alternatively, bundle the audited dependency source or a verified wheel with the Skill so the reviewed implementation corresponds exactly to the executed artifact.
- Publish and verify signed release artifacts, and document the expected package publisher, artifact filename, digest, and signing identity.
- Replace placeholder installation examples such as
sinkron==X.Y.Zwith a single reviewed version and its matching integrity metadata. - Perform dependency verification before exposing
SINKRON_TOKEN; installation and initial validation should occur in an environment where the credential is absent. - Run the package in a restricted container or dedicated account with minimal filesystem access, a minimal environment, and network access limited to documented Sinkron API origins.
- Document the exact API origin, TLS requirements, redirect policy, and local token-storage path so operators can enforce outbound allowlists and verify credential handling.
- Avoid passing secrets through command-line arguments where they may appear in process listings or logs. Prefer direct environment injection, standard input, or an operating-system secret store with restrictive permissions.
- Audit the external package's installation hooks, HTTP client behavior, telemetry, configuration permissions, and message-deletion authorization before production deployment.
- Provide a reviewed, hash-locked dependency manifest containing the exact package version and approved SHA-256 digest, and require installation with
