Back to skill

Security audit

Display Name: ChatMerge - 智能多渠道聊天纪要助手

Security checks for vulnerabilities and agentic risk

Overview

ChatMerge is a coherent chat-minutes skill, but it asks for broad local and cross-session authority and documents ongoing monitoring, meeting capture, and external writes without enough scope and consent controls.

Install only if you are comfortable granting chat access plus broad automation authority. Limit it to specific channels and workspaces, avoid broad API tokens, disable or tightly approve monitoring, scheduled delivery, task creation, and meeting recording/transcription, and require host-level restrictions for bash, file writes, session sends, and outbound destinations.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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 (2)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:5
Finding

Overprivileged Tool Access for a Chat Summarization Skill

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:5-19
Vulnerability Type: Excessive command-execution, filesystem, and cross-session permissions
Risk Level: Medium

Vulnerable Code

yaml
metadata:
  openclaw:
    emoji: "💬📊"
    version: "2.0.0"
    requires:
      tools: ["message", "bash", "read", "write"]
    features:
      - "智能频道发现"
      - "定时纪要"
      - "实时监控"
      - "跨平台去重"
      - "多维度分析"
      - "行动项跟踪"
      - "AI 智能建议"
      - "摘要分级"
allowed-tools: ["message", "bash", "read", "write", "sessions_send"]

The intended use of these permissions is confirmed in BUG_FIXES.md:179-187:

markdown
allowed-tools: ["message", "bash", "read", "write", "sessions_send"]

- ✅ `message` - 用于读取聊天平台消息
- ✅ `bash` - 用于执行命令(如调用外部工具)
- ✅ `read` - 用于读取文件
- ✅ `write` - 用于写入文件
- ✅ `sessions_send` - 用于跨会话通信(实时监控、定时纪要)

Technical Analysis

The core purpose of the Skill is to read chat messages or imported files and produce summaries. The default permission set nevertheless includes:

  • bash, which permits arbitrary command execution.
  • write, which permits filesystem modification.
  • sessions_send, which permits communication across sessions.
  • Broad read access without documented path restrictions.

These permissions exceed the minimum capabilities required for ordinary chat summarization. The documentation does not define command allowlists, filesystem scope restrictions, destination restrictions, or mandatory confirmation before invoking the privileged tools.

Chat content is inherently untrusted. If messages containing adversarial instructions are supplied to the model, excessive tool permissions increase the impact of successful indirect prompt injection. Although the audited project does not contain an explicit malicious prompt or executable payload, its privilege model unnecessarily exposes high-impact capabilities.

