Back to skill

Security audit

msteams china adapter

Security checks for vulnerabilities and agentic risk

Overview

The skill appears intended to support Microsoft Teams China, but it rewrites installed OpenClaw program files, changes persistent system settings, and can restart services automatically without enough guardrails.

Review before installing. Use this only on a confirmed Microsoft Teams China/21Vianet OpenClaw host, preferably after backing up the OpenClaw and @openclaw/msteams installations and current environment settings. Run read-only diagnosis first, avoid scheduled auto-fix until you have tested the exact package versions, and be prepared to restore package files and remove CLOUD/SERVICE_URL registry or shell-profile changes if the patch is misapplied.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/patch_all_v10.cjs:83
Finding
Non-atomic broad rewriting of installed executable bundles## Vulnerability Details **File Location**: `scripts/patch_all_v10.cjs:83-138, 198-217`; `scripts/apply_patch.cjs:73, 222-231` **Vulnerability Type**: Unsafe in-place modification of installed application code **Risk Level**: High ### Vulnerable Code ```javascript function writeCore(fn, c) { fs.writeFileSync(path.join(DIST, fn), c); } for (const [from, to] of globalRepl) { for (const f of coreFiles) { let c = readCore(f); if (c.includes(to)) continue; if (c.includes(from)) { c = c.split(from).join(to); writeCore(f, c); p2++; } } } function writePlugin(fn, c) { fs.writeFileSync(path.join(PLUGIN_DIST, fn), c); } if (graphContent.includes('https://login.microsoftonline.com/')) { graphContent = graphContent.replaceAll( 'https://login.microsoftonline.com/', 'https://login.chinacloudapi.cn/' ); ok('MSAL login endpoints'); p3++; } if (graphContent.includes('sts.windows.net')) { graphContent = graphContent.replaceAll( 'sts.windows.net', 'sts.chinacloudapi.cn' ); ok('STS issuers'); p3++; } if (oauthContent.includes('https://login.microsoftonline.com/')) { oauthContent = oauthContent.replaceAll( 'https://login.microsoftonline.com/', 'https://login.chinacloudapi.cn/' ); writePlugin(oauthFile, oauthContent); ok('OAuth token endpoints'); p4++; } ``` The legacy patcher uses the same unsafe model: ```javascript function writeFileContent(filename, content) { fs.writeFileSync(path.join(OPENCLAW_DIST, filename), content); } if (content.includes(repl.from)) { content = content.split(repl.from).join(repl.to); writeFileContent(file, content); patchedFiles++; } ``` ### Technical Analysis The scripts directly overwrite executable JavaScript bundles inside installed OpenClaw and MSTeams packages. Several changes use unrestricted string replacement across complete compiled files. The implementation does not: - Verify an exact supported package version before mutation ...[truncated 2365 chars]
Remediation
## Remediation Suggestions 1. Enforce an explicit allowlist of exact OpenClaw and MSTeams package versions. 2. Verify cryptographic hashes of every target file before applying a patch. 3. Refuse to patch unknown or modified bundles. 4. Create permission-preserving backups before any modification. 5. Write patched content to a temporary file in the same directory, validate it, and atomically rename it into place. 6. Parse source structure or use exact, context-aware patches instead of unrestricted string replacement. 7. Confirm that every expected replacement occurs exactly once unless a different count is explicitly expected. 8. Run JavaScript syntax validation and comprehensive endpoint-policy verification before committing changes. 9. Treat the operation as a transaction: if any phase fails, restore every changed file. 10. Provide a documented rollback command and retain a manifest containing original hashes, patched hashes, and backup locations.

T09 · Insecure Skill Coding Practices

