T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:75- Finding
Missing Session Identity Falls Back to a Shared Data Directory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill has a legitimate member-reminder purpose, but its handling of personal data and persistent reminders needs review before installation.
Review before installing, especially if this will run for multiple users or in a bot. Require a real authenticated session key, avoid the shared default directory, keep the PII files private and backed up securely, and treat reminder text fields as untrusted data rather than future agent instructions.
SKILL.md:75Missing Session Identity Falls Back to a Shared Data Directory
SKILL.md:567Persistent Prompt Injection Through Untrusted Member and Reminder Fields
SKILL.md:97Personal Data Is Written to Plaintext Files Without Secure Creation Guarantees
SKILL.md:17Dependency Installation Is Not Reproducibly Pinned or Integrity-Verified
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Session Key 安全
Session key **必須經過清洗**才能用於構建文件路徑,防止目錄遍歷攻擊(如 `../../etc/passwd`)。參見上方 `sanitize_session_key()` 函數。
### Agent 自主存取控制
The manifest description and the rest of the skill are written as instructions for Chinese-language use, and the usage examples assume Chinese input/output. There is no indication that users may choose another language or that this locale restriction is required for a region-specific compliance reason.
The skill says member data should never be accessed without a session key, but the sample logic falls back to a shared default key and creates/uses that directory automatically. In a multi-user deployment, this can collapse isolation boundaries and cause one user's PII to be read, modified, or mixed with another user's data whenever session context is absent or malformed.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
本 skill 存儲個人可識別信息(PII),包括姓名、電話、生日等。**所有數據以明文 JSON 存儲在本地磁碟**。
**必要的安全措施:**
1. **文件權限**:數據目錄應設置為僅用戶可讀(`chmod 700 ~/.openclaw/workspace/users/`)
2. **備份加密**:備份時應使用加密(如 `gpg` 或加密壓縮包)
3. **不要將數據目錄同步到雲端**(如 iCloud、Dropbox),除非雲端本身有加密
The manifest describes a local member/anniversary manager that stores data and creates scheduled reminders. However, the documentation tells the agent to use pip-audit and pip install lunardate, which introduces package-management and environment-modification capabilities not justified by the skill's stated user-facing purpose.
The documentation claims writes require user confirmation, but the provided mutation functions perform immediate file changes with no confirmation gate. In agent-driven use, this mismatch can lead to unauthorized or accidental creation, modification, or deletion of sensitive member records and reminders if higher-level orchestration assumes the skill enforces confirmation internally.
No suspicious patterns detected.