Кратко
- В рабочем проекте YAML-LD 1.0 от 24 сентября 2026 года W3C конкретизировал два риска: псевдонимы способны сильно увеличить внутреннее дерево, а некоторые теги в отдельных парсерах — вызвать неожиданное выполнение кода.
- Раздел о безопасности не является нормативным. В RFC 9512 эти угрозы рассматривались ещё в 2024 году; текст W3C от 20 сентября ссылался на них менее определённо.
- Соответствие формату обмена и безопасная настройка программы, читающей чужой файл, требуют разных доказательств.
Поставщик передаёт небольшой YAML-LD-файл для загрузки в каталог. В нём удобно повторно использовать одно определение: якорь отмечает узел, а псевдонимы на него ссылаются. Для редактора это означает меньше строк. Для парсера — последовательность операций по построению внутренней структуры. Проект спецификации предписывает считать каждую такую ссылку копией узла при создании представления JSON-LD. Объём исходного файла поэтому не равен расходу памяти после раскрытия ссылок.
Рабочая группа JSON-LD в редакции от 24 сентября вывела эту особенность в раздел о безопасности. По сравнению с версией от 20 сентября там появилась прямая ссылка на RFC 9512 и два предметных предупреждения. Даже граф без циклов может превратиться в гораздо более крупное дерево из-за псевдонимов. Теги YAML в некоторых парсерах могут привести к неожиданному выполнению кода; пример в тексте — !!python/object. Ранее раздел ограничивался общей отсылкой к безопасности JSON-LD и суффиксу +yaml.
Нельзя выдавать уточнение формулировки за обнаружение нового класса атак. Информационный RFC 9512, опубликованный IETF в феврале 2024 года для регистрации медиатипа YAML и структурного суффикса, уже разбирал истощение ресурсов и произвольное выполнение кода. Нынешние документы не сообщают о взломе названной системы, не оценивают распространённость проблемы и не подтверждают защиту конкретной библиотеки. W3C выпустил рабочий проект, который может меняться; сама публикация не означает одобрения W3C или его участников.
Задача YAML-LD — дать возможность записывать связанные данные в YAML и представлять их в JSON-LD без потери смысла. Якоря и псевдонимы разрешены в сериализации, но циклы в графе представления запрещены. Имена якорей и форма ссылок не сохраняются как смысловые данные. Поэтому корректное отклонение циклического файла ещё не доказывает, что ациклический файл не породит чрезмерное число копий.
В проекте есть обязательные условия совместимости: UTF-8, обработка по YAML 1.2 либо более поздней совместимой версии, строковые ключи отображений и прохождение указанных тестовых наборов. Авторы также отмечают ловушку старых библиотек YAML 1.1: слова no и on могут стать логическими значениями, нарушив согласованность данных. Эти требования уточняют результат преобразования, но не устанавливают лимит памяти сервиса и не отключают конструкторы языка программирования в выбранной библиотеке. Новый текст раздела 6 прямо помечен как ненормативный.
Для принимающей стороны полезен отдельный протокол решения: какой парсер и режим используются, какие теги допустимы, как ограничено раскрытие псевдонимов, откуда приходят недоверенные файлы и чем проверены настройки. Это редакционное предложение Daniel Kade, а не предписанная W3C форма. Успешное преобразование отвечает на вопрос о данных; ответ на вопрос о последствиях их чтения должен иметь собственное основание.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

