Back to skill

Security audit

Keras

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a normal Keras helper, but it asks the agent to save a broad activation preference into global memory outside its stated local storage area.

Install only if you are comfortable with the skill remembering when to activate across sessions. Prefer asking the agent not to write Keras activation preferences to MAIN memory and to keep any saved preferences only in ~/keras/memory.md after explicit consent.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
Findings (1)

T02 · Agent Memory Poisoning

Warning
Location
setup.md:15
Finding
Skill-Specific Activation Rule Written to Global Persistent Memory## Vulnerability Details **File Location**: `setup.md`, lines 15–19 **Vulnerability Type**: `T02: Agent Memory Poisoning` **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown ### 1. First: Integration Early in the conversation, understand their workflow: - "Are you using TensorFlow's Keras or standalone Keras?" - "What type of models do you usually build? (vision, NLP, tabular)" - "Should I help whenever you mention neural networks or training?" Save their activation preference to their MAIN memory. ``` ### Technical Analysis The setup instructions direct the agent to save a broad Skill activation preference to its “MAIN memory.” This target is outside the Skill’s documented local storage boundary of `~/keras/memory.md`. A global persistent activation rule can influence later sessions unrelated to the current Keras task. The proposed trigger—any mention of neural networks or training—is broad enough to activate Skill behavior in contexts where the user did not explicitly invoke this Skill. Although other project text requires consent before storing preferences, the quoted instruction directly mandates the global-memory write and does not explicitly require informed consent for that write. ### Attack Path 1. The Keras Skill is invoked when `~/keras/` has not yet been initialized. 2. The agent reads and follows `setup.md`. 3. The agent asks whether it should help whenever the user mentions neural networks or training. 4. The resulting activation preference is written to the agent’s global “MAIN memory.” 5. In a later session, an unrelated mention of neural networks or training matches the stored rule. 6. The persistent rule causes Keras-specific behavior to affect that later conversation without an explicit Skill invocation. ### Impact Assessment Successful exploitation modifies cross-session agent state rather than obtaining operating-system privileges. The resulting scope includes future conversations governed by the global memory store. ...[truncated 324 chars]
Remediation
## Remediation Suggestions 1. Remove the instruction to write activation preferences to “MAIN memory.” 2. Store Keras-specific preferences exclusively in `~/keras/memory.md`. 3. Require explicit, informed consent before persisting any activation preference. 4. Explain the exact storage path, retained value, scope, and deletion method before writing it. 5. Narrow any activation rule to explicit Keras-related requests rather than generic mentions of “neural networks” or “training.” 6. Ensure locally stored preferences are consulted only after the Skill has been explicitly invoked. 7. Add a clear opt-out and deletion workflow for previously stored preferences. 8. Align `setup.md` with `SKILL.md` and `memory-template.md` so all persistence instructions enforce the same local storage boundary.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The activation guidance is overly broad because it suggests the skill should help whenever the user mentions neural networks or training, which can cause the agent to invoke this skill outside a clearly scoped Keras-related request. Broad trigger conditions increase the chance of inappropriate context capture and unnecessary persistence of user information, especially early in a conversation before the user's intent is fully established.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The instruction to save the user's activation preference to MAIN memory does not require prior user consent at the point of storage, even though consent is only mentioned later for other preferences. This creates a privacy and policy risk because the skill directs persistent storage of behavioral preferences during initial probing, which may surprise users and lead to retention of data they did not knowingly authorize.

Static analysis

No suspicious patterns detected.