Back to skill

Security audit

Relay Knowledge CLI

Security checks across malware telemetry and agentic risk

Overview

This skill is purpose-aligned, but it commonly relies on installing a mutable external CLI that will then index and modify local repository knowledge state.

Install only if you trust the relay-knowledge upstream distribution channel and are comfortable with a local CLI indexing repository contents and maintaining durable local state. Prefer a pinned, verified release or a previously audited binary; avoid letting the agent install or upgrade the CLI automatically without reviewing the version, source, destination, and permissions.

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:86
Finding
Unpinned Installation and Execution of an External CLI Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:86-94`, `SKILL.md:231-240`, `references/cli-workflows.md:31-58`, `README.md:166-169` **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium ### Vulnerable Code `SKILL.md:86-94`: ```text Do not use source-checkout build artifacts or source builds as an installation path. This skill is intended to operate published installs only. If the binary is missing, install it from a published channel first: prefer a verified GitHub Release archive, or use `cargo install relay-knowledge` from crates.io when Cargo is the selected published package channel. Before downloading a binary from GitHub Releases or crates.io, tell the user to configure a proxy when their network requires one. Prefer standard `HTTPS_PROXY`, `HTTP_PROXY`, and `NO_PROXY` environment variables, and preserve those settings for checksum verification and follow-up diagnostics. ``` `SKILL.md:231-240`: ```text For online install or upgrades, prefer the official release path first and Cargo second: ```bash cargo install relay-knowledge relay-knowledge version check --format json ``` `version check` only reports available stable versions. It must not replace the binary automatically. Follow installer or package-manager policy for the actual upgrade. ``` `references/cli-workflows.md:31-58`: ```text Use a GitHub Release archive when the bundled asset is absent, unusable, or the user requested a specific published version that is not available in the skill assets. Before downloading, tell the user to configure proxy settings if their network needs them: ```bash export HTTPS_PROXY=http://proxy.example:8080 export HTTP_PROXY=http://proxy.example:8080 export NO_PROXY=localhost,127.0.0.1 ``` ```powershell $env:HTTPS_PROXY = "http://proxy.example:8080" $env:HTTP_PROXY = "http://proxy.example:8080" $env:NO_PROXY = "localhost,127.0.0.1" ``` Verify the archive with `checksums.txt`, then place the binary on `PATH ...[truncated 3246 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin an audited, exact CLI version rather than installing the latest registry-resolved release: ```bash cargo install relay-knowledge --version '<exact-version>' --locked ``` 2. Publish expected SHA-256 or stronger digests for each supported release artifact in a channel independent of the artifact host. Require the downloaded archive to match the pinned digest before extraction or execution. 3. Verify signed release metadata, such as Sigstore attestations or equivalent cryptographic signatures, against a pinned publisher identity. 4. Require explicit user approval before downloading, installing, or upgrading the executable. Clearly disclose the selected version, source URL, expected digest, destination, and permissions before proceeding. 5. Do not treat a checksum file downloaded from the same release as sufficient authentication. Authenticate the checksum file itself through a trusted signature or independently pinned digest. 6. Prefer a bundled, previously audited executable when available. Record its version and digest, and fail closed when verification fails rather than silently selecting a mutable installation source. 7. Run the CLI with least privilege and restrict its filesystem and network access where practical. Avoid exposing unrelated repositories, credentials, environment variables, or service-management permissions. 8. Separate normal indexing/query workflows from service installation. Service creation or persistent configuration should require a distinct, explicit user request and confirmation. ]]>
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

VirusTotal

63/63 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.