Back to skill

Security audit

Ios Keyboard Limitations

Security checks for vulnerabilities and agentic risk

Overview

This is an informational iOS keyboard-development skill that discusses platform limitations and tradeoffs, with no bundled code or hidden execution behavior.

Before using this guidance in a real keyboard app, consider that enabling keyboard Full Access is sensitive for users and should be clearly explained in the app. The skill itself is documentation-only and does not appear to install code or take action on the user's system.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Excessive Permissions

Low
Category
Privilege Escalation
Content
- Requires App Group capability in both targets

### 5. Network Requires "Full Access"
**API calls fail without user enabling "Allow Full Access" in Settings.**

- User must explicitly enable: Settings → General → Keyboard → [Keyboard Name] → Allow Full Access
- Most users won't do this
Confidence
75% confidence
Finding
Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Excessive Permissions

Low
Category
Privilege Escalation
Content
- Requires App Group capability in both targets

### 5. Network Requires "Full Access"
**API calls fail without user enabling "Allow Full Access" in Settings.**

- User must explicitly enable: Settings → General → Keyboard → [Keyboard Name] → Allow Full Access
- Most users won't do this
Confidence
75% confidence
Finding
Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Static analysis

No suspicious patterns detected.