T09 · Insecure Skill Coding Practices
- Location
SKILL.md:38- Finding
Wildcard sender allowlist exposes the AI agent to untrusted email instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent for Apple Mail setup, but it deserves review because its examples enable broad mailbox automation and all-sender email processing without strong safety warnings.
Review before installing. Use a dedicated or least-privileged mailbox where possible, avoid allowFrom ["*"] unless you intentionally want any sender to reach the agent, require manual approval before replies or archiving, and pin or verify the external Apple Mail plugin before granting macOS Automation access.
SKILL.md:38Wildcard sender allowlist exposes the AI agent to untrusted email instructions
SKILL.md:16Unpinned third-party plugin installation creates supply-chain exposure
The README promotes monitoring, filtering, replying to, and auto-archiving Apple Mail messages but does not clearly warn that the skill/plugin will access potentially sensitive mailbox contents and may take actions on a user’s behalf. In a mail-integration context, missing privacy and consent guidance can lead users to over-broaden access (for example, using permissive allowlists) or enable automated handling on personal or work accounts without understanding the exposure.
The documentation explicitly recommends or normalizes allowFrom: ["*"], which permits processing email from any sender, but does not pair that guidance with a clear warning about spam, phishing, prompt injection, and malicious email content reaching the agent. In the context of an AI email-handling plugin, broad sender access materially increases the attack surface because untrusted external users can directly influence agent behavior through inbound messages.
The skill clearly states elsewhere that AI agents can read and respond to emails, but it does not present a prominent user-facing warning about the sensitivity of granting an agent access to a mailbox and send capability. This can lead users to enable the integration without appreciating that the agent may process private messages or send outbound email on their behalf, increasing the risk of data exposure, unauthorized actions, and social-engineering amplification.
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
## Triage Overview
| Class | Count | P0 | Meaning |
| ------------------- | ----- | -- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| live-issue | 0 | 0 | Potential runtime breakage in the target OpenClaw/plugin pair. P0 only when it is not a deprecated compat seam. |
| compat-gap | 0 | - | Compatibility behavior is needed but missing from the target OpenClaw compat registry. |
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
## Triage Overview
| Class | Count | P0 | Meaning |
| ------------------- | ----- | -- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| live-issue | 0 | 0 | Potential runtime breakage in the target OpenClaw/plugin pair. P0 only when it is not a deprecated compat seam. |
| compat-gap | 0 | - | Compatibility behavior is needed but missing from the target OpenClaw compat registry. |
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
## Decision Matrix
| Fixture | Decision | Seam | Action | Evidence |
| ------------------------- | ------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------- | ------------ |
| openclaw-apple-mail-skill | plugin-upstream-fix | package-metadata | Ask the plugin to declare the plugin API range it was built against. | package.json |
| openclaw-apple-mail-skill | plugin-upstream-fix | package-entrypoint | Ask the plugin to declare openclaw.extensions or runtimeExtensions so cold import can target the correct entrypoint. | package.json |
The manifest examples normalize unsafe default usage by showing allowFrom: ["*"] across multiple email accounts and pairing that with rapid polling and archiveOnReply, which could cause the agent to process messages from any sender and modify mailbox state without clear operator awareness. In an email-channel skill, this expands exposure to prompt-injection and privacy risks because untrusted inbound email can become agent input and replies may silently archive records.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"LICENSE"
],
"peerDependencies": {
"@jehadurre/openclaw-apple-mail": "^1.0.0"
},
"scripts": {
No suspicious patterns detected.