Back to skill

Security audit

learn-planner

Security checks for vulnerabilities and agentic risk

Overview

This is a local education helper that generates built-in learning content and only stores study progress in a disclosed local JSON file.

Reasonable to install if you want a local study helper. Be aware that progress is saved under ~/.local/share/education-skill/progress.json, and progress reset or set-topic will overwrite that local progress history without asking for confirmation.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The documented progress reset command indicates deletion of locally stored progress data without any visible warning, confirmation, or recovery guidance. In a local-only educational skill this is limited to user data loss, but it can still cause accidental destruction of study records if invoked mistakenly or surfaced through an agent workflow without clear prompting.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The usage/help text documents only 'progress show', 'progress done', and 'progress reset', but the code also implements 'progress set-topic' later. This is not merely incomplete feature detail: the undocumented command changes persisted progress state and topic tracking, so the documented interface does not fully reflect actual behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This code creates a storage directory under the user's home directory and writes progress state to progress.json. Although the script's purpose includes progress tracking, the user-facing help does not clearly disclose that running progress commands persists and overwrites local data in a hidden directory.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The progress reset branch immediately replaces the saved progress file contents with an empty state. This is a destructive operation affecting user data, and there is no confirmation prompt or stronger warning beyond the post-action message.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.