Back to skill

Security audit

Sinkron

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Sinkron email-inbox integration with disclosed token use and deletion capabilities, but users should handle the external package and destructive commands carefully.

Install only after confirming the Sinkron package provenance, preferably in an isolated environment first. Store SINKRON_TOKEN in a secret manager or restricted environment variable, avoid logging message contents or tokens, and require explicit human confirmation before running delete-messages or delete-inbox, especially with --force.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
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: Medium

Vulnerable 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 telemetry

SKILL.md:113-126:

bash
pip index versions sinkron
bash
# Preferred (pinned version)
pip install sinkron==X.Y.Z

# Alternative via uv (also pin version)
uv tool install sinkron==X.Y.Z

manifest.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 sinkron CLI 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.2 limits 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_TOKEN is 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

  1. 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.
  2. Alternatively, bundle the audited dependency source or a verified wheel with the Skill so the reviewed implementation corresponds exactly to the executed artifact.
  3. Publish and verify signed release artifacts, and document the expected package publisher, artifact filename, digest, and signing identity.
  4. Replace placeholder installation examples such as sinkron==X.Y.Z with a single reviewed version and its matching integrity metadata.
  5. Perform dependency verification before exposing SINKRON_TOKEN; installation and initial validation should occur in an environment where the credential is absent.
  6. 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.
  7. Document the exact API origin, TLS requirements, redirect policy, and local token-storage path so operators can enforce outbound allowlists and verify credential handling.
  8. 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.
  9. Audit the external package's installation hooks, HTTP client behavior, telemetry, configuration permissions, and message-deletion authorization before production deployment.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill documents sinkron delete-inbox [--force] without an adjacent explicit warning that the action is irreversible and may permanently destroy all inbox contents. In an automation-oriented skill, this increases the chance that an agent or operator invokes the command in the wrong context, causing preventable data loss.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The manifest advertises destructive commands (delete-messages and delete-inbox) but provides no explicit warning, safety note, or confirmation expectations in the metadata. In an agent setting, this increases the risk of accidental or overly broad deletion of inbox data, especially if an LLM or automation invokes commands from the manifest without strong human review.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.