Back to skill

Security audit

Natural Language Response

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Chinese-focused reply formatter that changes tone and stores limited local conversation state, with no evidence of exfiltration, deception, or destructive behavior.

Install this only if you want a Chinese-oriented, casual reply-style layer that may automatically rewrite every outgoing response. Review or disable it for formal work, safety-critical answers, multilingual conversations, or any environment where local session metadata should not be retained.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (14)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 208)May include surrounding context.

清除状态(重置对话计数):

bash
rm memory/reply_state.json
# 或编辑 JSON 手动清理特定会话

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states the skill is 'automatically applied' and 'intercepts all replies sent to users,' which gives it global influence over outbound model behavior without documenting any scope limits, opt-in, or exclusions. In a prompt/skill system, broad automatic interception increases the chance of unintended modification of sensitive, safety-critical, or system-generated responses, making policy bypasses or output corruption more likely even if the stated goal is stylistic.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The README states that language support is 'currently mainly optimized for Chinese,' while the skill auto-applies to all replies. Because no user choice, opt-in, or explicit locale restriction is provided, this can conflict with language/locale policy expectations for multilingual users.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill describes capabilities that read and write local state (memory/reply_state.json) but does not declare any tool scope or permission boundaries. Undeclared file access makes the skill harder to review and constrain, and can enable broader-than-expected data access or persistence if the runtime infers capabilities automatically.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill explicitly prioritizes Chinese behavior and says its regex and processing are optimized for Chinese without any user opt-in or negotiation. While not a classic exploit primitive, it can cause unauthorized behavior changes, degraded output quality, and policy or UX issues when applied to users expecting another language or a neutral style.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The note that the skill runs automatically before message sending is a broad trigger with no precise activation conditions, exclusions, or user opt-in. A broadly auto-invoked formatter can unexpectedly alter outputs in unrelated or sensitive contexts, including formal, safety-critical, or multilingual interactions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script's user-facing output is presented in Chinese, including the installation banner and error message, with no opt-in, fallback, or indication that the skill is intended only for Chinese-speaking users. This is a natural-language locale policy issue because the file enforces a specific language for interaction without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Line L110 says there is 'No support for languages other than Chinese yet,' and the surrounding examples and topic detection design are explicitly Chinese-specific. This is a natural-language policy concern because it hard-codes a language limitation without presenting user choice or a justified region-specific scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code embeds Chinese greeting patterns, Chinese casual replacements, and Chinese-specific filler and punctuation rules as the default behavior for all formatted replies. That enforces a specific language/locale style without opt-in or documented scope, which matches the policy category for forced language or locale behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill persists per-session conversation metadata to disk even though its stated purpose is only reply-style formatting. This creates unnecessary data retention and expands the attack surface: session identifiers, timing, and topic data can accumulate locally and be accessed by other components or users on the host.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The code performs local filesystem read/write operations for state management without a clear need tied to a pure formatting skill. Unnecessary file I/O can expose conversation-derived state, enable cross-session leakage, and create security/privacy issues if the runtime environment is shared or logs/backups capture the state file.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
94% confidence
Finding

Saving session state to disk introduces persistent retention of conversation-associated data beyond the active interaction. In the context of a reply-humanization skill, that persistence is not obviously necessary, so it increases privacy risk and the chance of unintended disclosure through local access, backups, or multi-tenant environments.

Content

Scanner excerpt · scripts/reply_formatter.py (reported line 80)May include surrounding context.

python
}

    def _save_state(self):
        """Save state to file."""
        os.makedirs(os.path.dirname(self.state_file), exist_ok=True)
        with open(self.state_file, 'w', encoding='utf-8') as f:
            json.dump(self.state, f, ensure_ascii=False, indent=2)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code file contains numerous user-facing strings such as scenario labels and conversation text exclusively in Chinese. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is a locale/language policy issue, and this file provides no indication that the skill is intentionally restricted to a Chinese-language context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The value for "current_topic" is a Chinese phrase, which indicates locale-specific natural-language behavior embedded in the skill state. For all file types, locale-specific language should not be forced unless the skill offers user choice or clearly documents why a specific language is required.

Content

No source excerpt is available for this finding.