T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/usage.py:95- Finding
Unnecessary Access to Private Conversation Content During Channel Detection
- Content
View full analysis
200: break line = line.strip() if not line: continue obj = json.loads(line) if obj.get("type") != "message": continue msg = obj.get("message", {}) content = msg.get("content", []) if isinstance(content, list): text = " ".join([c.get("text", "") for c in content if isinstance(c, dict)]) else: text = str(content) text_lower = text.lower() # Strong signals if "[QQBot]" in text or "qqbot" in text_lower: return "QQ" if "openclaw-weixin" in text_lower or "[微信]" in text or "wechat" in text_lower: return "WeChat" if "telegram" in text_lower or "@D4rchr0w_bot" in text: return "Telegram" if text.startswith("[cron:"): return "cron" if "heartbeat" in text_lower and "checklist" in text_lower: return "main" # /reset without channel prefix usually means main if text.startswith("/reset") and not any(x in text for x in ["[QQBot]", "[cron:", "[微信]"]): return "main" except Exception: pass return "unknown" ``` ### Technical Analysis The skill is documented as a token-usage and cost analyzer. Most of that function can be implemented using session metadata, filenames, mod ...[truncated 2029 chars]- Remediation
View remediation
