Back to skill

Security audit

Steam Games CLI

Security checks for vulnerabilities and agentic risk

Overview

This Steam-library skill is purpose-aligned and disclosed, with install and privacy cautions users should understand before use.

Before installing, confirm you trust the steam-games-cli npm package and publisher, avoid running the install with elevated privileges, and understand that the configured Steam API key and Steam ID allow the CLI to query Steam account and library metadata. Consider pinning a reviewed package version or using an isolated local install if available.

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

Unpinned Global Installation of a Third-Party Executable

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 18
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: Medium

Vulnerable Code Snippet:

bash
npm install -g steam-games-cli

Technical Analysis

The installation command retrieves the current version of steam-games-cli from the npm registry without pinning an audited version or integrity hash. Consequently, the executable installed by users may differ from the version assessed during this audit. The project provides no vendored source, lockfile, checksum, or other mechanism for reproducibly verifying the installed implementation.

The -g option installs the package globally, increasing its reach beyond an isolated project environment. Depending on the user's npm configuration and privileges, package installation may also execute npm lifecycle scripts. The documented setup subsequently supplies a Steam Web API key and Steam ID to the installed executable:

bash
steam config set-key YOUR_API_KEY
steam config set-user YOUR_STEAM_ID

Although no malicious package behavior was observed in the audited project, this installation pattern creates a supply-chain trust boundary that is not adequately constrained.

Attack Path

  1. An attacker compromises the npm package, its publisher account, or a future package release.
  2. The attacker adds a malicious lifecycle script or modifies the installed steam executable.
  3. A user follows the documented command, and npm resolves the compromised release because no version is pinned.
  4. Malicious lifecycle code may execute during the global installation under the privileges of the invoking user.
  5. During configuration or subsequent use, the compromised executable may access the supplied Steam API key, Steam ID, profile information, and library metadata.
  6. The executable could transmit accessible information or perform other actions allowed by the invoking us ...[truncated 690 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin steam-games-cli to a specifically audited version rather than resolving the latest release.
  2. Record and verify the package integrity hash and document its authoritative npm and source-repository provenance.
  3. Prefer a project-local, isolated installation over a global installation.
  4. Use a lockfile or another reproducible dependency mechanism where possible.
  5. Disable npm lifecycle scripts during installation when they are not required, then explicitly audit any scripts that must run.
  6. Review how the CLI stores and transmits the Steam API key before supplying credentials.
  7. Run the CLI with a non-privileged account and avoid installing it through elevated sudo or administrator privileges.
  8. Provide removal, update, and credential-rotation guidance for users if package compromise is suspected.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The description includes broad triggers like 'what to play' and 'game recommendations,' which can match ordinary conversation and cause the agent to invoke this skill more often than necessary. Because the skill accesses Steam account/library data and may perform remote API calls, over-broad invocation increases the chance of unintended data access or unnecessary external queries.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The setup and usage text describes configuring a Steam API key and querying library data, but it does not clearly warn that the skill makes remote calls involving Steam account information. Without upfront disclosure, users or orchestrators may invoke the skill without understanding that account-linked metadata will be sent to external Steam APIs.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.