Back to skill

Security audit

Word Count

Security checks for vulnerabilities and agentic risk

Overview

This is a simple word-counting skill with minor documentation/output mismatches but no hidden access, persistence, network use, or destructive behavior.

Before installing, understand that this skill reads the file path you provide and reports counts; expect byte counts rather than true Unicode character counts unless the publisher updates the documentation or implementation.

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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (4)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The code is broadly related to file counting, but it does not accurately match the declared behavior. The description says it outputs a single summary line, while the script emits five separate labeled lines. It also claims to count characters, but uses `wc -c`, which reports bytes rather than true character count. Additionally, it prints the file path and a status line, which are undeclared output behaviors. These are material description-versus-behavior mismatches, even though the overall domain purpose is similar.

Natural-Language Policy Violations

Low
Confidence
82% confidence
Finding
The manual explicitly provides English and Korean sections, but there is no language-selection guidance or statement that these are optional/localized variants. Under the policy rule, locale handling should either offer user choice explicitly or document why a locale constraint exists; here the document presents fixed languages without that clarification.

Intent-Code Divergence

Low
Confidence
91% confidence
Finding
The comments describe counting and outputting 'characters,' but the code uses 'wc -c' and labels the result as 'BYTES'. For many inputs these differ, so the documentation's stated behavior contradicts the actual metric being reported.

Description-Behavior Mismatch

Low
Confidence
98% confidence
Finding
The manifest says the skill 'Outputs a single summary line,' but the implementation emits separate lines for file name, line count, word count, byte count, and status. This is a direct behavior mismatch in the user-visible output format, even though the core counting purpose is implemented correctly.

Static analysis

No suspicious patterns detected.