Back to skill

Security audit

setlist

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a setlist.fm lookup helper, but it incorrectly presents itself as read-only while documenting attendance actions that change a user account without confirmation.

Review this before installing if you use setlist.fm with an account API key. The lookup tools appear coherent, but the attendance tools can modify your account state and the documentation says they skip confirmation; use only if you are comfortable with that behavior or can disable/gate those tools.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

MCP Config Access

High
Category
Agent Snooping
Confidence
95% confidence
Finding

Skill accesses MCP server configuration files (mcp.json). MCP configs contain server URLs, authentication tokens, and tool definitions — reading them allows the skill to discover and potentially abuse other tool integrations.

Content

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

Option A — npx (recommended)

Add to .mcp.json in your project or ~/.claude/mcp.json:

json
{

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

md
# setlist-mcp

MCP server for setlist.fm — search concert setlists, artists, venues, and tours via natural language. Read-only (setlist.fm has no write API).

- **npm:** [npmjs.com/package/setlist-mcp](https://www.npmjs.com/package/setlist-mcp)
- **Source:** [github.com/chrischall/setlist-mcp](https://github.com/chrischall/setlist-mcp)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation explicitly markets the skill as read-only, but later exposes setlist_mark_attended and setlist_unmark_attended, which can change a user's setlist.fm account state. This mismatch can cause users or higher-level agents to invoke the skill under false assumptions, leading to unintended account modifications.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file contains contradictory guidance: it says the service is read-only because setlist.fm has no write API, yet later documents write operations affecting the user's account. Contradictory security-relevant documentation increases the chance that callers, orchestration layers, or users misclassify the skill's risk and permit unsafe actions without proper safeguards.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The attendance tools are documented as writes that 'neither asks for a confirmation step,' which removes a key safety control for account-affecting actions. In an agent setting, that creates a direct path from ambiguous natural-language requests to unintended state changes on a third-party account.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.