Back to skill

Security audit

OpenClaw Kazakh IME

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a disclosed Kazakh keyboard helper that modifies web text fields and does not show evidence of data theft or destructive behavior.

Install this only if you are comfortable modifying the OpenClaw control UI with a persistent browser script. It appears purpose-aligned, but it will run in the UI page, intercept its own Ctrl+Shift+K shortcut, and change attributes on text inputs; review or fix the lang attribute behavior if accessibility or locale-sensitive validation matters.

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 (7)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
在 `openclaw-kazakh-ime.js` 文件开头修改:

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file presents all operational instructions, warnings, and invocation guidance in Chinese only. Under the policy, forcing a specific language without user opt-in or a documented regional justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation states the IME only applies to text inputs and textareas, but the installation instructions require injecting a JavaScript file into the global OpenClaw control UI, which gives that script page-wide execution scope. This creates a misleading trust boundary: users may believe the script is narrowly scoped when it actually runs across the entire UI and potentially any integrated webpage context, increasing the risk of unintended input capture or broader DOM interaction if the script is buggy or later modified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script unconditionally forces lang='zh-CN' in English mode, overriding page metadata without user consent or functional justification. In a broadly injected input-handling script, this can degrade accessibility and text-processing behavior, and in some environments could misroute language-specific services or validation logic tied to locale metadata.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill description and all user-facing documentation are written entirely in Chinese, with no indication that users may choose another language or locale. Under the policy for natural-language violations, forcing a specific language without user opt-in is in scope even in documentation files.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The comment states that all key combinations except Shift are released to the system, implying system shortcuts are not intercepted. However, just above it the code captures Ctrl+Shift+K, calls preventDefault(), and uses it to toggle input mode, so the documentation contradicts the actual behavior for that shortcut.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation and state naming describe this as an English mode, but the implementation sets lang="zh-CN" on elements in that mode. That directly conflicts with the stated mode semantics and could mislead downstream tooling or browser behavior tied to language metadata.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.