Back to skill

Security audit

Home Depot Product Data API - Search, Item Detail, Reviews

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Home Depot product-data helper that uses a disclosed Scavio API key and paid API calls, with only ordinary SDK supply-chain caution.

Before installing, understand that Scavio API calls consume credits and require SCAVIO_API_KEY. Prefer the direct HTTPS examples when possible, or install the SDK in a virtual environment with normal dependency hygiene and avoid exposing unrelated secrets.

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:211
Finding
Third-Party SDK Installation Without Artifact Integrity Verification## Vulnerability Details **File Location**: `SKILL.md:211-225` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium The Skill recommends installing third-party Python and npm packages directly from public package registries: ```bash pip install scavio==0.15.0 ``` ```python from scavio import ScavioClient client = ScavioClient() # reads SCAVIO_API_KEY ``` ```bash npm install scavio@0.15.0 ``` ### Technical Analysis The dependencies are pinned to version `0.15.0`, which reduces unintended version drift but does not authenticate the downloaded artifacts. The Skill provides no cryptographic hashes, lockfiles, package provenance checks, or reviewed source artifacts. Package installation and subsequent import may execute package-controlled installation hooks, build logic, initialization code, or runtime logic. Because the SDK is explicitly expected to read `SCAVIO_API_KEY`, compromised package code would execute in a context where that credential may be available. This is a supply-chain exposure rather than evidence that the named packages are currently malicious. Exploitation requires compromise, replacement, or malicious publication of the relevant registry artifact or its dependency chain. ### Attack Path 1. An attacker compromises a referenced registry package, maintainer account, release artifact, or transitive dependency. 2. A user follows the Skill instructions and runs `pip install scavio==0.15.0` or `npm install scavio@0.15.0`. 3. The package manager downloads the unverified artifact from the public registry. 4. Package installation hooks or later imported runtime code execute with the user's privileges. 5. Malicious code accesses environment variables such as `SCAVIO_API_KEY` and may access other resources available to that user. 6. The compromised code may disclose credentials or perform unauthorized actions within the permissions of the installation/runtime environment. ...[truncated 684 chars]
Remediation
## Remediation Suggestions 1. Prefer the documented direct HTTPS requests when SDK functionality is not required, reducing dependency and installation exposure. 2. Provide lockfiles that capture the complete transitive dependency graph. 3. Verify package artifacts using cryptographic hashes, such as pip requirements with `--require-hashes`, and use npm lockfiles with integrity metadata. 4. Verify package publisher identity, registry provenance, signatures, and release history before installation. 5. Audit the pinned package and its transitive dependencies before recommending them. 6. Disable package lifecycle scripts where feasible and compatible, such as npm installation with `--ignore-scripts`. 7. Install and execute dependencies in a least-privileged, isolated virtual environment or container. 8. Expose only `SCAVIO_API_KEY` to the runtime that needs it, and avoid making unrelated credentials or sensitive host files available. 9. Never install these dependencies as root or in a privileged host environment. 10. Document credential rotation and revocation procedures in case package compromise is suspected.
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

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:37