T09 · Insecure Skill Coding Practices
- Location
brief/renderer/markdown_parser.py:151- Finding
Stored HTML Injection in Generated Reports
- Content
View full analysis
") h3_text = stripped[4:] num_html = "" m_num = _NUM_HEADING.match(h3_text) if m_num: num_html = f'{int(m_num.group(1)):02d}' h3_text = m_num.group(2) html.append(f'{num_html}{h3_text}
') in_item_block = True i += 1 continue if stripped.startswith("#### "): html.append(f"{stripped[5:]}
") i += 1 continue kv_match = _KV_PATTERN.match(clean) if kv_match: label = kv_match.group(1) value = kv_match.group(2).strip() if "🦞" not in label: html.append( f'{_inline(label)}' f'{_inline(value)}' ) i += 1 continue if stripped.startswith("- ") and not stripped.startswith("---"): list_items = [stripped[2:]] i += 1 while i < len(lines) and lines[i].strip().startswith("- "): list_items.append(lines[i].strip()[2:]) i += 1 html.append("- " + "".join(f"
- {_inline(li)} " for li in list_items) + "
{_inline(display)}
") def _inline(text: str) -> str: """Inline formatting: bold / italic / link.""" text = re.sub(r"\*\*(.+?)\*\*", r"\1", text) text = re.sub(r"\*(.+?)\*", r"\1", text) text = re.sub(r"\[(.+?)\]\((.+?)\)", r'\1< ...[truncated 2887 chars]- Remediation
View remediation
