01 · md-safe · порт 8120

Markdown
без сюрпризов

Парсер подмножества CommonMark написан с нуля, а результат обязательно проходит санитайзер по allowlist: только известные теги, атрибуты и схемы ссылок. Вставьте любой текст, в том числе враждебный, и посмотрите, что осталось и что было вырезано.

Попробовать openapi.yaml

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