Error
Location
scripts/auto_detect.cjs:224
Finding
Patch failures are recorded as successful upgrades and followed by a gateway restart## Vulnerability Details **File Location**: `scripts/auto_detect.cjs:224-253` **Vulnerability Type**: Fail-open update state handling **Risk Level**: High ### Vulnerable Code ```javascript try { const patchOutput = execSync(`node "${patchScriptPath}"`, { encoding: 'utf8', timeout: 120000, stdio: 'pipe', }); console.log(patchOutput); if (patchOutput.includes('SUCCESS') && patchOutput.includes('All verifications passed')) { ok('Patch applied successfully!'); } else { warn('Patch may have issues. Check output above.'); } } catch (e) { fail(`Patch execution failed: ${e.message}`); warn('Continuing with version save and restart attempt...'); } // Step 5: Saving version state info('Step 5: Saving version state...'); saveCurrentVersion(currentVersion); // Step 6: Auto-restarting Gateway info('Step 6: Auto-restarting Gateway...'); const wasRunning = isGatewayRunning(); info(`Gateway was ${wasRunning ? 'running' : 'not running'}`); const restartOk = restartGateway(); ``` ### Technical Analysis The automation catches patch execution failures but deliberately continues. It then records the current OpenClaw version in `~/.openclaw/.msteams-china-version` and restarts the gateway. The same unsafe continuation occurs when the patch command exits successfully but its output does not contain the expected success markers: the script only prints a warning and proceeds. Because future runs compare the installed version with the saved state, storing the version after a failed patch suppresses automatic retry: ```javascript if (storedVersion === currentVersion) { ok(`Version unchanged (${storedVersion}). No patch needed.`); info('Auto-fix skipped. Version matches stored state.'); process.exit(0); } ``` This creates a persistent false-success state. It is especially dangerous because the patcher performs immediate, non-transactional writes and may fail after modifying only part of the installation. ### Attack Pa ...[truncated 1487 chars]
Remediation
## Remediation Suggestions 1. Exit immediately with a nonzero status if patch execution throws an exception. 2. Treat missing success and verification markers as a hard failure rather than a warning. 3. Save the new version only after: - Every patch phase succeeds. - Syntax and integrity checks pass. - The gateway restarts successfully. - A post-restart health check succeeds. 4. Restore all modified files from backups when patching or verification fails. 5. Store separate state values such as `detectedVersion`, `successfullyPatchedVersion`, and `lastFailure`. 6. Allow failed versions to be retried, with bounded backoff to avoid restart loops. 7. Do not restart a previously stopped gateway automatically. 8. Add a dry-run mode and require explicit approval before applying an incompatible-version patch. 9. Record a transaction manifest so operators can identify and reverse partial modifications.

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
scripts/patch_all_v10.cjs:275
Finding
Persistent machine-wide environment changes and recurring self-modification exceed least privilege## Vulnerability Details **File Location**: `scripts/patch_all_v10.cjs:275-288`; `SKILL.md:216-236` **Vulnerability Type**: Overprivileged persistent configuration modification **Risk Level**: Medium ### Vulnerable Code ```javascript const curCloud = process.env.CLOUD || execSync('reg query HKCU\\Environment /v CLOUD 2>nul', { encoding: 'utf8' }).trim() || ''; const curServiceUrl = process.env.SERVICE_URL || ''; if (curCloud.toLowerCase() !== 'china') { const isWin = os.platform() === 'win32'; if (isWin) { execSync( 'reg add HKCU\\Environment /v CLOUD /t REG_SZ /d china /f', { stdio: 'pipe' } ); execSync( 'reg add HKCU\\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f', { stdio: 'pipe' } ); try { execSync( 'reg add HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment /v CLOUD /t REG_SZ /d china /f', { stdio: 'pipe' } ); } catch (e) {} try { execSync( 'reg add HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f', { stdio: 'pipe' } ); } catch (e) {} } else { execSync( 'echo "export CLOUD=china" >> ~/.bashrc', { stdio: 'pipe' } ); execSync( 'echo "export SERVICE_URL=https://smba.trafficmanager.cn/teams" >> ~/.bashrc', { stdio: 'pipe' } ); } } ``` The Skill also recommends recurring execution: ```bash openclaw cron add --name "msteams-china-auto-detect" \ --schedule '{"kind":"cron","expr":"0 * * * *","tz":"Asia/Shanghai"}' \ --payload '{"kind":"agentTurn","message":"Run MSTeams China auto-detection: node <SKILL_DIR>/scripts/auto_detect.cjs","lightContext":true}' \ --delivery '{"mode":"none"}' ``` ### Technical Analysis The patcher persists generic environment variables at user or machine scope: - `HKCU\Environment` affects the curren ...[truncated 2927 chars]
Remediation
## Remediation Suggestions 1. Configure `CLOUD` and `SERVICE_URL` only in the OpenClaw gateway service environment. 2. Do not modify HKLM, HKCU, or shell startup files by default. 3. If persistent configuration is necessary, request explicit user approval and clearly identify the target scope. 4. Use application-specific namespaced settings rather than generic variables where supported. 5. Detect and update an existing managed configuration block instead of repeatedly appending lines to `.bashrc`. 6. Provide complete uninstall and rollback procedures for: - HKCU values. - HKLM values. - Shell-profile entries. - Cron or heartbeat tasks. - Version-state files. 7. Default recurring automation to notification-only mode. 8. Require interactive confirmation before patching executable bundles or restarting the gateway. 9. Restrict automated patching to exact, cryptographically verified package versions. 10. Preserve whether the gateway was originally running and never start a previously stopped service without approval.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
Findings (65)

