Back to skill

Security audit

TeacherKit AI 备课助手

Security checks for vulnerabilities and agentic risk

Overview

TeacherKit is a disclosed education prompt-generation skill with no evidence of data exfiltration, persistence, credential access, or destructive behavior.

Install only if you want a Chinese-first teaching assistant for lesson plans, quizzes, syllabi, slide outlines, and teaching scripts. Review or adjust the language setting and be aware that broad education terms may invoke the skill, but the inspected artifacts do not show hidden network access, credential use, persistence, or destructive actions.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · teacher_kit.py (reported line 160)May include surrounding context.

python
}
            )

        return prompt

    async def generate_quiz(
        self,

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · teacher_kit.py (reported line 305)May include surrounding context.

python
}
            )

        return prompt

    async def generate_quiz(
        self,

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · teacher_kit.py (reported line 455)May include surrounding context.

python
}
            )

        return prompt

    async def generate_quiz(
        self,

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · teacher_kit.py (reported line 503)May include surrounding context.

python
}
            )

        return prompt

    async def generate_quiz(
        self,

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · teacher_kit.py (reported line 547)May include surrounding context.

python
}
            )

        return prompt

    async def generate_quiz(
        self,

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill metadata advertises invocation on the broad everyday term "备课," which can appear in many ordinary education-related conversations without the user explicitly asking to invoke a tool-like skill. This creates an overbroad trigger surface that may cause unintended activation, leading to irrelevant or surprising behavior and possible context leakage into the skill flow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill instructs the agent to auto-select functions from broad natural-language descriptions, including multiple loosely defined keywords like "备课", "考试", and "PPT." This ambiguity increases the chance of unintended invocation or wrong function selection, which can route user conversations into the wrong workflow and produce outputs based on assumptions the user did not confirm.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file contains natural-language descriptions of skill behavior and output principles entirely in Chinese, including what the skill generates. Under the policy, forcing a specific language without user opt-in can be a locale/language policy violation, and there is no indication here that users may choose another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The user valve sets language to 中文 by default, which imposes a specific output language unless the user changes the setting. This is reinforced by helper logic that falls back to Chinese output when no explicit language is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The _get_lang_instruction method returns an instruction to output entirely in Chinese for any language value other than explicit English or bilingual selections. This can violate language-choice policy because users who do not opt in are still steered into a specific locale.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.