Back to skill

Security audit

luma-events-query

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Luma public event search helper that sends user-provided event queries to Luma and does not access credentials, persist data, or perform destructive actions.

Before installing, understand that searches you ask for will be sent to Luma's public API, including city and optional topic terms. Prefer the OpenClaw install path when possible, and be aware the alternate npx installer is not version-pinned.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (13)

Credential Access

High
Category
Privilege Escalation
Content
.DS_Store
__pycache__/
*.pyc
.env
.env.*
parse.env
credentials/
Confidence
60% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Ae1

High
Category
analysis-evasion
Content
优先跑本技能目录里的脚本(`<skill_dir>` = 本 `SKILL.md` 所在目录):
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Lp3

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding
The skill instructs the agent to make outbound network requests to the Luma API, but the manifest does not declare any explicit tool scope or permission boundary for network access. This weakens least-privilege controls and can allow unintended or unreviewed external communications when the skill is invoked.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger description contains broad phrases such as users asking to '查活动' or '最近有什么活动', which can overlap with many unrelated event-query intents. Over-broad activation can cause the agent to invoke this skill unexpectedly, resulting in unnecessary external requests and incorrect handling of requests meant for other services.

External Transmission

Medium
Category
Data Exfiltration
Content
import urllib.parse
import urllib.request

LUMA = "https://api.lu.ma/discover/get-paginated-events"
UA = "luma-events-query/1.2"

# App-style keyword + match needles.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
import urllib.parse
import urllib.request

LUMA = "https://api.lu.ma/discover/get-paginated-events"
UA = "luma-events-query/1.2"

# App-style keyword + match needles.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
import urllib.parse
import urllib.request

LUMA = "https://api.lu.ma/discover/get-paginated-events"
UA = "luma-events-query/1.2"

# App-style keyword + match needles.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
import urllib.parse
import urllib.request

LUMA = "https://api.lu.ma/discover/get-paginated-events"
UA = "luma-events-query/1.2"

# App-style keyword + match needles.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
import urllib.parse
import urllib.request

LUMA = "https://api.lu.ma/discover/get-paginated-events"
UA = "luma-events-query/1.2"

# App-style keyword + match needles.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Scope Creep

Low
Category
Excessive Agency
Content
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Natural-Language Policy Violations

Low
Confidence
94% confidence
Finding
The skill description and usage instructions are written in Chinese, but there is no indication that the skill is intentionally region-specific or that users may choose another language. Under the policy rule for language/locale, this is a natural-language constraint that should either be justified or presented as an opt-in choice.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
This code presents error messages only in Chinese (for example, '网络错误' and 'Luma 响应不是 JSON') and elsewhere uses Chinese-only help text. That can force a specific language on users without offering a language choice or documenting a justified locale restriction.

Static analysis

No suspicious patterns detected.