Highlights
Path Traversal: 4 prior fixes. Scrutinize any change in this area.
src/everos/service/knowledge.py: most-fixed (2 issues). Treat as high-risk during review.
3 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Path Traversal: Two separate fixes in the same upload write path (write_bytes) indicate incomplete hardening; the earlier fix (basename reduction + resolved-path containment) was later supplemented with NUL/length checks, suggesting the path remains a recurring source of traversal bugs.
Path Traversal: LLM-generated skill names are used to construct directory paths (skills/skill_<name>/); the fix introduced a shared sanitize_dirname primitive plus frontmatter validation, but any other consumer of LLM output for path construction may lack the same guard.
Path Traversal: The core MarkdownWriter restricts writes to a configured memory root via canonicalization and prefix checks; this is the foundational guard for all markdown persistence, and any alternate writer bypassing it is a critical risk.