Back to skill

Security audit

Russian Humanizer

Security checks for vulnerabilities and agentic risk

Overview

This is a Russian text editing skill with local analysis plus an optional, disclosed Glavred API check.

Install this only if you want Russian-language style cleanup. Treat analyze_glavred as a third-party upload and avoid using it on confidential drafts, personal data, customer text, or proprietary material unless sending that text to glvrd.ru is acceptable. Review auto-fixed output before using it because style cleanup can still change tone or meaning.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (29)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Sending user text to a third-party API such as glvrd.ru without clear disclosure or permissions is a concrete privacy and governance risk. In the context of an editing skill, users are likely to submit confidential documents, making undisclosed outbound transmission substantially more dangerous than the skill's friendly description suggests.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Sending user text to a third-party API such as glvrd.ru without clear disclosure or permissions is a concrete privacy and governance risk. In the context of an editing skill, users are likely to submit confidential documents, making undisclosed outbound transmission substantially more dangerous than the skill's friendly description suggests.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Sending user text to a third-party API such as glvrd.ru without clear disclosure or permissions is a concrete privacy and governance risk. In the context of an editing skill, users are likely to submit confidential documents, making undisclosed outbound transmission substantially more dangerous than the skill's friendly description suggests.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

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 presents the plugin as operating specifically on Russian text and frames its purpose around enforcing a Russian writing style. Under the policy, forcing a specific language or locale without opt-in can be a natural-language policy violation unless the limitation is explicitly justified or optional.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly presents automatic text cleanup before sending content to the user, but it does not warn that the tool may alter meaning, tone, or important qualifiers without human review. In an agent setting, silent post-processing can cause integrity issues, including unintended factual drift, removal of safety caveats, or misrepresentation of the original response.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The README advertises integration with the external Glavred API but gives no privacy or data-handling warning about transmitting text off-system. If users pass drafts, prompts, customer content, or sensitive internal text, this can create confidentiality and compliance risks because data leaves the local environment unexpectedly.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
85% confidence
Finding

The skill instructs the agent to read local reference files and the supplied findings indicate external network behavior, yet the manifest does not declare any tool scope such as permissions or allowed-tools. Undeclared file and network access increases the risk of silent data exposure because user-provided text may be sent to external services or local files may be accessed without transparent consent boundaries.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The description limits the skill to Russian-language text ("русскоязычного текста") and the document repeatedly frames operation around Russian only. There is no user choice, opt-in language selection, or documented policy justification for this locale restriction.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The invocation trigger covers broad requests like 'humanize' or 'rewrite document,' which can cause the skill to activate on common editing tasks unexpectedly. In combination with file-reading and possible network behavior, overly broad triggering raises the chance that sensitive content is processed or transmitted when the user did not intend to invoke this specific workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file explicitly defines the prompt as 'Русский язык' and instructs the model to generate text in natural Russian as its main task. This imposes a language constraint across the skill without indicating that users may choose another language or opt in to the restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The natural-language identifiers and test descriptions indicate the skill is specifically designed around Russian text processing (for example, "Russian Humanizer Plugin" and "analyze_russian_slop"). Under the stated policy, forcing a specific language without user opt-in or a clearly documented justified locale constraint is a reportable issue, and this file does not show any opt-in or justification.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The plugin description and tool parameter text explicitly require and target only Russian-language text (на русском языке), but the file does not offer language choice or explain a justified region-specific constraint. This is a natural-language locale restriction embedded in user-facing descriptions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill metadata presents a local text-humanizing utility, but the code also exposes a networked analysis tool that sends user content to api.glvrd.ru. This capability expansion creates an unexpected data-sharing path and can cause users or calling agents to disclose sensitive text to a third party under a misleadingly narrow skill description.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The tool sends user text off-platform without any in-code user-facing warning or consent mechanism at execution time. In an agent/tooling environment, callers may assume local processing, so silent exfiltration to a third party can lead to accidental leakage of sensitive material.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

This outbound request to api.glvrd.ru initiates an external session for later analysis and establishes a third-party network dependency. In the context of a local text-processing skill, any external transmission channel materially increases privacy and data handling risk.

Content

Scanner excerpt · index.ts (reported line 191)May include surrounding context.

ts
const sessionParams = new URLSearchParams();
                  sessionParams.append('app', 'openclaw_humanizer_plugin');
                  
                  const sessionRes = await fetch("https://api.glvrd.ru/v2/session", {
                      method: "POST",
                      headers: { "Content-Type": "application/x-www-form-urlencoded" },
                      body: sessionParams.toString()

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

This outbound request to api.glvrd.ru initiates an external session for later analysis and establishes a third-party network dependency. In the context of a local text-processing skill, any external transmission channel materially increases privacy and data handling risk.

Content

Scanner excerpt · index.ts (reported line 191)May include surrounding context.

ts
const sessionParams = new URLSearchParams();
                  sessionParams.append('app', 'openclaw_humanizer_plugin');
                  
                  const sessionRes = await fetch("https://api.glvrd.ru/v2/session", {
                      method: "POST",
                      headers: { "Content-Type": "application/x-www-form-urlencoded" },
                      body: sessionParams.toString()

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The code posts arbitrary user-provided text to a third-party API for analysis, which can expose confidential prompts, drafts, PII, or proprietary content. Because the core skill is a text cleaner/humanizer, external transmission is not strictly necessary and increases privacy and compliance risk without strong justification.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
99% confidence
Finding

This request transmits the user’s text to a third-party endpoint for processing, which can disclose sensitive or proprietary content outside the host environment. The risk is heightened because the text is user-controlled and there is no visible consent or sanitization before submission.

Content

Scanner excerpt · index.ts (reported line 206)May include surrounding context.

ts
checkParams.append('session', sessionData.session);
                  checkParams.append('text', text);

                  const checkRes = await fetch("https://api.glvrd.ru/v2/check", {
                      method: "POST",
                      headers: { "Content-Type": "application/x-www-form-urlencoded" },
                      body: checkParams.toString()

External Transmission

Medium
Category
Data Exfiltration
Confidence
99% confidence
Finding

This request transmits the user’s text to a third-party endpoint for processing, which can disclose sensitive or proprietary content outside the host environment. The risk is heightened because the text is user-controlled and there is no visible consent or sanitization before submission.

Content

Scanner excerpt · index.ts (reported line 206)May include surrounding context.

ts
checkParams.append('session', sessionData.session);
                  checkParams.append('text', text);

                  const checkRes = await fetch("https://api.glvrd.ru/v2/check", {
                      method: "POST",
                      headers: { "Content-Type": "application/x-www-form-urlencoded" },
                      body: checkParams.toString()

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill is explicitly branded as "Russian Humanizer" and its only natural-language configuration description is in Russian, with no indication that users can choose another language or locale. This creates a natural-language policy concern because the file imposes a specific language context without opt-in or a documented region-specific justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The manifest name russian-humanizer-plugin suggests the skill is intended to force or constrain output to Russian. In this file there is no accompanying natural-language explanation, opt-in mechanism, or region-specific justification for that locale restriction, which can violate language/locale policy expectations.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.