T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:27- Finding
Wildcard Sender Authorization Permits Untrusted Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 27
Vulnerability Type: Unrestricted sender authorization
Risk Level: HighVulnerable Code:
toml allowed_senders = ["*"] # Allow all senders, or list specific handlesTechnical Analysis
The documented configuration authorizes every sender through the wildcard value
["*"]. This violates the principle of least privilege because possession of an explicitly approved sender identity is not required.If this example is copied into an active gateway configuration, any person capable of messaging the associated account may be treated as an authorized sender. The precise actions available depend on the gateway and agent configuration, but the exposed functionality may include invoking agent workflows and using connected messaging capabilities.
Attack Path
- An administrator deploys the example configuration with
allowed_senders = ["*"]. - An attacker identifies or already knows the iMessage handle associated with the gateway.
- The attacker sends a message to that account.
- The wildcard rule accepts the attacker without checking against a trusted-handle allowlist.
- The attacker interacts with any gateway or agent functionality exposed to accepted senders.
Impact Assessment
An unauthorized remote sender may gain access to the functionality made available through the messaging gateway. Depending on downstream permissions, this could enable unsolicited agent requests, messaging abuse, consumption of service resources, or access to actions available to the connected agent. The repository does not establish the gateway's downstream privileges, so broader system compromise cannot be confirmed from the reviewed file alone.
- An administrator deploys the example configuration with
- Remediation
View remediation
Remediation Suggestions
-
Replace the wildcard with an explicit allowlist of trusted phone numbers or iMessage handles:
toml allowed_senders = ["+15551234567", "trusted-user@example.com"] -
Clearly label wildcard authorization as unsafe and restrict it to isolated testing, if it must be documented at all.
-
Reject access by default when
allowed_sendersis missing, empty, or malformed. -
Normalize sender identifiers before comparison while preserving exact allowlist matching.
-
Add authentication-event logging, rate limiting, and alerts for repeated unauthorized attempts.
-
Regularly review and remove sender identities that no longer require access.
-
