Undeclared Tool Scope
- Category
- MCP Least Privilege
- Confidence
- 70% confidence
- Finding
Without declared permissions the skill's intent is opaque and cannot be validated.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears to generate Meetling meeting links and invite/share text without hidden network calls, persistence, or automatic sending.
Install only if you want a local helper that reads optional ./contacts.json recipient mappings and produces Meetling links plus invite/share text. Review generated recipients before any Claw sending path uses the returned share payload, especially because participant names without a start time are treated as an instant call.
Without declared permissions the skill's intent is opaque and cannot be validated.
The instant-call trigger rules are broad and can activate on ordinary conversational phrases like 'now', 'asap', or merely the presence of participants without a start time. That can cause unintended meeting creation and message sharing to recipients, which is a security-relevant action because it may send links or notifications without sufficiently clear user intent.
The language is inferred automatically from input text and falls back to SKILL_LANGUAGE_DEFAULT when detection is ambiguous. This can force German or English output without the user explicitly choosing a language, which is a locale policy concern under the stated rules.
The markdown includes an example that supplies participants' email addresses and meeting details via stdin, which indicates the skill may process personal contact data. The README does not include any warning about privacy implications, where that data goes, or whether external services are contacted.
The README states SKILL_LANGUAGE_DEFAULT (default: en), which suggests the skill may default responses or behavior to English. Under the stated policy, forcing or defaulting to a specific language without clear user opt-in can be a locale/language policy issue.
The manifest declares SKILL_LANGUAGE_DEFAULT, which indicates the skill may enforce a language or locale default. The file does not mention any user choice, opt-in, or justification for this locale behavior, which can conflict with language policy expectations.
This code loads participant contact mappings from ./contacts.json, which is access to user/system data relevant to meeting recipients. Although the code comments document the behavior for developers, there is no user-facing prompt, log, or other disclosure in the runtime output that the skill reads local contacts data.
No suspicious patterns detected.