❌

Normal view

Эра AI-Driven Zero-Day: как уязвимость PHP2Shell навсегда изменила DevSecOps и кибербезопасность

Прошла неделя с «чёрной среды» 21 октября, когда европейские правительства экстренно гасили свои веб-сервисы из-за критического RCE в ядре PHP (CVE-2026-109618 / 19). Первая волна паники и ночных патчей улеглась, и самое время признать главное: инцидент PHP2Shell — это не просто очередной громкий баг. Это водораздел, разделивший кибербезопасность на «до» и «после».

Впервые в истории уязвимость уровня CVSS 10.0 в элементе инфраструктуры, удерживающем ~70% веба, была найдена ИИ-моделью нового поколения в рамках автоматического аудита.

Давайте разберем, почему правила игры изменились навсегда и как индустрии придется адаптироваться к реальности, где нейросети ищут zero-day быстрее, чем люди пишут код.

Проблема парсинга multipart/form-data в PHP годами оставалась в «слепой зоне». Этот кусок кода не трогали десятилетиями из-за священной коровы PHP — обратной совместимости. Человек, глядя на этот код, подсознательно доверял ему: «Раз оно работает с 2000-х и до сих пор не упало, значит, там всё проверено».

ИИ-модели (в данном случае GPT-5.6 Sol от Calif и наработки Wiz) лишены человеческих когнитивных искажений и авторитетов. Нейросеть просто скормила ядро PHP математической модели, построила граф зависимостей и нашла пограничное состояние (edge case), при котором обработка POST-запроса приводила к переполнению буфера до того, как управление передавалось самому веб-приложению.

Главный вывод: ИИ доказал, что «проверенный временем код» — это миф. Нейросети стали идеальными археологами уязвимостей.

Читать далее

Архитектура 1С для новичков: Строим первую внешнюю обработку и клиент-серверный мост. Часть вторая

В первой части мы разобрались, почему сервер 1С «слеп» к файлам на вашем диске C: , и подготовили поле ввода для пути к файлу. Пользователь нажал на заветные три точки ... и выбрал документ. Путь к файлу мы научились делать за 3 шага. Что дальше? Теперь нам нужна большая, красивая кнопка, которая заставит этот файл оторваться от вашего компьютера, улететь на сервер, превратиться там в данные базы и вернуть нам красивое окошко с сообщением. Давайте по шагам разберем, как спроектировать это и запустить клиент-серверный мост.

Шаг 4. Создаем кнопку действия «Выполнить загрузку». Просто нарисовать кнопку на экране мало — нужно объяснить платформе, что должно произойти при клике.

В редакторе формы нашей внешней обработки переходим на вкладку Команды (она находится в правом верхнем окне, прямо рядом с «Реквизитами»). Нажимаем зелёный плюс «Добавить» и называем нашу команду просто и понятно: Загрузить. Берем эту команду мышкой и перетаскиваем в левое верхнее окно Элементы, прямо под наше поле с путем к файлу.

На форме появится кнопка. Выделите её, откройте свойства (Alt + Enter) и в поле Заголовок укажите текст, который увидит пользователь: Загрузить.

Шаг 5. Выбор типа обработчика события. Теперь необходимо связать созданную команду с программным кодом. В свойствах команды найдите строку Действие и нажмите на пиктограмму с лупой. Платформа откроет диалоговое окно выбора. Из предложенного списка необходимо выбрать пункт: «Создать на клиенте и процедуру на сервере без контекста».

Давайте разберем, почему платформа предлагает разделение и почему выбор директивы «без контекста» (&НаСервереБезКонтекста) является наиболее правильным.

Читать далее

Архитектура 1С для новичков: Строим первую внешнюю обработку и клиент-серверный мост. Часть первая

Боитесь запутаться в клиент-серверной архитектуре и управляемых формах? В этой короткой статье разберем самый простой и понятный алгоритм создания внешней обработки с нуля. Идеально для начинающих разработчиков и студентов, делающих первые шаги в 1С.

​Каждый начинающий программист 1С рано или поздно приходит к моменту, когда типовых возможностей конфигурации не хватает, а вносить изменения в саму конфигурацию (снимать с поддержки) нельзя или не хочется. Именно для таких задач и существуют внешние обработки (файлы с расширением .epf),они не мешают последующим типовым обновлениям от фирмы 1С.

Шаг 1. Создаем файл обработки в Конфигураторе

Открываем Конфигуратор и идем по классическому пути: Файл — Новый — Внешняя обработка.

Перед нами пустая карточка. Здесь нас интересуют два поля: Имя и Синоним.

Имя — это то, как к вашей обработке будет обращаться сама система в коде (пишем строго без пробелов, например: ЗагрузкаДанныхИзФайлов).

