Back to skill

Security audit

Hotel Pricer

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent hotel-search CLI, but it under-discloses and weakly protects Amadeus API secrets and cached OAuth tokens.

Review this skill before installing. It appears intended to search hotels through Amadeus rather than steal data, but you should avoid entering real secrets as command-line arguments, prefer a user-local install path over sudo, inspect or restrict permissions on ~/.config/hotel-pricer/config.yaml, and rotate Amadeus credentials if they may have been exposed through shell history or plaintext config backups.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
cmd/config.go:24
Finding

API credentials and OAuth tokens are exposed through command-line arguments and plaintext configuration storage

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (6)

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 · amadeus/amadeus.go (reported line 19)May include surrounding context.

go
const (
	// APIBaseURL is the base URL for the Amadeus test environment.
	APIBaseURL = "https://test.api.amadeus.com"
	// tokenURL is the endpoint for obtaining an OAuth2 access token.
	tokenURL = APIBaseURL + "/v1/security/oauth2/token"
)

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 · amadeus/amadeus.go (reported line 29)May include surrounding context.

go
const (
	// APIBaseURL is the base URL for the Amadeus test environment.
	APIBaseURL = "https://test.api.amadeus.com"
	// tokenURL is the endpoint for obtaining an OAuth2 access token.
	tokenURL = APIBaseURL + "/v1/security/oauth2/token"
)

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 · cmd/search.go (reported line 47)May include surrounding context.

go
const (
	// APIBaseURL is the base URL for the Amadeus test environment.
	APIBaseURL = "https://test.api.amadeus.com"
	// tokenURL is the endpoint for obtaining an OAuth2 access token.
	tokenURL = APIBaseURL + "/v1/security/oauth2/token"
)

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · README.md (reported line 32)May include surrounding context.

md
3.  **Move the binary to your PATH:**
    ```bash
    sudo mv hotel-pricer /usr/local/bin/
    ```

## Configuration

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
83% confidence
Finding

The installation instructions tell the user to run sudo mv hotel-pricer /usr/local/bin/, which requires elevated privileges and normalizes root-assisted manual installation of an unverified compiled binary. While moving a binary into a system path is common, encouraging sudo in skill documentation increases the blast radius of mistakes or a compromised build artifact because the action is performed with administrative privileges.

Content

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

bash
# From the hotel-pricer source directory
go build
sudo mv hotel-pricer /usr/local/bin/

Configuration

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation instructs users to set an API key and secret but does not warn about secure handling, storage location, shell history exposure, or least-privilege treatment of those credentials. In a skill that manages third-party API secrets, omission of credential-safety guidance increases the chance that users will expose secrets in terminal history, logs, screenshots, or insecure local config files.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.