Back to skill

Security audit

text-stats

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a simple local text-statistics tool, but its metadata understates the file and process access it actually needs.

Install only if you are comfortable with a local Python script reading the files or directories you explicitly point it at. The publisher should correct the manifest to disclose filesystem and subprocess use and remove the unnecessary Write tool permission before this is treated as cleanly permissioned.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (6)

Scope Creep

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest declares filesystem: false, yet the skill’s purpose, inputs, and workflow explicitly require reading files and directories and producing output from them. This mismatch can bypass policy gating, causing an agent or reviewer to underestimate the skill’s real access needs and approve execution under incorrect trust assumptions.

Content

No source excerpt is available for this finding.

Scope Creep

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill allows Bash and instructs operators to run python scripts/text_stats.py, but the manifest states subprocess: false. This creates a deceptive capability declaration: execution of the script necessarily involves process spawning, which can weaken sandboxing decisions and mislead downstream automation about the true execution surface.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The English activation guidance says only 'When the user needs text statistics,' which is a very broad condition without clear boundaries on what does or does not invoke the skill. This can overlap with many ordinary requests involving text, code, counting, or analysis and lacks negative examples or scope constraints.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The Chinese sections describe activation as '当用户需要文本统计器相关能力时' and '识别文本统计器相关任务,' which are broad, self-referential conditions rather than specific trigger criteria. The file does not provide negative examples or explicit limits to distinguish this skill from more general text-processing tasks.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The natural-language content in this file is entirely in Chinese, including the instruction that AI agents should read SKILL.md first and the skill summary. For organizational language/locale policy, this can be a violation when the skill effectively constrains usage to one language without any user opt-in or documented regional justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The script's natural-language interface is written in Chinese, including the description, help text, and user-facing messages, with no indication that another language can be selected. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.