Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Как оказалось, в файл PDF можно втиснуть страницу космических размеров. Лимиты, указанные в спецификациях формата, отображают возможности конкретного приложения для просмотра таких документов — Adobe Acrobat.

О том, что формат PDF не ограничивает размеры страниц таких документов, сказано, например, в соответствующей статье Википедии. Тем не менее программист Алекс Чань (Alex Chan), известная под ником alexwlchan, неоднократно сталкивалась с мнением, будто максимальный размер PDF-страниц — 381 км по стороне.

Таким листом можно накрыть половину Германии на карте масштабом 1:1, однако откуда взялось это магическое число?

 

В приложениях к спецификациям PDF 1.7 (PDF) отмечено, что лимиты на величину и количество объектов в таких файлах связаны с возможностями принтеров и соответствующих приложений. В Acrobat 5.0 и выше размеры страниц ограничены 200 х 200 дюймов; в этих границах дефолт можно для каждой менять с помощью записи UserUnit (число отображает кратность измерения на странице относительно типографского пункта, в программах Adobe равен 1/72 дюйма).

Версии Acrobat 7.0 и новее поддерживают верхнее значение UserUnit в 75 000, то есть страница PDF по каждой стороне не должна превышать 15 млн дюймов (381 км). Чтобы удостовериться, что для PDF это не предел, Чань изучила структуру таких файлов и собрала дополнительную информацию, задавая наводящие вопросы ChatGPT, а затем приступила к экспериментам, создав несколько простейших образцов вручную.

Как выяснилось, увеличить размеры страниц можно не только с помощью UserUnit, но также манипулируя значением MediaBox (размер материала, на котором производится печать). При превышении лимитов Acrobat приложение продолжало упорно показывать в метаданных 15 млн дюймов, а такой же трюк с UserUnit оно вообще не заметило (не выдало ни предупреждения, ни ошибки).

В ходе исследования было установлено, что встроенная в macOS программа Preview.app не поддерживает UserUnit и потому полностью игнорирует такие значения, считая, что во всех PDF установлен дефолт 1/72 дюйма. Верхний предел, как в случае с Acrobat, для этого приложения выставить невозможно, поэтому оно спокойно покажет в свойствах файла, что ширина страницы соизмерима с расстоянием от Земли до Луны.

 

Когда в ходе экспериментов Preview.app заявила, что PDF больше вселенной (примерно 37 млрд световых лет в квадрате), Чань решила остановиться. Распечатывать такие страницы даже не стоит пытаться.

WordPress поставил ИИ на охрану плагинов, опасные релизы заблокируют

WordPress запустил автоматическую проверку безопасности каждого нового релиза плагинов. Версии с высоким уровнем риска будут блокироваться до того, как попадут в API обновлений WordPress.org и начнут устанавливаться на сайты.

С 5 июня релизы плагинов и тем уже выдерживают шестичасовую паузу перед распространением.

Теперь в это окно несколько ИИ-моделей и Jetpack Scan анализируют внесённые изменения, сверяют результаты и формируют список находок с итоговой оценкой риска.

Если оценка окажется высокой, выпуск остановят автоматически, а все разработчики с правом публикации получат письмо с объяснением причин. Остальные обновления продолжат движение в обычном режиме.

Высокий балл не означает, что автора уже пора объявлять киберпреступником. Система оценивает опасность кода, а не намерения разработчика: одинаковую реакцию могут вызвать намеренно добавленный бэкдор и случайная критическая уязвимость.

Необходимость автоматического стоп-крана показал инцидент 28 июля. Проверка обнаружила бэкдор в новой версии плагина примерно с 20 тысячами активных установок. Релиз ещё находился в шестичасовом карантине и не успел попасть в API обновлений. После уведомления от Wordfence команда закрыла плагин для скачивания за 26 минут.

Теперь ждать свободного сотрудника не потребуется: потенциально опасная сборка остановится сразу после анализа. Чтобы снять блокировку, автору предлагают изучить отчёт, исправить проблемы и опубликовать новую версию.

Если её оценка окажется ниже порога, релиз снова пройдёт стандартную процедуру. Спорные результаты можно обжаловать, но WordPress предупреждает: выпустить исправление обычно быстрее, чем ждать ручного разбора.

Команда продолжит настраивать систему и снижать число ложных срабатываний. Подробности опубликованы в официальном блоге WordPress.

RSS: Новости на портале Anti-Malware.ru