Back to skill

Security audit

resy-fpx

Security checks for vulnerabilities and agentic risk

Overview

This skill supports legitimate Resy tasks but skips confirmation safeguards when booking with saved payment methods or cancelling real reservations.

Require explicit approval of reservation details, saved payment method, and applicable fees before booking or cancelling. Protect the account token and revoke browser pairing when finished. Both bundled files were reviewed, but external dependencies were not audited; the Review verdict concerns missing transaction controls, not evidence of malicious intent.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/resy-api.md (reported line 162)May include surrounding context.

md
--data-urlencode "time_preferred_end=21:00:00" \
  --data-urlencode "service_type_id=2"

# remove — DELETE /2/notify needs the FULL spec as query params, not just the id.
# Look up the spec from the list call above first, then:
curl -s -X DELETE "https://api.resy.com/2/notify?notify_request_id=<ID>&venue_id=123&day=2026-08-01&num_seats=2&service_type_id=2" \
  -H "Authorization: ResyAPI api_key=\"$RESY_API_KEY\"" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

Path A — you have Resy credentials (preferred, no browser needed):

sh
curl -s 'https://api.resy.com/3/auth/password' \
  -H 'Authorization: ResyAPI api_key="VbWk7s3L4KiK5fzlO7JD3Q5EYolJI7n5"' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "email=$RESY_EMAIL" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/resy-api.md (reported line 164)May include surrounding context.

md
# remove — DELETE /2/notify needs the FULL spec as query params, not just the id.
# Look up the spec from the list call above first, then:
curl -s -X DELETE "https://api.resy.com/2/notify?notify_request_id=<ID>&venue_id=123&day=2026-08-01&num_seats=2&service_type_id=2" \
  -H "Authorization: ResyAPI api_key=\"$RESY_API_KEY\"" \
  -H "x-resy-auth-token: $RESY_TOKEN" \
  -H "x-resy-universal-auth: $RESY_TOKEN" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

session cookies authenticate it):

sh
fpx post-json 'https://api.resy.com/3/auth/refresh' '{}' -p resy \
  | jq -r '.token'