T09 · Insecure Skill Coding Practices
- Location
examples/quick-start.md:136- Finding
OpenClaw Configuration Is Made Readable by Other Local Users
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill mostly matches its stated purpose, but it creates a powerful Feishu-connected agent and changes local OpenClaw configuration with weak safeguards.
Install only in a controlled OpenClaw environment after reviewing the Feishu group ID and service-account permissions. Before production use, enforce least-privilege tool policy outside the generated markdown, keep ~/.openclaw/openclaw.json at 600 or stricter, fix the temporary-file and jq interpolation issues, and document how to unbind the group and remove the created workspace/config entries.
examples/quick-start.md:136OpenClaw Configuration Is Made Readable by Other Local Users
scripts/create-hr-agent.sh:329Predictable Temporary Configuration File Permits Symlink and Race Attacks
scripts/create-hr-agent.sh:333Untrusted Agent Name Is Interpolated into jq Program Source
scripts/create-hr-agent.sh:205Generated Agent Declares Broad Execution and Administration Capabilities Without Enforced Safeguards
描述强调的是一个可根据需求招聘/创建 Agent 并绑定飞书群聊的 HR Agent,本应以实际创建和配置流程为核心。代码却是 scripts/test-hr-agent.sh,一个显式的测试脚本:检查依赖(openclaw、jq)、验证工作空间结构和配置文件内容、解析 ~/.openclaw/openclaw.json 查找 agent 与 bindings、查询 gateway/agent 状态,并输出模拟对话和在 /tmp 下创建模拟文件。虽然这些测试内容围绕“HR Agent”主题,且包含对飞书绑定存在性的检查,但它们是验证/模拟已存在配置,而不是实现声明中的核心创建与绑定能力。因此代码的实际主要用途与声明的主要用途存在实质性不一致。
Referenced artifact was not completely inspected
4. `SKILL.md` - 专业技能定义
The skill instructs creation of local workspace directories and multiple files, and it modifies ~/.openclaw/openclaw.json, but it does not prominently warn users that it will persist files and alter local configuration. This can lead to unintended configuration changes, overwriting state, or unsafe execution in sensitive environments where local agent configs control broader automation behavior.
This duplicate finding points to the same persistent workspace creation behavior. Because the skill is designed to create long-lived agent state, the danger comes from undocumented retention and possible accumulation of sensitive operational or user information in local files that may later be read, reused, or exposed.
mkdir -p ~/.agents/workspaces/hr/
This duplicate finding points to the same persistent workspace creation behavior. Because the skill is designed to create long-lived agent state, the danger comes from undocumented retention and possible accumulation of sensitive operational or user information in local files that may later be read, reused, or exposed.
mkdir -p ~/.agents/workspaces/hr/
Binding an agent to a Feishu group chat can expose the agent to group messages, metadata, and potentially sensitive organizational content, yet the skill lacks a clear privacy and integrity warning about that trust boundary. Without explicit consent and scope warnings, users may connect an agent to the wrong group or underestimate the data exposure and impersonation risks.
The file consistently presents operational instructions only in Chinese, including the title, setup steps, and usage guidance. Per SQP-3, forcing a specific language without user opt-in or a documented region-specific justification is a natural-language policy concern.
This markdown file instructs users to restart the OpenClaw gateway and start agents, and later to overwrite configuration during restore, but it does not clearly warn that these actions may disrupt running services or replace existing local state. Under the markdown-specific SQP-2 criteria, behavior that can affect system integrity or user data should be disclosed to the user.
Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.
# 检查权限
ls -la ~/.openclaw/openclaw.json
# 修复权限
chmod 644 ~/.openclaw/openclaw.json
Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.
# 检查权限
ls -la ~/.openclaw/openclaw.json
# 修复权限
chmod 644 ~/.openclaw/openclaw.json
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
ls -la ~/.openclaw/openclaw.json
chmod 644 ~/.openclaw/openclaw.json
## 📊 性能监控
This shell script presents its help, prompts, status messages, and generated markdown content entirely in Chinese, effectively imposing a specific language/locale on users. The file does not offer any opt-in, locale selection, or justification that this is a region-specific tool, so it conflicts with the policy against forcing a language without user choice.
This shell script presents its title, help text, and simulated agent interactions entirely in Chinese, including all user-facing guidance. Under the policy rules, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified, which is not present here.