Языки: English · Русский · 简体中文
Пока пакет в pre-1.0, поддерживается только последний опубликованный
минор. Фиксы безопасности попадают в main и выходят PATCH-релизом
в течение нескольких дней.
| Версия | Поддерживается |
|---|---|
| 0.1.x | ✅ |
| старше | ❌ — сперва обновитесь |
Пожалуйста, не открывайте публичные issue по проблемам безопасности.
Напишите на phpcraftdream@gmail.com и укажите:
- Краткое описание уязвимости.
- Шаги или фрагмент для воспроизведения (Ktav-вход, запускающий
поведение; затронутый API —
loads/dumps/ файловые варианты; ожидаемое против фактического). - Версию, на которой наблюдалось (обычно достаточно вывода
pip show ktav) плюс OS / версию Python — чтобы понять, какой abi3-wheel использовался. - Предпочтительный таймлайн раскрытия, если у вас он есть.
Подтверждение получите в течение 72 часов. Опубликованный фикс обычно выходит в течение недели для высокоприоритетных проблем, дольше — если фикс нужно согласовать с Rust-крейтом или со спецификацией формата.
Что считается проблемой безопасности для этого пакета:
- Out-of-bounds чтения / записи или паники в скомпилированном модуле
расширения
_core(PyO3 ловит Rust-паники и пробрасывает их какpyo3_runtime.PanicException, так что интерпретатор выживает — но паника на доверенном входе всё равно репортится сюда как баг). - Неконтролируемое потребление памяти или CPU при разборе специально сформированного входа.
- Любое поведение, при котором сформированный Ktav-вход выходит за ожидаемый value-домен (произвольная конструкция объектов, утечка памяти через расширение и т. п.).
- Segfault-ы в обход PyO3-моста по паникам — это указывает на реальные
проблемы soundness в
unsafeи идёт в приоритет.
Что не считается проблемой безопасности здесь — пожалуйста, используйте обычные issue:
- Регрессии производительности без характеристик crash / hang.
- Несовпадения типа исключения, которые не эксплуатируются (например,
ValueErrorтам, где уместнееTypeError). - Проблемы в самом формате Ktav — им место в
ktav-lang/spec.