Синоним — это название, которое 1С выведет на экран пользователю (тут пробелы и знаки препинания разрешены, например: Умный импорт первички).

Шаг 2. Проектируем интерфейс (Управляемую форму)

Находим в дереве пункт Формы, жмем на лупу и создаем новую управляемую форму обработки.

Добавляем данные: В правом верхнем углу (вкладка Реквизиты) нажимаем «Добавить». Нам нужна строка, назовем её ПутьКФайлу, перетаскиваем в левое верхнее окно Элементы. 

Лайфхак для интерфейса: Выделяем это поле, открываем его свойства (Alt + Enter) и в поле Заголовок пишем то, что должен увидеть пользователь, а чуть ниже находим свойство КнопкаВыбора и ставим галочку Да (чтобы в поле появились заветные три точки ...).

Читать далее

Первый рабочий день джуниора Данилы. Часть 3. Скидка трейдеров из Гуанчжоу

В предыдущей серии: Краткое содержание части 1 и 2.

• Часть 1. «Прайс из Китая»

История о том, как в ИТ-отделе крупной компании "ИнвестБолт", которая знает цену специфики ВЭД с Китаем, наступило начало прекрасного дня: сеньор Михалыч флегматично чистил воблу, тимлид Антон Павлович пил кофе, а амбициозный 22-летний джуниор Данила (самопровозглашенный «Промпт-Архитектор») радовался жизни. Это был его первый официальный рабочий день после долгих месяцев штурма Хедхантера, и Данила чувствовал себя баловнем судьбы. Он искренне верил, что ИИ уже заменил сеньоров, ведь нейросеть по его первому запросу сгенерировала синтаксически идеальный код для управляемых форм, решил загрузить «быстренько и красивенько» китайский прайс на 300 000 строк из Гуанчжоу. Доверившись ИИ, он скормил файл платформе через ТабличныйДокумент.Прочитать(). Итог: Данила уронил рабочий сервер в разгар закрытия квартала у бухгалтерии.

• Часть 2. «Визит Анастасии Марковны»

Решив, что один поток — это прошлый век, Данила выбил из нейросети новый «универсальный рецепт» и бахнул многопоточность через ФоновыеЗадания.Выполнить(). Одно нажатие кнопки — и сервер 1С породил неуправляемую лавину фоновых процессов. Михалычу пришлось вручную вычислять сеанс «Пациента Зеро» в консоли администрирования и спасти базу, чтобы сменить гнев на милость главбуха Анастасии Марковны.

Часть 3. Скидка трейдеров Гуанчжоу.

Действующие лица:

• Сеньор (Михалыч) — излучает абсолютное спокойствие.

• Джуниор (Данила) — смотрит на Михалыча как на средневекового инквизитора.

Читать далее

Первый рабочий день джуниора Данилы. Часть 2. Визит Анастасии Марковны — главбуха

В предыдущей серии: Краткое содержание Части 1


В ИТ-отделе крупной компании "ИнвестБолт", которая знает цену специфики ВЭД с Китаем, наступило начало прекрасного дня: сеньор Михалыч флегматично чистил воблу, тимлид Антон Павлович пил кофе, а амбициозный 22-летний джуниор Данила (самопровозглашенный «Промпт-Архитектор») радовался жизни. Это был его первый официальный рабочий день после долгих месяцев штурма Хедхантера, и Данила чувствовал себя баловнем судьбы. Он искренне верил, что ИИ уже заменил сеньоров, ведь нейросеть по его первому запросу сгенерировала синтаксически идеальный код для управляемых форм.

Идиллия рухнула, когда в отдел влетела менеджер по закупкам Таня с розовой флешкой с «маленьким» прайсом от китайских поставщиков на 300 000 строк Excel, который нужно было загрузить «быстренько и красивенько». Данила не растерялся и скормил ИИ новый промпт. Нейросеть авторитетно заявила, что для кроссплатформенной работы на Linux идеально подходит объект ТабличныйДокумент. Джуниор скопировал код, нажал кнопку «Загрузить» и… серверный процесс rphost сожрал все 64 ГБ оперативной памяти, нагрузил процессор на 100% и упал. База рухнула в разгар закрытия квартала у бухгалтерии, выкинув из системы главбуха Анастасию Марковну.

Опытный сеньор Михалыч отложил воблу, взял маркер и пошел к офисной доске и стал объяснять Даниле, как устроен реальный мир СУБД на физическом уровне.


Часть 2. Визит Анастасии Марковны -  главбуха

Действующие лица:

Анастасия Марковна (Главбух) — 60 лет. Взгляд прожигает насквозь даже тимлида. Причёска в виде монолитного куба, зафиксированная лаком «Прелесть». Носит с собой огромные счёты как холодное оружие.

Читать далее
❌