01 · md-safe · порт 8120
Markdown
без сюрпризов
Парсер подмножества CommonMark написан с нуля, а результат обязательно проходит санитайзер по allowlist: только известные теги, атрибуты и схемы ссылок. Вставьте любой текст, в том числе враждебный, и посмотрите, что осталось и что было вырезано.
02 · редактор
Живой предпросмотр
03 · allowlist
Что разрешено
Теги
- тег
- тег
- тег
Правила
- правило
- правило
04 · как проверено
Не на слово
Корпус векторов
Более 200 XSS-строк из известных приёмов с собственными формулировками: обфускация схем, сущности, mXSS, ломаные теги. Каждая проходит как HTML и как Markdown.
Property-тесты
fast-check на случайных входах: в выводе нет ничего исполняемого, санитайзер идемпотентен, рендер не падает. Независимый проверяющий не использует код санитайзера.
Тяжёлые входы
Сотни тысяч скобок, звёздочек, тегов и вложенных цитат обрабатываются за секунды: разбор линейный, а не квадратичный.
05 · API
То же из консоли
curl -s localhost:8120/v1/render -H 'content-type: application/json' \
-d '{"markdown":"# Привет\n[x](javascript:alert(1))"}'
curl -s localhost:8120/v1/render -H 'content-type: text/markdown' \
--data-binary '**жирный** <script>alert(1)</script>'
curl -s localhost:8120/v1/policy