T09 · Insecure Skill Coding Practices
- Location
SKILL.md:164- Finding
Unvalidated Telegram destination can disclose project status information
- Content
View full analysis
/STATUS.md`, incorporates the extracted resume point and blockers into a message, and transmits that message to a caller-provided Telegram `chat_id`. Relevant source and message-construction code: ```python def parse_status(slug: str) -> dict: path = PROJECTS_DIR / slug / "STATUS.md" if not path.exists(): return {} text = path.read_text() def extract(heading: str) -> str: m = re.search( rf"##+ {re.escape(heading)}\s*\n(.*?)(?=\n##|\Z)", text, re.DOTALL ) return m.group(1).strip()[:400] if m else "" resume = extract("RESUME FROM HERE") or extract("Resume From Here") or "" blockers = extract("Blockers") or extract("Open Blockers") or "" resume = re.sub(r"^[-*] ", "", resume, flags=re.MULTILINE).strip() blockers = re.sub(r"^[-*] ", "", blockers, flags=re.MULTILINE).strip() return { "resume": resume[:300], "blockers": blockers[:200], } ``` ```python def build_group_message(project_name: str, slug: str, status: dict) -> str: resume = status.get("resume", "") blockers = status.get("blockers", "") lines = [ f"🔄 Session Refresh — {project_name}", "", "I've refreshed my context. Here's where we are:", "", ] if slug: lines.append(f"📌 Project: {slug.upper()}") if resume: lines.append(f"📍 Resume from: {resume}") if blockers and blockers.lower() not in ("none", "—", "-", ""): lines.append(f"🚧 Blockers: {blockers}") lines += [ "", "My memory and project files are fully updated. " "Jump back in wheneve ...[truncated 2837 chars]- Remediation
View remediation
