Back to skill

Security audit

Conflict Coordination

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a local conflict checker, but it sends system-status summaries to a fixed Feishu user and executes an unverified helper outside the package.

Review before installing. Only use this skill if you are comfortable with it inspecting OpenClaw-related crontab, user services, scripts, logs, and docs, writing a local report under /home/admin/.openclaw/workspace, and sending a summary to the hard-coded Feishu user:g68578ee. Prefer removing or configuring the Feishu send line and packaging or verifying task-utils.sh before any scheduled use.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/detect-conflicts.sh:270
Finding

Operational metadata is sent to a hard-coded external recipient

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/detect-conflicts.sh:5
Finding

Unverified external workspace script is sourced and executed

Content
View full analysis
Remediation
View remediation

other

Note
Location
scripts/detect-conflicts.sh:41
Finding

Broad host inventory exceeds the minimum scope of targeted conflict detection

Content
View full analysis
"$crontab_file" 2>/dev/null ``` ```bash sync_count=$(systemctl --user list-units 2>/dev/null | grep -c "sync.*service" || echo 0) openclaw_count=$(systemctl --user list-units 2>/dev/null | grep -c "openclaw.*service" || echo 0) gateway_status=$(systemctl --user is-active openclaw-gateway.service 2>/dev/null || echo "unknown") sync_status=$(systemctl --user is-active sync-realtime.service 2>/dev/null || echo "unknown") ``` ```bash log_dirs=( "/home/admin/.openclaw/logs" "/home/admin/.openclaw/workspace/logs" "/home/admin/.openclaw/backups" ) for dir in "${log_dirs[@]}"; do if [ -d "$dir" ]; then log_count=$(find "$dir" -name "*.log" -type f 2>/dev/null | wc -l) log "ℹ️ $dir: $log_count 个日志文件" fi done ``` ### Technical Analysis The script reads the entire current-user crontab, enumerates user-level systemd units, probes named gateway and synchronization services, checks for multiple unrelated automation scripts, and traverses several log and backup directories. These operations are read-only and broadly related to the declared conflict-detection purpose. They do not cross an operating-system access-control boundary. However, the implementation collects a wider operational inventory than is necessary for a narrowly scoped conflict check, including hard-coded news, backup, Git, gateway, synchronization, and maintenance components. The risk is amplified because derived results are written into a report and a summary is sent to the fixed external recipient identified in the separate finding. The script suppresses many errors, making it difficult for users to distinguish unavailable resources from absent resources. ### Attack Path 1. A user runs or schedules the detector. 2. ...[truncated 1348 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (19)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The skill metadata and narrative describe conflict detection, but the documentation also indicates additional behaviors such as persistent report generation, documentation auditing, and Feishu report delivery that are not clearly declared in the primary purpose statement. Undisclosed side effects and external communications are dangerous because operators may grant the skill broader trust or permissions than intended, leading to unexpected data retention or exfiltration.

Content

No source excerpt is available for this finding.

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

High
Category
YARA Match
Confidence
75% confidence
Finding

YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).

Content

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


name: conflict-coordination version: 1.0.0 description: Mechanism conflict detection and coordination for AI assistant systems. Automatically detects crontab conflicts, systemd service conflicts, script overlaps, and log path inconsistencies. Use for maintaining system harmony and preventing internal conflicts.

Conflict Coordination - 机制冲突协调机制

核心原则: 实时性优先,可靠性优先,人工确认优先


🚀 快速开始

Crontab 配置

bash
# 每周六 22:00 冲突检测
0 22 * * 6 /path/to/detect-conflicts.sh

🔧 核心功能

1. 冲突检测

  • ✅ crontab 配置冲突(重复任务)
  • ✅ systemd 服务冲突(服务状态)
  • ✅ 脚本功能重叠
  • ✅ 日�

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README’s prominent descriptive text is presented only in Chinese, and the rest of the document does not indicate that users may choose another language or that the skill is intentionally region-specific. This creates a natural-language locale constraint without user opt-in, which matches the policy-violation criteria.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
65% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · README.md (reported line 49)May include surrounding context.

md
## 📊 协调原则

1. 实时性优先:inotifywait > cron
2. 可靠性优先:systemd > nohup
3. 可恢复优先:trash > rm
4. 人工确认优先:高风险需批准

Session Persistence

Medium
Category
Rogue Agent
Confidence
65% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

md
## 📊 协调原则

1. 实时性优先:inotifywait > cron
2. 可靠性优先:systemd > nohup
3. 可恢复优先:trash > rm
4. 人工确认优先:高风险需批准

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

bash
# 修改 crontab 后触发
crontab -e
./detect-conflicts.sh

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest uses Chinese-only natural-language descriptions in the description and features fields, which can impose a specific language/locale on users without offering a choice. The policy for this audit flags language or locale restrictions unless the skill provides opt-in or clearly documents a justified region-specific constraint.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 41)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 230)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 231)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 232)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 233)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · scripts/detect-conflicts.sh (reported line 234)May include surrounding context.

sh
log "🔍 检查 crontab 配置..."

crontab_file=$(mktemp)
crontab -l > "$crontab_file" 2>/dev/null

if [ -s "$crontab_file" ]; then
    # 检查新闻推送任务

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill is presented as a local conflict-detection mechanism, but it also transmits a summarized report to a hard-coded Feishu recipient. That creates an unnecessary outbound data path that can leak operational details such as service state, task counts, and internal file paths outside the host without clear user approval.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The hard-coded openclaw message send --channel feishu --target "user:g68578ee" gives the script a fixed external messaging capability unrelated to the minimum functionality needed for conflict detection. Hard-coded exfiltration destinations are dangerous because they bypass user control, environment-specific policy, and recipient validation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script sends a report externally without any user-facing warning or consent flow, even though the message includes internal system state and the full local report path. This can expose sensitive operational metadata to external parties and prevents users from making an informed decision about data transmission.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill title and core guidance are presented in Chinese alongside English, but the document does not state any language preference options or clarify the intended audience. This can violate a language/locale policy when users are not given an explicit opt-in or alternative language choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

Comments, task names, logs, and the generated report all assume a Chinese-language user environment. This enforces a specific language/locale without offering a choice or documenting that the skill is intentionally limited to Chinese-speaking users.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The manifest scope focuses on detecting crontab conflicts, systemd service conflicts, script overlaps, and log path inconsistencies. This section additionally checks for the existence of multiple workspace documentation files for broader mechanisms such as knowledge sync, security audit, and self-improvement, which goes beyond the concrete conflict categories promised by the manifest.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.