Self-Modification

High
Category
Rogue Agent
Content
# Changelog

All notable changes to the MSTeams China Patch skill will be documented in this file.

## [10.1.0] - 2026-05-06
Confidence
85% confidence
Finding
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The code aligns with only a narrow subset of the description: static diagnosis of whether OpenClaw dist files contain China-specific versus global endpoint strings. It inspects filesystem paths, runs version/npm-root commands, and reports findings. The declared purpose, however, promises a much broader and more active skill: complete diagnosis, repair, verification, automatic version-upgrade detection, and one-click remediation across several specific Teams/AAD/JWT/SSRF/Graph/message-delivery failure modes. None of those capabilities are implemented in this code chunk. While recommending a separate apply_patch.js script is consistent with a larger patching workflow, this supplied code itself does not perform the claimed repair or validation behaviors. Therefore the description materially overstates the actual behavior.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding
The description promises a complete diagnose-fix-verify workflow for many operational scenarios, including automatic detection of version changes and one-click remediation. The actual code only performs static verification of whether expected China endpoints and allowlist strings exist in OpenClaw dist files. It reads local filesystem contents but does not patch files, restart services, contact Teams/Graph endpoints, inspect actual webhook/JWT failures, or auto-fix anything. Because the primary purpose of this code chunk is narrower than the declared full remediation skill, this is a material description-behavior mismatch.

Self-Modification

High
Category
Rogue Agent
Content
description: "Patch OpenClaw to support Microsoft Teams China (世纪互联/21Vianet). 触发场景: (1) msteams webhook 401/AADSTS90002/AADSTS500011 错误; (2) JWT 验证失败/SigningKeyNotFoundError; (3) Teams 中国区首次配置; (4) OpenClaw 版本升级后 Teams 不工作; (5) 用户报告 Teams bot 无响应; (6) SSRF Blocked hostname 错误 (Blocked hostname (not in allowlist)); (7) Graph API 请求被安全策略阻止; (8) Teams bot 收到消息但无法回复 (sent-message state failed); (9) 版本升级自动检测与修复。此技能执行完整的诊断、修复、验证流程,支持自动检测版本变更并一键自动修复,输出标准化报告。"
---

# MSTeams China Patch Skill v10

> 修复 OpenClaw 以支持 Microsoft Teams 中国版 (世纪互联/21Vianet)
> 支持 **自动检测** OpenClaw 版本升级 → 自动执行 6 阶段修复 → 自动重启 Gateway
Confidence
97% confidence
Finding
The skill is explicitly designed to patch OpenClaw core and plugin `dist` files, inject configuration into runtime code, and persist system-level environment changes. Self-modifying or host-modifying behavior is high risk because it alters installed software outside normal package/update controls, can break integrity guarantees, and creates a durable persistence/change surface that may be hard to audit or roll back.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
2026.5.4

