Back to skill

Security audit

Airbnb Scraper API - Stay Search, Listing Detail, Reviews

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Airbnb data API guide that discloses its API key, paid-credit usage, external calls, and optional SDK installs.

Before installing optional SDKs, prefer an isolated environment and expose only SCAVIO_API_KEY. Be aware each API call spends credits and that review text and host details describe real people, so use summaries rather than building individual profiles.

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:272
Finding
Unverified Third-Party SDK Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 272–274 and 289–291 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash pip install scavio==0.15.0 ``` ```bash npm install scavio@0.15.0 ``` ### Technical Analysis The Skill instructs users or agents to install third-party `scavio` packages from the configured Python Package Index and npm registries. Although both dependencies are pinned to version `0.15.0`, version pinning alone does not verify artifact integrity or publisher identity. No package hashes, cryptographic signatures, signed provenance, lockfiles, or instructions for validating the packages against an authoritative source are provided. Package installation may execute package-controlled build hooks or npm lifecycle scripts. Subsequent import and execution also grants the installed SDK access to the process environment, including the required `SCAVIO_API_KEY`. This behavior is not strictly necessary because the Skill already documents direct HTTPS requests to the Scavio API. The SDK installation therefore introduces avoidable local code-execution and supply-chain exposure beyond the minimum privileges required to call the service. ### Attack Path 1. A user or agent follows the documented SDK setup command. 2. The package manager resolves `scavio==0.15.0` or `scavio@0.15.0` through its configured registry or mirror. 3. An attacker compromises the relevant publisher account, registry artifact, dependency, or package-resolution path. 4. The package manager downloads and installs attacker-controlled content without independent integrity verification. 5. Malicious installation hooks, lifecycle scripts, or imported SDK code execute with the privileges of the user running the agent. 6. The malicious code reads accessible environment variables or files, potentially including `SCAVIO_API_KEY`, and can transmit them over the network or perform othe ...[truncated 709 chars]
Remediation
## Remediation Suggestions 1. Link directly to the verified official package pages and public source repositories so users can confirm package ownership and provenance. 2. Publish and document cryptographic hashes or signed attestations for released artifacts. 3. For Python, provide a requirements file with hashes and recommend installation using `pip install --require-hashes`. 4. For npm, provide a committed lockfile with integrity metadata and document how to verify it before installation. 5. Review package installation hooks and npm lifecycle scripts. Where compatible, recommend disabling lifecycle scripts during installation. 6. Advise installation in an isolated virtual environment, container, or restricted runtime without unrelated secrets or host filesystem access. 7. Retain the documented direct HTTPS API approach as the preferred minimum-privilege option when SDK functionality is unnecessary. 8. Ensure the SDK receives only `SCAVIO_API_KEY`; avoid exposing unrelated environment variables to its process. 9. Document key rotation and revocation procedures in case package or credential 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