Back to skill

Security audit

Amazon Product Data API - Search, ASIN Lookup, Offers

Security checks for vulnerabilities and agentic risk

Overview

The skill is a straightforward Scavio Amazon lookup guide with disclosed API-key use; the only notable risk is an optional third-party package install.

Install only if you are comfortable using Scavio’s paid API and exposing a Scavio API key to the process making requests. The direct HTTPS examples avoid the optional LangChain dependency; if you use the package, install it in an isolated environment and do not run pip with elevated privileges.

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:457
Finding
Unverified Third-Party Package Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 457 **Vulnerability Type**: Insecure third-party dependency installation **Risk Level**: Medium ```bash pip install langchain-scavio==4.0.2 ``` ### Technical Analysis The Skill recommends installing `langchain-scavio` from the package index configured for `pip`. Although the package version is pinned, the instruction does not verify the downloaded artifact with cryptographic hashes, identify a trusted package index, provide reviewed source provenance, or use a hash-locked dependency manifest. Version pinning improves reproducibility but does not protect against compromise of the published release, maintainer account, package registry, or configured package source. Python packages may execute code during installation or when imported. The package is also expected to read `SCAVIO_API_KEY` from the environment, making that credential accessible if the dependency is compromised. This finding does not establish that `langchain-scavio==4.0.2` is malicious. It identifies an unsafe supply-chain installation pattern that creates a remote code and secret-exposure boundary outside the audited project. ### Attack Path 1. An attacker compromises the package maintainer account, package registry, configured index, or the pinned release artifact. 2. The user follows the documented `pip install langchain-scavio==4.0.2` instruction. 3. `pip` downloads and installs the compromised artifact without validating it against a project-supplied cryptographic hash. 4. Malicious code executes during installation or when the documented package is imported. 5. The code reads accessible environment variables, including `SCAVIO_API_KEY`, and may transmit them over the network or perform other actions under the invoking user's account. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user running `pip` or importing the package. This may permit access to that use ...[truncated 499 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Mark the LangChain integration as optional and prefer the directly documented HTTPS API when the package is unnecessary. - Publish a reviewed dependency lock file containing cryptographic hashes and require installation with `pip install --require-hashes`. - Document the authoritative package source and restrict installation to a trusted index rather than inheriting arbitrary index configuration. - Provide links to the package's reviewed source repository, release tag, and build provenance. - Install the dependency in an isolated virtual environment or container under a non-privileged account. - Never run the installation with `sudo` or an administrator account. - Expose `SCAVIO_API_KEY` only to the process that requires it, use a limited-scope key if supported, and rotate the key if dependency compromise is suspected. - Incorporate dependency vulnerability, provenance, and integrity checks into release review before recommending a package version. ]]>
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:45