# 手动重置(下次运行会重新记录版本,不执行修复)
rm ~/.openclaw/.msteams-china-version
```

---
Confidence
85% confidence
Finding
The skill includes a destructive shell command (`rm ~/.openclaw/.msteams-china-version`) as part of its operating instructions. Even though limited to a version-tracking file, recommending raw deletion commands without safeguards can enable accidental misuse, path confusion, or normalization into broader unsafe command execution patterns in automation contexts.

Ae1

High
Category
analysis-evasion
Content
| **v10.1** | 2026-05-06 | **自动检测**: 新增 `scripts/auto_detect.cjs`、版本跟踪系统、自动修复 + 自动重启 Gateway + 会话保留 |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

YARA rule 'backdoor_persistence': Backdoor persistence with malicious payloads (shell commands, SSH key injection, hidden root users) [malware]

High
Category
YARA Match
Content
vironment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f

# Linux/macOS
echo "export CLOUD=china" >> ~/.bashrc
echo "export SERVICE_URL=https://smba.trafficmanager.cn/teams" >> ~/.bashrc
```

**环境变量优先级**: `options.cloud` > `process.env.CLOUD` > 默认 `PUBLIC`
- 代码注入的 `cloud: sdk.CHINA` 拥有最高优先级
- 环境变量作为双重保障(当 SDK 内部 `cloudFromName` 起作用时)

---

### 阶段 3: 重启 Gateway

```bash
openclaw gateway restart
```

**验证**:
```bash
openclaw gateway status
openclaw logs --limit 50 | grep msteams
```

---

### 阶段 4: 验证

1. 在 Teams 中发送测试消息
2. 检查日志确认:
   - `
Confidence
75% confidence
Finding
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).

YARA rule 'backdoor_persistence': Backdoor persistence with malicious payloads (shell commands, SSH key injection, hidden root users) [malware]

High
Category
YARA Match
Content
vironment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f

# Linux/macOS
echo "export CLOUD=china" >> ~/.bashrc
echo "export SERVICE_URL=https://smba.trafficmanager.cn/teams" >> ~/.bashrc
```

**环境变量优先级**: `options.cloud` > `process.env.CLOUD` > 默认 `PUBLIC`
- 代码注入的 `cloud: sdk.CHINA` 拥有最高优先级
- 环境变量作为双重保障(当 SDK 内部 `cloudFromName` 起作用时)

---

### 阶段 3: 重启 Gateway

```bash
openclaw gateway restart
```

**验证**:
```bash
openclaw gateway status
openclaw logs --limit 50 | grep msteams
```

---

### 阶段 4: 验证

1. 在 Teams 中发送测试消息
2. 检查日志确认:
   - `
Confidence
75% confidence
Finding
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).

Missing User Warnings

High
Confidence
98% confidence
Finding
The script persistently changes HKCU/HKLM environment variables on Windows and appends exports to ~/.bashrc on Unix without prior confirmation. This alters future sessions and can have cross-application effects; writing HKLM is especially sensitive because it attempts system-wide persistence.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The changelog explicitly states the skill can automatically execute repairs and restart the OpenClaw gateway, which are state-changing operations with availability and session impact. Documenting such behavior without clear user-consent, rollback, or warning language increases the risk of unintended disruption when the skill is invoked or upgraded.

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
The changelog describes automatic injection of China-specific cloud configuration and persistent environment-variable changes, but does not indicate a verified locale check or user approval. Forcing cloud/endpoint settings can misroute traffic, break non-China deployments, or create persistent configuration drift that is difficult to detect and undo.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The README promotes an automated patch script that modifies installed OpenClaw and plugin dist files and sets system/user environment variables, but it does not clearly warn users that it is making persistent system-level changes. In a security-sensitive agent skill, undocumented binary/script patching and config mutation increase the risk of breaking trust boundaries, obscuring rollback needs, and normalizing unsafe modification of installed software.

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill describes reading and setting environment variables (`CLOUD`, `SERVICE_URL`) and relies on scripts with system-modifying behavior, but it declares no explicit tool scope or permission boundaries. This is dangerous because consumers and execution frameworks cannot clearly constrain or review the skill's access before it inspects or changes host configuration.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill promotes automatic repair and automatic Gateway restart but does not present a prominent safety confirmation, rollback guidance, or clear warning about service interruption and unintended host modification. In an operational environment, this can cause unreviewed changes to production files and trigger outages or loss of availability.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This markdown file instructs users to run a one-click repair script and restart the gateway, while earlier text states the repair includes modifying system registry or bashrc settings. The document does not provide a clear warning that these actions change local/system configuration and may affect service availability or require backup/verification before proceeding.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The troubleshooting guide instructs users to run automated repair scripts that modify installed package files and restart the gateway, but it does not clearly warn that these are system-changing actions. In a security-sensitive operations context, undocumented automated mutation of runtime files and services increases the risk of accidental disruption, unsafe execution, and reduced operator scrutiny.

Session Persistence

Medium
Category
Rogue Agent
Content
```powershell
# Windows (Admin recommended)
reg add HKCU\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLOUD /t REG_SZ /d china /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
Confidence
95% confidence
Finding
This command persistently writes the CLOUD environment variable into the current user's registry environment hive, creating a lasting configuration change outside the current troubleshooting session. Persistent environment changes can alter future application behavior and are risky when documentation does not clearly justify permanence, scope, or rollback.

