Back to skill

Security audit

Org Learning Ops Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent, but it asks to analyze all visible agent conversation histories and configuration without enough scoping or privacy controls.

Install only if you intend this skill to inspect organization-wide agent histories. Before running it, limit which agents and dates it may analyze, require approval for cross-agent access, redact secrets and personal data, and prevent raw prompts, tool outputs, or configuration values from appearing in reports.

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

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:11
Finding
Excessive Collection of Cross-Agent Conversation History and Configuration## Vulnerability Details **File Location**: `SKILL.md`, lines 11–14 and 18–26 **Vulnerability Type**: T05: Unauthorized Access and Privilege Escalation **Risk Level**: Medium **Relevant snippet**: ```markdown ## 固定输入 1. 全量会话历史:`~/.openclaw/agents/*/sessions/*.jsonl` 2. 可见会话API:`sessions_list` / `sessions_history` 3. 技能来源:GitHub / ClawHub / SkillsMP / skills.sh 4. 已安装技能与agent配置:当前环境可见配置 ## 固定动作(必须按顺序) ### A. 全量覆盖分析 - 覆盖目标agent:main / qin / kongming / qianxuesen / miaoji(若可见) - 统计字段: - session数量 - 角色消息计数(user/assistant/toolResult) - 时间范围 - 主题命中(技能安装/定时运营/研究情报/协作调度/治理审批) - 输出覆盖率报告:已覆盖、未覆盖、覆盖率%、缺失原因 ``` ### Technical Analysis The Skill requires access to all available JSONL session histories across multiple Agents through a wildcard filesystem path and the `sessions_list` and `sessions_history` APIs. It also requests access to installed-skill information and visible Agent configuration. This access is broader than necessary for the stated aggregation tasks, which require session counts, role-message counts, date ranges, and topic classifications. These statistics can be generated from bounded metadata or redacted extracts without exposing complete message bodies or configuration values. The specification does not impose: - An approved list of Agents or sessions. - A bounded analysis period. - Field-level data minimization. - Secret and personal-data redaction. - Restrictions against reproducing raw messages or configuration values. - Retention and deletion controls. - Explicit authorization before accessing another Agent’s records. As a result, executing the Skill as written may cross least-privilege boundaries and unnecessarily expose credentials, personal information, proprietary discussions, system prompts, internal tool results, service endpoints, or other operational details. ### Attack Path 1. A privileged Agent loads and executes the Skill. 2. The Skill enumerates session files matching `~/.openclaw/agents/*/sessions/*.jsonl` or uses the ...[truncated 1350 chars]
Remediation
## Remediation Suggestions 1. Require explicit authorization before reading histories or configuration belonging to another Agent. 2. Replace the unrestricted wildcard with an allowlist of approved Agent identifiers and session locations. 3. Define a short, explicit analysis window and reject records outside that period. 4. Prefer metadata-only APIs for session counts, role counts, and timestamps. 5. When topic classification requires content, extract only the minimum necessary text fields and redact credentials, tokens, personal data, and configuration values before processing. 6. Prohibit raw session messages, system prompts, tool results, and configuration secrets from appearing in generated reports. 7. Add per-Agent access checks and record which source was accessed, by whom, and for which approved purpose. 8. Establish retention and deletion rules for extracted data and generated reports. 9. Process suspicious or untrusted message content strictly as data, ensuring that instructions embedded in session histories are never executed. 10. Preserve the existing approval requirement for skill installation and configuration changes, and extend it to cross-Agent data access.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The README explicitly promotes 'full historical conversation analysis' and organization-wide aggregation, but it does not state any privacy limits, consent requirements, retention rules, redaction steps, or handling constraints for sensitive data. In a skill designed to process multi-agent conversations and generate executive reports, this omission creates a real risk of over-collection, exposure of confidential content, and unauthorized secondary use of personal or sensitive organizational data.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The manifest description is written to require a specific Chinese reporting mode for CEO learning reports and skill radar outputs, and nowhere in the file is there an option for the user to choose another language or locale. This is a natural-language locale constraint that lacks opt-in or justification.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly directs collection and analysis of full session histories from local storage and visible agent configuration, which can expose sensitive prompts, credentials, internal discussions, or personal data far beyond what is necessary for the stated task. The risk is increased because the access is broad, mandatory, and lacks any user-facing consent, minimization, redaction, or sensitivity warning.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
This markdown file contains user-facing natural-language content that assumes a specific language/locale throughout. Under the policy, forcing a specific language without offering a choice or documenting a justified locale constraint is a violation.

Static analysis

No suspicious patterns detected.