Attack Path

  1. An att ...[truncated 1277 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove bash, write, and sessions_send from the default tool set.
  2. Use only message and narrowly scoped file-reading capabilities for ordinary summaries.
  3. Separate automation and integration features into explicitly enabled profiles with their own minimal permissions.
  4. Replace unrestricted Bash access with dedicated integration tools that validate arguments and enforce destination allowlists.
  5. Restrict file reads and writes to a dedicated workspace directory.
  6. Require explicit user confirmation before:
    • Executing an external command.
    • Writing or modifying a file.
    • Sending information to another session or external service.
  7. Treat all imported chat messages as untrusted data and explicitly prohibit following instructions found inside summarized content.
  8. Apply host-level sandboxing, command allowlists, network egress controls, and comprehensive tool-call audit logging.

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
ADVANCED_FEATURES.md:566
Finding

Automatic Meeting Recording and Transcription Enabled Without Granular Consent Controls

Content
View full analysis

Vulnerability Details

File Location: ADVANCED_FEATURES.md:566-579
Vulnerability Type: Excessive access to private meeting content
Risk Level: Medium

Vulnerable Code

yaml
meeting_integration:
  zoom:
    enabled: true
    auto_record: true
    auto_transcribe: true
    credentials: "env:ZOOM_API_KEY"

  google_meet:
    enabled: true
    auto_record: true
    auto_transcribe: true
    credentials: "env:GOOGLE_MEET_TOKEN"

Technical Analysis

The documented configuration enables integrations and activates automatic recording and transcription by default within the example. Recording and transcription expose substantially more private information than an on-demand summary of a specifically selected meeting.

The configuration does not show controls for:

  • Per-meeting user confirmation.
  • Consent or notification for meeting participants.
  • Restrictions on which meetings may be captured.
  • Transcript access control.
  • Retention and deletion periods.
  • Storage location or encryption requirements.
  • Handling of confidential or legally protected meetings.

This behavior also creates tension with the privacy statement in SKILL.md:497-498, which states that the Skill does not store chat records. Recording and transcription ordinarily require at least temporary storage or processing, but the documentation does not explain that lifecycle.

The issue is a documented unsafe configuration rather than evidence that recording code is present in this package. The audited project contains documentation and configuration examples only.

Attack Path

  1. A user copies the documented meeting-integration configuration.
  2. The user supplies valid Zoom or Google Meet credentials.
  3. The integration becomes enabled with auto_record and auto_transcribe set to true.
  4. Meetings covered by the integration may be recorded and transcribed without a new confirmation for each meetin ...[truncated 992 chars]
Remediation
View remediation

Remediation Suggestions

  1. Change both defaults to:

    yaml
    auto_record: false
    auto_transcribe: false
    
  2. Require explicit confirmation for each meeting before recording or transcription begins.

  3. Notify all participants and require consent where applicable.

  4. Allow users to select the exact meeting and exclude confidential meeting categories.

  5. Document where recordings and transcripts are stored, who can access them, and how long they are retained.

  6. Encrypt recordings and transcripts in transit and at rest.

  7. Apply short retention periods and provide immediate deletion controls.

  8. Request provider credentials with the narrowest possible OAuth scopes instead of broad account-level access.

  9. Reconcile the privacy statement with actual temporary and persistent storage behavior.

  10. Log recording, transcription, access, export, and deletion events for auditability.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (55)

Self-Modification

High
Category
Rogue Agent
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.

Content

Scanner excerpt · CHANGELOG.md (reported line 186)May include surrounding context.

md
### From v1.0 to v2.0

1. **Update Skill Name:**
   - Old: `$multi-channel-chat-minutes`
   - New: `$chatmerge`

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · OPTIMIZATION_SUMMARY.md (reported line 24)May include surrounding context.

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · OPTIMIZATION_SUMMARY.md (reported line 26)May include surrounding context.

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · OPTIMIZATION_SUMMARY.md (reported line 29)May include surrounding context.

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

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

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · PERFORMANCE.md (reported line 9)May include surrounding context.

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

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

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · SKILL_V1_OLD.md (reported line 115)May include surrounding context.

md
- ✅ 将 SKILL.md 从 6 步 Workflow 简化为 3 步
- ✅ 添加"快速开始"提示,80% 场景无需读取 references
- ✅ 合并重复的 Safety 部分
- ✅ 简化 Output Rules,减少冗余描述

### 2. 认知负担优化
- ✅ 明确标注"按需参考文档",避免 Agent 每次都读取所有文件

Missing User Warnings

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document promotes capabilities such as reading chats across 20+ platforms, scheduled processing, and real-time monitoring without any privacy, consent, retention, or access-scope warning. In a skill centered on ingesting private communications, omission of these safeguards can lead users to enable broad surveillance or over-privileged integrations without understanding the data exposure risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The examples encourage continuous monitoring and exporting derived data into external systems like Jira, but provide no notice about ongoing collection, cross-system disclosure, or access-control implications. In this skill context, that increases the chance of unauthorized surveillance, leakage of confidential discussion content, and propagation of sensitive data into additional platforms.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documented scheduled summaries, continuous monitoring, and outbound delivery materially expand the skill from on-demand summarization into autonomous collection and dissemination of communications. That increases the risk of unintended surveillance, persistent access to sensitive chats, and automatic exfiltration of summarized content to external destinations if permissions or targets are misconfigured.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Continuous channel monitoring and alerting are described without any explicit warning that ongoing surveillance of chat content will occur. This can lead to covert or poorly understood monitoring of employee or customer communications, especially when paired with keyword triggers and cross-platform collection.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Automatic action-item extraction, task creation, calendar writes, and status tracking go beyond summarization into cross-system workflow execution. This broadens the blast radius from reading chats to creating artifacts and updating third-party systems, which can leak sensitive content or trigger unintended operational changes.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation normalizes use of multiple environment-backed credentials for Jira, Notion, GitHub, and calendar providers, substantially increasing the privilege surface of a skill advertised for chat summaries. If the skill or its surrounding agent is compromised or over-permissioned, these tokens enable broad read/write access across external business systems.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Auto-detection, recording, and transcription of meetings extend the skill beyond chat summarization into capture of live voice/video communications. In practice this can expose highly sensitive spoken information, and the absence of explicit consent controls makes accidental over-collection more likely.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document describes automatic meeting recording and transcription but does not mention participant consent, legal notice, or privacy safeguards. That omission is dangerous because users may enable surveillance-like features without understanding regulatory, contractual, or workplace privacy obligations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The changelog introduces scheduled automatic reports, cron-based execution, multiple outbound targets, and incremental processing of new messages, but it does not mention consent, scope limits, or user-visible warnings about continuous access to chat data. In a skill that aggregates messages across many platforms, silent automation materially increases privacy and data-exposure risk because users may not understand that monitoring and exports can continue after the initial invocation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Real-time monitoring for emergency keywords, decisions, risks, mentions, and instant notifications implies ongoing surveillance of conversations, yet the text provides no warning about privacy sensitivity, participant expectations, or notification side effects. In the context of a chat-reading assistant, always-on monitoring is more dangerous than one-time summarization because it can capture sensitive content continuously and surface it to additional recipients.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Automatic creation of tasks in Jira, Notion, and GitHub plus calendar reminders and status updates describes downstream writes into external systems without emphasizing that the skill may modify records outside the chat platform. This is dangerous because automated cross-system actions can create unauthorized changes, leak sensitive context into other tools, or generate operational noise if triggered on incomplete or misclassified chat content.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Meeting auto-transcription and speaker identification involve recording-derived processing and identity attribution, both of which are highly privacy-sensitive, but the changelog omits any warning about consent, legal requirements, or handling of potentially confidential audio/video content. In a multi-platform assistant, this is especially risky because users may apply it to meetings with participants who have not agreed to transcription or identity analysis.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

SQP-3 applies to all file types and covers language or locale policy violations. This markdown file presents all user-facing content exclusively in Chinese, with no opt-in, alternative language option, or statement that the skill is intended only for a Chinese-speaking or region-specific audience.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document strongly promotes automatic cross-platform message reading as the primary workflow but does not mention user consent, channel authorization boundaries, privacy expectations, or the possibility of ingesting sensitive content. In a skill centered on aggregating chats from Discord, Slack, Telegram, and enterprise platforms, this omission can normalize over-collection and lead users to expose private or regulated communications without clear awareness.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The one-click examples encourage broad retrieval of recent messages from multiple platforms and channels without any warning that private channel contents, DMs, customer data, or internal discussions may be pulled into the summarization flow. Because examples shape real user behavior, omission of access and privacy guardrails here increases the chance of accidental disclosure or inappropriate collection.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The document explicitly emphasizes 'not automatically connecting platforms', while the skill metadata advertises 'Auto-read 20+ platforms'. This inconsistency can mislead users and reviewers about the actual data-access behavior of the skill, weakening informed consent and privacy expectations if the skill later requests broad chat ingestion.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The entire quickstart, including all invocation examples, is written exclusively in Chinese and does not indicate whether other languages are supported or whether Chinese is required. Under the language/locale policy, forcing a specific language without user opt-in can be a policy concern unless the restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.