Session Persistence

Medium
Category
Rogue Agent
Content
```powershell
# Windows (Admin recommended)
reg add HKCU\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLOUD /t REG_SZ /d china /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
```
Confidence
95% confidence
Finding
This command persistently stores SERVICE_URL in the user environment via the registry, affecting future executions beyond the immediate repair flow. Because service endpoint variables influence outbound communications, making them persistent without strong warnings or rollback guidance can cause misrouting, policy bypass assumptions, or hard-to-diagnose behavior later.

Session Persistence

Medium
Category
Rogue Agent
Content
# Windows (Admin recommended)
reg add HKCU\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLOUD /t REG_SZ /d china /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
```
Confidence
97% confidence
Finding
This command writes CLOUD into the machine-wide HKLM environment, requiring elevated privileges and affecting all users and processes on the host. System-wide persistent configuration changes materially increase blast radius and can unintentionally change behavior of unrelated workloads or future administrative sessions.

Session Persistence

Medium
Category
Rogue Agent
Content
reg add HKCU\Environment /v CLOUD /t REG_SZ /d china /f
reg add HKCU\Environment /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLOUD /t REG_SZ /d china /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v SERVICE_URL /t REG_SZ /d "https://smba.trafficmanager.cn/teams" /f
```

---
Confidence
97% confidence
Finding
This command persists a machine-wide SERVICE_URL endpoint in HKLM, altering outbound service targeting for all users and potentially all compatible processes on the system. Because endpoint configuration directly affects where authentication and messaging traffic is sent, documenting a global registry modification without strict guardrails is dangerous in enterprise environments.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The trigger phrase at line 43 is broad enough to match ordinary troubleshooting or operational discussion, which can cause the skill to activate outside the user's clear intent. In a skill with patching, auto-fix, environment changes, and restart capabilities, accidental activation materially increases the chance of unauthorized or disruptive modifications.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The trigger phrase at line 44 is ambiguous and overly generic, making unintended activation likely during normal support conversations. Because this skill performs diagnosis, patching, verification, and automatic remediation, ambiguity in activation can turn routine text into configuration changes or restarts without sufficiently explicit operator consent.

Vague Triggers

Medium
Confidence
96% confidence
Finding
Version-change and auto-upgrade detection triggers are insufficiently specific for a skill that can auto-fix and auto-restart, creating a path for automated execution based on loosely interpreted lifecycle events. In this context, an imprecise trigger is more dangerous than in a read-only skill because it can cause repeated or unsanctioned patching after upgrades, potentially weakening SSRF protections or altering production behavior.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The checklist hardcodes China-cloud endpoints and environment settings as the expected correct state, without an explicit eligibility check, operator opt-in, or guardrail verifying that the deployment actually belongs in the 21Vianet/China cloud. If followed in the wrong environment, this could misroute authentication and messaging traffic, break integrations, or push a production bot onto incorrect regional endpoints.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The checklist directs operators to modify runtime environment configuration and restart the gateway, but it does not include explicit safeguards such as backup instructions, rollback steps, maintenance-window guidance, or warning about service interruption. In an operational skill, this can cause unintended downtime, configuration drift, or breakage if applied to the wrong host or tenant.

Static analysis

Detected: suspicious.dangerous_exec, suspicious.exposed_secret_literal

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/apply_patch.cjs:44

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/apply_patch.js:44

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/auto_detect.cjs:56

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/diagnose.cjs:44

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/diagnose.js:44

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/patch_all_v10.cjs:40

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/workflow.md:142