Back to skill

Security audit

Lametric Cli

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its stated purpose of controlling LaMetric displays, with cautions around the external CLI install and visible device notifications.

Install this only if you intend to control LaMetric TIME/SKY devices. Verify the external CLI source before installing, avoid piping secrets or private logs into notifications, and confirm commands that change device state or send messages to a visible display.

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:14
Finding

Unpinned Third-Party CLI Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 14–20; related installation commands at lines 31–36
Vulnerability Type: Unpinned and mutable third-party dependencies
Risk Level: Medium

Vulnerable Code

yaml
install:
  - kind: brew
    tap: dedene/tap
    formula: lametric
    bins: [lametric]
  - kind: go
    package: github.com/dedene/lametric-cli/cmd/lametric
    bins: [lametric]

The corresponding user-facing instructions include:

bash
# Homebrew (macOS/Linux)
brew install dedene/tap/lametric

# Or Go install
go install github.com/dedene/lametric-cli/cmd/lametric@latest

Technical Analysis

The Skill installs an externally maintained CLI through a custom Homebrew tap or a Go module. Neither installation method is pinned to an immutable, audited release or commit. The Go command explicitly uses the mutable @latest selector, while the Homebrew command accepts whichever formula and artifact the external tap provides at installation time.

No checksum, cryptographic signature, commit hash, or equivalent integrity verification is specified. Consequently, the executable installed by a user can differ from the dependency reviewed when this Skill was published.

The upstream project identity is consistent with the declared homepage and author, and the audited file contains no evidence of typosquatting or an intentionally malicious dependency. The risk arises from mutable dependency resolution and potential compromise of the upstream repository, release process, package infrastructure, or Homebrew tap.

Attack Path

  1. An attacker compromises the upstream repository, release account, Go module source, Homebrew tap, or associated artifact hosting.
  2. The attacker publishes a malicious version selected by @latest or modifies the formula or artifact delivered by the custom Homebrew tap.
  3. A user or agent follows the installation instructions in SKILL.md. 4 ...[truncated 1337 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace @latest with a specific audited semantic version or, preferably, an immutable commit or release identifier.
  2. Pin the Homebrew installation to a reviewed formula revision or documented release version where the package workflow permits it.
  3. Publish trusted SHA-256 or stronger checksums for release artifacts and verify them before installation.
  4. Prefer cryptographically signed releases and document signature verification using a pinned maintainer key or trusted provenance mechanism.
  5. Record the expected upstream repository, release tag, commit hash, and artifact digest in the Skill metadata.
  6. Use reproducible builds or supply-chain provenance such as SLSA attestations when available.
  7. Avoid automatically upgrading the dependency without review. Introduce a controlled process that audits each new release before updating the pinned version and integrity values.
  8. Advise users to run the CLI with least privilege and to avoid exposing unrelated secrets in its execution environment.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 42)May include surrounding context.

Setup

  1. Get API key from LaMetric mobile app: Device Settings > API Key
  2. Run setup wizard:
bash

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes generic phrases such as "smart display," "set timer," and "notification to device" that can match many unrelated user requests. This can cause the agent to invoke the skill outside a clearly LaMetric-specific context, leading to unintended device actions or disclosure of user-supplied content to a network-connected display.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation presents notification and piping workflows without clearly warning that message content is transmitted over the network to a physical device and may be visible to others nearby. This creates a real risk that users or upstream tools pipe sensitive data, commit messages, logs, or alerts to the display unintentionally.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.