<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>Безопасность</title>
    <description>Новости обо всём, что связано с информационной безопасностью, а также руководства по устранению уязвимостей в системах</description>
    <link>https://tproger.ru/tag/security</link>
    <atom:link href="https://tproger.ru/tag/security/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 17 Oct 2026 19:30:08 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>Безопасность</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Рейтинги облачных хранилищ для бизнеса в России в 2026 году</title>
      <link>https://tproger.ru/articles/rejtingi-oblachnyh-hranilishh-dlya-biznesa-v-rossii-v-2026-godu</link>
      <comments>https://tproger.ru/articles/rejtingi-oblachnyh-hranilishh-dlya-biznesa-v-rossii-v-2026-godu?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Валерия Турчак]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/rejtingi-oblachnyh-hranilishh-dlya-biznesa-v-rossii-v-2026-godu</guid>
      <description><![CDATA[<p>Сравнили корпоративные файлообменники и S3-сервисы для компаний: критерии выбора, честные ограничения, сводные таблицы и чек-лист внедрения — без воды.

</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/rejtingi-oblachnyh-hranilishh-dlya-biznesa-v-rossii-v-2026-godu">Рейтинги облачных хранилищ для бизнеса в России в 2026 году</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 12 Oct 2026 06:42:21 GMT</pubDate>
      <content:encoded><![CDATA[<p>Данных у компаний становится больше с каждым годом, а храниться они могут до сих пор где попало: часть на сервере в офисе, часть в личных аккаунтах сотрудников, часть в переписке. Рано или поздно это заканчивается потерянным файлом, утечкой или простоем в самый неподходящий момент. К счастью, лекарство известно — найти облачное хранилище для своего бизнеса. Но выбрать конкретный сервис все еще остается непростой задачей: решений много, все они очень разные, а самое главное — непонятно, какое подойдет конкретно вам.</p><p>Из статьи вы узнаете, как устроены такие сервисы, по каким критериям их сравнивать в 2026 году и чем корпоративный файлообменник отличается от объектного S3-хранилища. Внутри мы оставили два рейтинга со сводными таблицами, детальный разбор каждого решения с честными ограничениями, инструкция по тестированию перед внедрением и чек-лист выбора. Отдельно расскажем о методологии: шесть критериев, по которым мы оценивали сервисы, пригодятся вам и за пределами этого материала.</p><p>Статья будет полезна руководителям ИТ и ИБ, владельцам цифровых продуктов, командам эксплуатации и всем, кто отвечает за то, чтобы данные компании хранились централизованно, безопасно и с понятной экономикой. Начнем с основ, а затем перейдем к сравнению.</p><h2>Принцип работы облачного хранилища для бизнеса</h2><p>Облачные хранилища — это дисковое пространство в дата-центре провайдера, которое компания арендует и использует через интернет. Файлы физически лежат на оборудовании провайдера, обычно в нескольких копиях на разных серверах, а сотрудники и системы обращаются к ним через веб-интерфейс, приложение или API. Компании не нужно покупать серверы, следить за дисками и думать, что делать, когда место закончится: объем расширяется по мере роста данных.</p><p>Под общим названием скрываются два разных класса продуктов. Первый — всем известный корпоративный файлообменник с привычным пользовательским интерфейсом: с папками, правами доступа, ссылками для внешних пользователей и совместным редактированием документов. Это облачное хранение данных для бизнеса в его «человеческом» виде, то есть для ежедневной работы сотрудников.</p><p>Второй класс — объектные S3-хранилища. Это инфраструктурные сервисы: у них уже нет привычных папок и красивого интерфейса для бухгалтерии. Зато есть API, через который к данным обращаются приложения, системы резервного копирования и аналитики. Сюда складывают бэкапы, логи, медиафайлы, архивы документов и датасеты для машинного обучения.</p><p>Ошибка на этом этапе — самая дорогая. Если купить S3 для «диска бухгалтерии», сотрудники не смогут в нем работать. Если развернуть файлообменник под хранение терабайтов бэкапов, это выйдет неоправданно дорого. Именно поэтому мы выделяем два раздела в нашем сравнении, по одному на каждый класс решений.</p><h2>Методология: как мы сравнивали облачные хранилища</h2><p>Принцип составления обзора: в нем нет ранжирования от лучшего решения к худшему. Вместо этого мы взяли шесть критериев, которые чаще всего оказываются определяющими в реальных проектах внедрения, и по единой схеме разобрали каждое решение: и самые популярные облачные хранилища, и нишевые продукты. По какому-то критерию «победил» один продукт, по какому-то — другой. Ниже показываем, что именно мы оценивали и почему.</p><h3>Тип хранилища и поддерживаемые сценарии</h3><p>Первый вопрос, который нужно задать при выборе хранилища, не «какой сервис лучше», а «для какой задачи он предназначен». Облачные сервисы хранения затачиваются под разные сценарии: совместная работа с документами, обмен файлами с подрядчиками, резервное копирование, долгосрочный архив, раздача статики для сайтов и приложений. Мы смотрели, какие сценарии решение закрывает штатно, а какие — с оговорками и «костылями».</p><h3>Функциональные возможности</h3><p>Для файлообменников важны права доступа, версии файлов, внешние ссылки с паролем и сроком действия, интеграция с офисными пакетами. Иначе говоря, все, что превращает диск в сервисы для совместной работы. Для S3-решений — версионирование, классы хранения, политики жизненного цикла объектов, блокировка удаления, хостинг статических сайтов. Мы отмечали и то, чего в продукте нет: отсутствие какой-то функции тоже является характеристикой.</p><h3>Безопасность и контроль данных</h3><p>Здесь мы оценивали управление правами и ролями, шифрование при передаче и хранении, защиту от случайного или намеренного удаления, журналирование действий. Отдельный плюс — сертификация площадки: соответствие 152-ФЗ, ГОСТ Р 57580.1, PCI DSS. Для компаний из регулируемых отраслей этот пункт нередко становится первым фильтром, который отсеивает половину списка.</p><h3>Прозрачность тарификации и предсказуемость расходов</h3><p>Красивая цена за гигабайт — еще не вся экономика. На стоимость объектных S3-решений влияют исходящий трафик, количество запросов и класс хранения, у файлообменников — число пользователей и лицензии. Мы смотрели, легко ли заранее посчитать месячный бюджет и нет ли в тарифах пунктов, которые «выстреливают» после запуска. Конкретные цифры быстро устаревают, поэтому в таблицах указан условный уровень цен.</p><h3>Интеграции и совместимость с инструментами и API</h3><p>Хранилище не живет в вакууме: оно должно дружить с системами резервного копирования, CI/CD, службой каталога, офисным ПО. Для S3-сервисов ключевой вопрос —  полнота совместимости с Amazon S3 API: от нее зависит, заработают ли привычные инструменты вроде rclone, Veeam или AWS CLI без доработок. Современные облачные сервисы обычно декларируют совместимость, но ее глубина у всех разная.</p><h3>Размещение данных и соответствие требованиям законодательства</h3><p>Если компания обрабатывает персональные данные, площадка хранения должна находиться в России — этого требует закон. Облачные платформы в России выигрывают у зарубежных еще и в практическом смысле: понятная юрисдикция, оплата в рублях по договору, поддержка на русском языке и отсутствие риска, что сервис перестанет работать из-за санкций или блокировок.</p><h3>Рекомендации по выбору</h3><p>Сформулируйте два-три главных сценария и требования ИБ до того, как открыть сайты провайдеров, иначе выбор превратится в сравнение маркетинговых обещаний. Подобрать облачное хранилище для компании проще, если оценивать кандидатов по одинаковым критериям и сразу отсекать те, которые не проходят по размещению данных или безопасности.</p><h2>Корпоративные облачные хранилища данных для бизнеса (файлообменники)</h2><p>В этом разделе собраны облачные хранилища данных класса «корпоративный файлообменник» — сервисы, в которых сотрудники работают с файлами каждый день. Важно: решения здесь разного масштаба, от enterprise-платформ до простых дисков, и это сделано намеренно. Удобного варианта для всех нет и выбор зависит от сценариев, требований безопасности и размера компании.</p><p>У каждого класса есть сильные стороны и ограничения: отечественные платформы дают юридическую предсказуемость и соответствие 152-ФЗ, зарубежные — привычный интерфейс, но с ними связаны риски с оплатой и размещением данных. В топ лучших хранилищ мы включили решения, которые реально используются российским бизнесом в 2026 году. Cводная таблица ниже, а после нее сделаем детальный разбор.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-10-09/e91ee24d-b113-44ef-b0ec-6407f09a991f.webp" alt="" /></figure><h2>Диск</h2><p>Облачный диск из экосистемы Сбера. Его сильные стороны заключаются в простоте и низком пороге входа. Зарегистрироваться и начать загружать файлы можно за несколько минут, есть мобильные приложения и веб-версия, а данные хранятся на российских серверах.</p><h3>Сценарии и функции</h3><p>Хранение и синхронизация файлов, обмен ссылками, автозагрузка фото и документов. Для ИП и микробизнеса этого часто достаточно: договоры, сканы, рабочие материалы небольшой команды.</p><h3>Ограничения</h3><p>Корпоративного контура здесь по сути нет: отсутствуют централизованное	 администрирование пользователей уровня enterprise, гибкие ролевые модели, интеграция со службой каталога и журналирования для ИБ. Это продукт скорее для частных пользователей и совсем небольших команд, чем для компании со штатом и регламентами. Уровень цен низкий.</p><h2>K2 Cloud Nextcloud</h2><p>Nextcloud — платформа файлообмена с открытым исходным кодом, а K2 Cloud предоставляет ее как готовый управляемый сервис из своего облака. Это облачное хранилище для организации под ключ: провайдер отвечает за развертывание, обновления, доступность и поддержку. На решение K2 Cloud стоит обратить внимание, если файлообменник для вас — критичный сервис: когда пользователей сотни и тысячи, простои недопустимы, а требования ИБ прописаны в регламентах.</p><h3>Сценарии и функции</h3><p>Это классический файлообменник корпоративного уровня: личные и общие папки, обмен файлами с внешними пользователями по ссылкам или приглашению по почте, синхронизация с компьютерами и смартфонами. Платформа поддерживает совместное редактирование документов за счет интеграции с офисными пакетами, включая российские. В отказоустойчивой конфигурации сервис разворачивается в трех территориально распределенных дата-центрах, а файлы хранятся в объектном S3-хранилище в трех копиях, что гарантирует от потери данных. Версионирование и корзина защищают от человеческого фактора — случайно перезаписанный документ можно вернуть. Облачная платформа развернута на базе российских ЦОД и соответствует требованиям 152-ФЗ вплоть до УЗ-1, а также ГОСТ Р 57580.1-2017 и PCI DSS.</p><p>Основные сценарии — централизованное хранение файлов, совместная работа отделов и замена ушедших из России сервисов типа OneDrive или Dropbox без потери привычных функций.</p><h3>Ограничения</h3><p>Nextcloud — это экосистема плагинов, и часть возможностей требует настройки, поэтому самостоятельное развертывание без опытной команды может затянуться. Управляемый формат от K2 Cloud эту проблему снимает, но привязывает к провайдеру.</p><p>Модель тарификации зависит от объема данных и числа пользователей, поэтому для совсем небольших команд (до 10 человек) внедрение такой enterprise-системы может оказаться экономически избыточным.</p><h2>Mega</h2><p>Mega  — единственное зарубежное решение в этом списке, но оно включено в обзор, потому что часть российских команд продолжает пользоваться такими известными облачными сервисами. Особенность Mega заключается в сквозном шифровании, при котором ключи хранятся только у пользователя: по заявлению провайдера, даже он сам не может прочитать содержимое файлов.</p><h3>Сценарии и функции</h3><p>Личные и командные диски, обмен ссылками, приложения под все платформы, бизнес-тарифы с администрированием пользователей и большими квотами. Функциональность для совместной работы скромнее, чем у корпоративных платформ: это в первую очередь защищенное хранение и обмен, а не среда для документооборота.</p><h3>Ограничения</h3><p>Серверы находятся за пределами России, поэтому для персональных данных сервис не подходит по 152-ФЗ. Оплата зарубежных подписок из РФ затруднена, поддержка ведется на английском языке, а юридические гарантии регулируются иностранным правом. Поэтому Mega имеет смысл рассматривать для узких задач с повышенными требованиями к конфиденциальности, но строить на нем корпоративное хранение российской компании рискованно.</p><h2>Timeweb Cloud Сетевой диск</h2><p>Сетевой диск от Timeweb Cloud — решение из другой категории, чем классические файлообменники. Это дисковое пространство, которое подключается к облачным серверам провайдера и расширяется по мере необходимости без остановки сервисов.</p><h3>Сценарии и функции</h3><p>Общее файловое пространство для нескольких серверов, хранение рабочих данных приложений, быстрый способ добавить место проекту без миграции. Управление из панели Timeweb Cloud, оплата за фактический объем.</p><h3>Ограничения</h3><p>Здесь нет пользовательского интерфейса для сотрудников, ссылок для внешнего обмена и совместного редактирования, потому что по факту это инструмент для ИТ-команды, а не для бухгалтерии и маркетинга. Мы включили его в обзор, так как задачу общего хранилища для небольшой инфраструктуры он решает просто и дешево. Уровень цен низкий.</p><h2>VK WorkSpace Диск для бизнеса</h2><p>Корпоративный диск в составе платформы VK WorkSpace, куда также входят почта, календарь и мессенджер. Ставка сделана на повседневную командную работу: общие папки, права доступа, совместное редактирование документов прямо в браузере.</p><h2>Сценарии и функции</h2><p>Централизованное хранение файлов отделов, обмен с коллегами и внешними адресатами, работа с офисными документами онлайн. Администратор управляет пользователями и доступами из единой консоли, данные размещаются в российских дата-центрах, поэтому с 152-ФЗ проблем нет.</p><h2>Ограничения</h2><p>Максимум пользы сервис дает внутри экосистемы VK WorkSpace: если почта и календарь у вас в другом месте, часть преимуществ теряется. Возможности тонкой настройки под сложные корпоративные политики скромнее, чем у платформ уровня Nextcloud. Уровень цен от низкого до среднего в зависимости от тарифа и числа пользователей.</p><h3>S3-совместимые облачные хранилища</h3><p>Второй раздел рейтинга посвящен другому классу продуктов. Здесь сравниваются не интерфейсы для работы сотрудников с документами, а облачные инфраструктурные сервисы — объектные S3-хранилища, к которым обращаются приложения, системы резервного копирования и аналитики. Их выбирают ИТ-команды и разработчики под бэкапы, логи, медиаконтент, архивы и данные для машинного обучения.</p><p>Практически все крупнейшие провайдеры в России предлагают S3-совместимые объектные хранилища, и на первый взгляд продукты похожи: бакеты, API, оплата за объем. Разница в деталях: полноте совместимости с S3 API, классах хранения, тарификации трафика и запросов, зрелости сопутствующих сервисов. Именно эти детали мы разобрали ниже.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-10-09/ab107a4f-a611-4f96-affe-225aca585b71.webp" alt="" /></figure><h2>Рег.облако S3</h2><p>Рег.облако — облачное направление одного из крупнейших российских регистраторов и хостинг-провайдеров. Его S3-сервис делает ставку на доступность: минимальный порог входа по цене и простое подключение для клиентов, у которых на том же аккаунте домены и хостинг.</p><h3>Сценарии и ограничения</h3><p>Резервные копии сайтов, хранение статики и файлов небольших приложений. Продукт закрывает базовые потребности малого бизнеса, но по функциональной глубине — классам хранения, инструментам жизненного цикла, интеграциям — уступает крупным облачным платформам. Уровень цен низкий.</p><p>Систему можно рекомендовать как отличный первый шаг в объектное хранение, из которого несложно вырасти в более мощное решение, поскольку совместимость с S3 упрощает миграцию.</p><h2>Beget Облачное объектное хранилище S3</h2><p>Beget — хостинг-провайдер, выросший в облачную платформу, и его S3-продукт унаследовал главный фирменный принцип: максимально простой старт. Создать бакет и подключить его к сайту или системе бэкапов можно за считанные минуты из знакомой панели.</p><h3>Сценарии и ограничения</h3><p>Основные задачи: хранение статики веб-проектов, резервные копии, файлы приложений. Для сложных корпоративных сценариев с тонкими политиками доступа и жизненного цикла возможностей меньше, чем у крупных облачных платформ, и это осознанная плата за простоту. Уровень цен при этом остается низким, что делает сервис привлекательным для малого бизнеса и веб-студий.</p><h2>K2 Cloud Облачное объектное хранилище S3</h2><p>Объектное S3-совместимое хранилище K2 Cloud предназначено для неструктурированных данных любых объемов. Решение имеет смысл рассматривать, если требования к сохранности данных жесткие, например, под облачные сервисы для бизнеса в регулируемых отраслях. Для размещения простой статики небольших сайтов сервис может оказаться избыточным по бюджету.</p><h3>Сценарии и ограничения</h3><p>Доступ по S3 API и через веб-интерфейс, автоматическое масштабирование по мере заполнения. Ключевая особенность — георезервирование: каждый объект хранится в трех независимых дата-центрах. Версионирование позволяет откатиться на прежнюю редакцию файла, а механизм S3 Object Lock защищает данные от удаления. Все данные хранятся в российских дата-центрах, платформа соответствует 152-ФЗ до УЗ-1.</p><p>Типовые сценарии: резервное копирование и архивирование, хранение медиафайлов, создание озер данных, потоковое вещание.</p><p>Совместимость с Amazon S3 API позволяет использовать привычные инструменты: AWS CLI, S3cmd, rclone, S3 Browser. Однако поддерживаются не все методы S3 API, и стоит свериться со списком в документации под вашу задачу.</p><h2>MWS Cloud Object Storage</h2><p>MWS Cloud — облачная платформа МТС, и ее объектное S3-совместимое хранилище нацелено на корпоративный сегмент: SLA, поддержка уровня enterprise, размещение в собственных дата-центрах федерального телеком-оператора. Для крупных компаний, которые уже работают с МТС по связи и ИТ-услугам, это логичное расширение сотрудничества.</p><h3>Сценарии и ограничения</h3><p>Типовые инфраструктурные задачи — бэкапы, архивы, данные приложений и аналитики, а также интеграция с остальными сервисами платформы. Экосистема моложе, чем у лидеров рынка, поэтому отдельных смежных инструментов пока меньше. Уровень цен от среднего до высокого, что отражает ориентацию на enterprise.</p><h2>Selectel S3</h2><p>Selectel — один из ветеранов российского инфраструктурного рынка, и его объектное хранилище любят ИТ-команды: все объекты хранятся в трех копиях на разных серверах и в разных сегментах дата-центров уровня Tier III. Есть классы хранения под разные задачи — от горячего контента до холодных архивов и финальных бэкапов.</p><h3>Сценарии и ограничения</h3><p>Хранение контента сайтов и приложений, озера данных, резервное копирование, архивы. Трафик между S3 и другими продуктами Selectel не тарифицируется на стороне S3. Это приятная деталь для тех, кто строит инфраструктуру у одного провайдера. Поддерживаются привычные инструменты: rclone, AWS CLI, работа через FTP.</p><p>Сервис ориентирован на технические команды: тем, кто ждет коробочного продукта с сопровождением под ключ, может не хватить консалтинговой обвязки. Уровень цен от низкого до среднего в зависимости от класса хранения.</p><h2>Timeweb Облачное объектное хранилище S3</h2><p>S3-сервис Timeweb Cloud продолжает философию провайдера: понятная панель, быстрый старт, предсказуемые тарифы. Оно органично дополняет облачные серверы и базы данных Timeweb и подходит для команд, которые уже строят инфраструктуру у этого провайдера.</p><h3>Сценарии и ограничения</h3><p>Статика сайтов, пользовательские файлы приложений, резервные копии, раздача контента. Набор корпоративных функций базовый: для большинства задач малого и среднего бизнеса его достаточно, но глубоких enterprise-возможностей вроде развитых политик соответствия здесь искать не стоит. Уровень цен низкий, один из самых доступных на рынке.</p><h2>VK Cloud Object Storage</h2><p>Объектное S3-совместимое хранилище VK Cloud — часть большой облачной платформы, поэтому его сила в интеграциях: данные из бакетов удобно использовать в вычислительных сервисах, аналитике и Kubernetes того же провайдера. Есть классы хранения для горячих и редко используемых данных. Архивные данные обходятся дешевле.</p><h3>Сценарии и ограничения</h3><p>Хранилище закрывает весь типовой набор: бэкапы, медиа, статика, данные для анализа. Российские дата-центры и внимание к требованиям регуляторов делают его частым выбором компаний с госучастием. Из минусов пользователи отмечают, что тарификация с учетом классов хранения, запросов и трафика требует внимательного расчета — без калькулятора легко ошибиться в бюджете. Уровень цен средний.</p><h2>Yandex Object Storage</h2><p>Object Storage — объектное S3‑хранилище в составе Yandex Cloud. Вокруг него построена крупная экосистема: облачные платформы для бизнеса такого масштаба дают десятки смежных сервисов — от serverless-функций до аналитики, и хранилище связано с ними нативно.</p><h3>Сценарии и ограничения</h3><p>Несколько классов хранения: от горячего до ледяного архива, политики жизненного цикла, версионирование, блокировки объектов, хостинг статических сайтов. Документация и инструменты подробные, порог входа для разработчиков невысокий.</p><p>Оплата складывается из хранения, запросов и исходящего трафика, поэтому при активной раздаче контента счет может заметно превышать «цену за гигабайт».  Это означает, что бюджет стоит считать по полному профилю нагрузки. Уровень цен средний. Для компаний, которым важна максимальная независимость от одной экосистемы, привязка к платформе — тоже фактор, который стоит взвесить.</p><h2>Как протестировать облачное хранилище перед внедрением</h2><p>Даже лучшие сервисы облачного хранения стоит проверять на своих данных и своих сценариях. Но есть и хорошая новость: почти все провайдеры из рейтинга дают бесплатный тестовый период, поэтому пилот обойдется вам только в затраты времени команды. В заключение делимся советами, как провести его с пользой, если вы сравниваете разные варианты облачного хранилища для бизнеса.</p><h2>Мини-сценарий теста</h2><p>Возьмите один реальный сценарий: например, ночной бэкап базы на 200 ГБ или общую папку одного отдела. Проверьте четыре вещи: скорость загрузки и скачивания на ваших каналах, работу прав доступа, восстановление файла из версии или корзины и поведение вашего штатного ПО (бэкап-системы, rclone, офисного пакета). На тест достаточно одной-двух недель.</p><h3>Как проверить прогнозируемость цены</h3><p>Во время пилота снимите реальные метрики: объем данных, исходящий трафик, число запросов. Подставьте их в калькулятор провайдера и умножьте на планируемый рост за год. Вы получите честный бюджет вместо «цены за гигабайт» с лендинга. Отдельно смоделируйте пиковый месяц: массовое восстановление из бэкапа или маркетинговую кампанию с всплеском трафика.</p><h3>Чек-лист миграции</h3><p>Перед переездом зафиксируйте:</p><ul><li>полный перечень переносимых данных и их владельцев;</li><li>порядок миграции (сначала некритичные массивы, затем боевые);</li><li>период параллельной работы старой и новой систем;</li><li>способ проверки целостности после переноса;</li><li>ответственного и план отката.</li></ul><p>И, конечно, важно помнить: миграция без плана отката — это не миграция, а прыжок веры.</p><h2>Чек-лист выбора и внедрения облачного хранилища для бизнеса</h2><p>Соберем главное из статьи в короткий список. Пройдитесь по нему, прежде чем подписывать договор:</p><p>•    определите класс решения: файлообменник для сотрудников, S3 для систем и приложений или, возможно, нужны оба;</p><p>•    выпишите два-три главных сценария и проверьте, что сервис закрывает их штатно, без доработок;</p><p>•    проверьте размещение данных в РФ и сертификацию под ваши требования: 152-ФЗ, ГОСТ, PCI DSS;</p><p>•    оцените защиту от потери: число копий и площадок, версионирование, корзина, блокировка удаления;</p><p>•    посчитайте бюджет по полному профилю (хранение, трафик, запросы, пользователи) и умножьте на рост за год;</p><p>•    проведите пилот на реальном сценарии и убедитесь, что ваши инструменты работают без «костылей»;</p><p>•    составьте план миграции с проверкой целостности и планом отката;</p><p>•    назначьте владельца сервиса — человека, который отвечает за доступы, квоты и порядок в данных.</p><p>Если по каждому пункту есть уверенный ответ, то поздравляем — вы осознанно выбрали рабочий элемент своей инфраструктуры. Все, что останется вашей команде, это внедрить его и закрепить правила работы с данными во внутренних регламентах.</p><h2>Коротко о главном</h2><p>Пока данных немного, компания может жить на разрозненных дисках и точечных настройках. Но с ростом объемов и числа пользователей такой подход перестает быть управляемым процессом: никто не знает, где лежит актуальная версия, доступы выдаются по памяти, а теневой файлообмен через личные аккаунты становится нормой вместе с рисками утечек и потери данных.</p><p>Зрелый подход — рассматривать хранение как часть инфраструктуры и контура информационной безопасности. А это значит: централизованное администрирование, восстановление по версиям, предсказуемые правила хранения и наблюдаемость через метрики и события, чтобы поддержка оперативно замечала аномалии и разбирала инциденты, а не узнавала о проблемах от пользователей.</p><p>Переход на управляемое решение снижает операционную нагрузку на команды, упрощает масштабирование при росте проектов и задает единые правила работы с данными для сотрудников и системных интеграций. Надеемся, наш рейтинг поможет выбрать облачные хранилища для бизнеса осознанно: сверьте данные с актуальными страницами провайдеров, проведите пилот на реальном сценарии и пусть решение о внедрении станет взвешенным, а бюджет — предсказуемым.<br /><br /><br /></p><p><i>Реклама. Рекламодатель: АО «К2 интеграция», ИНН 7701829110, erid: 2W5zFJheiiD</i></p>]]></content:encoded>
    </item>
    <item>
      <title>5 систем защиты сайтов и API от DDoS и ботов</title>
      <link>https://tproger.ru/articles/5-sistem-zashhity-sajtov-i-api-ot-ddos-i-botov</link>
      <comments>https://tproger.ru/articles/5-sistem-zashhity-sajtov-i-api-ot-ddos-i-botov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Валерия Турчак]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/5-sistem-zashhity-sajtov-i-api-ot-ddos-i-botov</guid>
      <description><![CDATA[<p>Сравниваем 5 систем защиты от DDoS-атак и ботов для сайтов, API и приложений: возможности, антибот, WAF, способы подключения, тарифы и ограничения.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/5-sistem-zashhity-sajtov-i-api-ot-ddos-i-botov">5 систем защиты сайтов и API от DDoS и ботов</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 28 Sep 2026 10:15:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>Защита от DDoS и ботов — это компромисс между тем, сколько трафика вы готовы фильтровать, скоростью подключения под атакой и бюджетом. Мы собрали N систем, которые защищают веб-сайты и API: от облачных платформ с фильтрацией на границе сети до сервисов, работающих через центры очистки.</p><p>Для каждой разобрали уровни защиты, механику антибота, способы подключения, цены, документы для юрлиц и ограничения.</p><h2>NGENIX — фильтрация без центров очистки</h2><p>Облачная платформа для защиты и ускорения веб-приложений: DDoS-фильтрация на уровнях сети и приложений, антибот, облачный WAF, авторитативный DNS и CDN в одном кабинете. Отличается схемой митигации — трафик не перенаправляется в отдельные центры очистки, фильтрация работает на каждом узле распределённой платформы, рядом с пользователем.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/2f600728-0715-4497-bd36-8b347e279ca3.webp" alt="" /><figcaption>Мониторинг блокировок в NGENIX</figcaption></figure><h3>Кейсы клиентов и кому подойдёт</h3><p>Провайдер рассказал два сценария использования:</p><ul><li>Крупный федеральный ритейлер (название под NDA) пришёл в 2024 году с проблемой роста бот-трафика: боты парсили каталог, цены и остатки, резервировали товары без выкупа и искажали аналитику. Антибот-защита с поведенческим анализом, классификацией трафика и WAF в качестве последнего эшелона защиты позволила более чем вдвое сократить объём нежелательного трафика, устранить сценарии массового бронирования товаров, повысить конверсию, снизить показатель отказов на 35% и число клиентских жалоб более чем на 30%.</li><li>Российская авиакомпания в сезонный пик столкнулась с ботами, которые отслеживали цены и бронировали билеты без выкупа — в отдельных случаях автоматика резервировала весь борт. После подключения антибот-защиты удалось существенно сократить количество автоматизированных обращений и обеспечить стабильную работу сервисов бронирования для реальных пользователей даже в период пиковых нагрузок.</li></ul><p>Платформа подходит для компаний, которым критически важны доступность веб-ресурсов и бесперебойная доставка легитимного трафика, в том числе в условиях атак и пиковых нагрузок. Для нестандартного паразитного трафика доступна индивидуальная калибровка сигнатур.</p><h3>Что можно подключить</h3><p>NGENIX защищает от DDoS-атак на сетевом (L3/L4) и прикладном (L7) уровнях. Фильтрация L3 и L4 включена по умолчанию для всех заказчиков и работает круглосуточно, фильтрация L7 доступна с тарифа Lite. Заявленная мощность митигируемых атак — 7+ Тбит/с и 5 М+ RPS, включая атаки на DNS. IP-адреса веб-инфраструктуры маскируются, а при прямом подключении к платформе скрываются полностью, поэтому атака в обход не проходит.</p><p>Антибот строится на классификации: система анализирует поведенческие признаки, отпечатки браузера и сетевого стека и результаты JS-проверок и относит запрос к одной из четырёх категорий — «Публичный бот», «Точно бот», «Вероятно бот» или «Вероятно человек». Для каждой настраивается сценарий: пропустить, ограничить интенсивность через rate limiting, отправить на проверку (JS-челлендж, CAPTCHA, анализ отпечатков) или заблокировать. Строгие проверки применяются только к подозрительным запросам, чтобы исключить ложные срабатывания.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/71e75888-d1d4-485c-95d3-0f808f5257dd.webp" alt="" /><figcaption>Распределение запросов по бот-категориям в разделе «Бот-аналитика» NGENIX</figcaption></figure><p>Для API анализируется не отдельный запрос, а поведение клиента целиком: последовательность вызовов, частота и интервалы, распределение по эндпоинтам. Так отсекаются парсеры с корректной авторизацией, неотличимые от легитимных клиентов по одиночным запросам. Отдельно закрываются скальперы, брутфорсеры, SMS-бомберы и кликеры, а запросы роботов Yandex и Google выделены в категорию публичных ботов.</p><p>Способов подключения четыре: делегирование DNS-зоны на серверы NGENIX (рекомендуемый), изменение DNS-записей через Anycast IP или CNAME и подключение по BGP. Среднее время подключения — один рабочий день. Правилами управляют через портал NGENIX Multidesk, открытый API или Terraform, метрики отдаются в формате Prometheus.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/56848b69-ade4-4112-be7a-93527a2daafe.webp" alt="" /></figure><p>Редактор правила обработки запросов в NGENIX</p><h2>Инфраструктура и экосистема</h2><p>Более 50 узлов в 23 регионах присутствия в России и ближнем зарубежье, пропускная способность — 7+ Тбит/с, более 1000 провайдеров в прямом взаимодействии. Каждый узел одновременно выполняет функцию центра очистки: анализ и фильтрация идут на месте. По данным провайдера, платформа ежедневно обрабатывает 60 млрд запросов и блокирует 2 млрд. Для анализа поступающего трафика используются технологии машинного обучения, которые помогают выявлять аномальный трафик и определять источники его возникновения. Результаты анализа применяются для классификации трафика и принятия решений о его блокировке либо дополнительной валидации. DNS построен на распределённой сети с производительностью 100+ млн QPS и поддержкой DNSSEC.</p><h2>Поддержка и каналы связи</h2><p>Поддержка работает круглосуточно: почта, телефон, мессенджеры, веб-форма и тикет-система в портале. Заявленная скорость реакции на критичные инциденты — до 15 минут, на «Энтерпрайзе» подключается персональный менеджер. Документация по настройке и API открыта в Центре поддержки, на публичной странице публикуется состояния сервисов.</p><h2>Тарифы, ограничения и условия</h2><p>Бесплатного тарифа нет, новым пользователям предлагают тестовый период до 14 дней. Публичная линейка — пять тарифов с помесячной оплатой, итоговая стоимость зависит от набора сервисов, пакета обслуживания и SLA. Нелегитимный трафик не тарифицируется: по заявлению провайдера, заказчику не выставляют доплату, если объём вырос за счёт атаки.</p><h2>Что именно входит в тариф</h2><ul><li>Lite — 16 900 ₽ в месяц: 1 веб-ресурс, 100 Гбайт исходящего трафика, 100 млн. легитимных запросов, SLA: 99,4%</li><li>Start — от 29 900 ₽ в месяц: 2 веб-ресурса, 1 000 Гбайт исходящего трафика, 200 млн. легитимных запросов, SLA: 99,4%</li><li>Pro — от 69 900 ₽ в месяц при сроке от 12 месяцев,  2+ веб-ресурса, 3 000+ Гбайт или 50+ Мбит/с исходящего трафика, 200+ млн. или 100+ RPS легитимных запросов, SLA: 99,9%</li><li>Ultimate — по запросу: 2+ веб-ресурса, 3 000+ Гбайт или 50+ Мбит/с исходящего трафика, 200+ млн. или 100+ RPS легитимных запросов, SLA: 99,95%+</li></ul><h2>Для компаний и организаций</h2><p>Услуги оказывает российское юрлицо — ООО «Современные сетевые технологии» (ИНН 7733546298, ОГРН 1057747348427, Москва). Для регулируемых отраслей есть отдельный продукт: аттестованное публичное облако, соответствующее требованиям ФСТЭК по 152-ФЗ, ГОСТ Р 57580.1 и PCI DSS 4.0.1, с изоляцией сегментов сети.</p><p>Официальный сайт:<a href="https://ngenix.net/?utm_source=tproger&amp;utm_medium=paid&amp;utm_campaign=pr-2026&amp;utm_content=10-systems-against-ddos-and-bots-attacks&amp;utm_term=go-to-website"> ngenix.net</a></p><p><br /><br /></p><h2>DDoS-Guard: надежная защита сайтов, API и мобильных приложений от DDoS-атак без тарификации атакующего трафика</h2><p>DDoS-Guard — российский провайдер защиты от DDoS-атак, работающий с 2011 года. Компания управляет собственной сетью фильтрации ёмкостью 4 Тбит/с и защищает сайты, API и мобильные приложения от DDoS-атак в формате облачного сервиса, подключаемого через смену DNS-записей.</p><p>На рынке отличаются тем, что:</p><ul><li>предлагают решения только собственной разработки: не только фильтры DDoS, но и WAF, защита от ботов, капча – собственные продукты провайдера, которые он самостоятельно поддерживает и развивает</li><li>не тарифицируют атакующий трафик, а полоса пропускания легитимного трафика всегда доступна целиком на защите L7</li><li>предоставляют детальную статистику по обработке трафика и работе каждого модуля в отдельности, а также функционал сбора кастомной статистики, который позволяет отслеживать метрики, которых нет в общей статистике по трафику</li><li>оказывают техподдержку пользователям и клиентам без использования ИИ-помощников и автоматизированных скриптов</li><li>предоставляют гибкий сервис под задачи клиента: есть готовая сетка тарифов с включенным набором опций, а также магазин допуслуг, который позволяет гибко кастомизировать тарифы и добавлять нужные опции без заявок и согласований</li></ul><h3>Кейсы клиентов и кому подойдёт</h3><p>Провайдер поделился кейсами:</p><ul><li>Топ-3 сервис по заказу и покупке лекарств в стране столкнулся с техническими проблемами при использовании зарубежного сервиса защиты: высокой задержкой TTFB, медленной реакцией на rerouting и отсутствием гибкости в настройке защиты от DDoS-атак и парсинга, что напрямую влияло на производительность, безопасность и доверие клиентов. DDoS-Guard обеспечил миграцию с минимальным даунтаймом; стабильное соединение с сетью фильтрации и быстрый DNS resolve на территории РФ сразу значительно уменьшили показатель TTFB. Защиту подключили на уровнях L3–L4 и L7, а также настроили набор инструментов управления трафиком — правила защиты, сегментацию сайта и лимит запросов — для эффективной защиты от парсинга и скрейпинга. Дополнительно реализовали «параноидальный режим» с автоматической валидацией CAPTCHA, фильтрацию ботов с помощью JS challenge и управление функционалом через REST API.</li></ul><ul><li>Крупное российское сообщество стремилось повысить устойчивость к постоянным кибератакам и сложным L7/L3–L4 атакам, сократить время простоя сайта с часов до секунд, а также внедрить инструменты для прозрачного анализа трафика и быстрой диагностики проблем пользователей. DDoS-Guard подключил защиту с постоянной фильтрацией L7-трафика и сетевого уровня (L3–L4): запросы проходят через каскад фильтров, вредоносный трафик блокируется до достижения серверов, а подозрительные запросы проверяются через CAPTCHA для минимизации ложных срабатываний. Также задействовали правила защиты, сегментацию сайта и лимит запросов (rate limiter). Во время аварийных работ в основном дата-центре функция «Активной балансировки» автоматически перевела весь трафик на резервный дата-центр, сохранив непрерывность работы для пользователей. Для ускорения диагностики проблем и сокращения ложных срабатываний разработали и внедрили решение с уникальным Request ID и сервисными страницами, содержащими детальные данные запроса (IP, временная метка).</li></ul><p>Профиль клиента — это онлайн-сервисы, веб-ресурсы с высокой посещаемостью и проекты с критическими требованиями к доступности API и мобильных приложений, которым необходима защита от DDoS-атак, скрапинга и парсинга без блокировок легитимных пользователей</p><h3>Что можно защитить</h3><p>Обеспечивается полная защита на уровнях модели OSI L3–L7. Под защиту ставятся сайты, API и мобильные приложения, при этом система эффективно фильтрует трафик и отделяет легитимные запросы от ботов-парсеров. Для защиты от скрапинга, брутфорса и SMS-бомбинга доступен модуль «Правила защиты» по условию «доверенный источник запросов», работающий на базе собственной репутационной базы DDoS-Guard. Для API-трафика этот функционал существенно снижает число ложных срабатываний.</p><p>Также среди инструментов управления трафиком доступны:</p><ul><li>правила защиты;</li><li>сегментация сайта;</li><li>лимит запросов;</li><li>фильтрация ботов с помощью JS challenge;</li><li>«параноидальный режим» и проверка подозрительных запросов с помощью CAPTCHA.</li></ul><p>Трафик живых пользователей провайдер не режет: при возникновении подозрений со стороны автоматики посетители могут пройти проверки и получить доступ к сайту.</p><h3>Инфраструктура и экосистема</h3><p>Суммарная емкость сети фильтрации составляет 4 Тбит/с. Компания использует машинное обучение для поведенческого анализа входящего трафика и формирования репутационной модели источников, что помогает отражать в том числе и атаки нулевого дня.</p><p>Управление правилами защиты вынесено в REST API (доступно на всех тарифах, кроме Basic). Решение полностью совместимо с инфраструктурами других облачных провайдеров, таких как AWS, Yandex Cloud и Selectel.</p><p>В услугу входят бесплатный SSL-сертификат, DNS-хостинг с полным доступом к управлению записями и CDN.</p><p>В личном кабинете доступна детальная статистика по обработке трафика и работе каждого модуля в отдельности, а также реализован функционал сбора кастомной статистики для отслеживания метрик, отсутствующих в общей аналитике.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/d9f8e75e-fbe1-4fca-830c-91b223bd6c28.webp" alt="" /><figcaption>Пример отчета</figcaption></figure><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/1a4edeaf-14ee-4154-9b8e-a64109e60157.webp" alt="" /><figcaption>Тепловая карта и статистика атак из личного кабинета</figcaption></figure><h3>Отзывы и репутация</h3><p>Из подтверждённой фактуры — запись в едином реестре российского ПО № 3665 от 28.06.2017 на продукт DDoS-GUARD Protection, свидетельство о государственной регистрации программы № 2023618722 от 27.04.2023, лицензия ФСТЭК № Л024-00107-00/00582472 и лицензии на телематические услуги и передачу данных. Компания аккредитована как ИТ-организация с 2016 года</p><h3>Поддержка и каналы связи</h3><p>Техническая поддержка и дежурная смена инженеров работают круглосуточно 24/7/365. Основное взаимодействие ведется через тикет-систему в личном кабинете, а в рамках приоритетных каналов связи используются Telegram-чаты.</p><p>Обработка обращений во всех каналах осуществляется исключительно сотрудниками — без применения автоматизированных ответов или ИИ-ассистентов. Заявленное время ответа зависит от тарифа: до 2 часов на Basic, до 40 минут на Normal, до 30 минут на Medium, до 15 минут на Premium и до 10 минут на Enterprise. Гарантированный SLA по доступности сервиса — 99,95%.</p><h3>Тарифы, ограничения и условия</h3><ul><li>Basic — 8 000 ₽/мес за один домен,</li><li>Normal — 20 000 ₽/мес за один домен,</li><li>Medium — 48 000 ₽/мес за три домена,</li><li>Premium — 80 000 ₽/мес за пять,</li><li>Enterprise — 200 000 ₽/мес за десять.</li></ul><p>При оплате за 3, 6 и 12 месяцев действуют скидки 5%, 10% и 15%. Новым пользователям доступны 3 дня бесплатно на Basic.</p><p>В базовый тариф уже входят геоблокировки, бесплатный SSL-сертификат, DNS-хостинг и CDN.</p><p><b>Дальше набор услуг расширяется по тарифам:</b></p><ul><li>Normal: выделенный IP-адрес и поддержка сторонних сертификатов</li><li>Medium: отчёты по L7-атакам и балансировка трафика между несколькими серверами</li><li>Premium: пользовательские правила защиты и уведомления об инцидентах</li><li>Enterprise: кастомные страницы, WAF и Bot Mitigation</li></ul><p>Фильтры DDoS работают одинаково на всех тарифах — различия касаются дополнительных модулей и количества пользовательских правил. Атакующий трафик не тарифицируется, так что вам не придется беспокоиться о дополнительных расходах на защиту L7. Необходимые опции можно докупить в магазине допуслуг без заявок.</p><p>Ограничения: на Basic нет управления через API и пользовательских правил защиты, WAF и Bot Mitigation подключаются на старших тарифах отдельными модулями, подключение реализовано только сменой DNS-записей — защита собственной сети по BGP относится к другому продукту  — «Защита сети», а распространение новых DNS-записей занимает до 24 часов при высоком TTL домена.</p><h3>Процесс подключения</h3><p>Быстрое подключение через изменение DNS-записей. Настройка услуги в личном кабинете занимает от 5 минут (в том числе в условиях активной атаки), а само обновление DNS-записей занимает от 5 минут до 24 часов в зависимости от параметров TTL домена.</p><p>После активации в личном кабинете становятся доступны инструменты управления трафиком и параметры фильтрации: правила защиты, сегментация сайта, лимит запросов (rate limiter), опции защиты от ботов и скрапинга, а также управление функциональностью через REST API (доступно на всех тарифах, кроме Basic).</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2026-09-17/53ae83db-a4ea-4d4d-9540-812c11329a32.webp" alt="" /><figcaption>Настройка чувствительности DDoS-фильтров в личном кабинете</figcaption></figure><h3>Для компаний и организаций</h3><p>Продукт зарегистрирован в реестре российского ПО, у компании есть лицензия ФСТЭК — это закрывает требования по импортозамещению при закупках. Юрлицам доступны оплата по счёту и закрывающие документы, приоритетные каналы связи и сопровождение персональным менеджером на старших тарифах.</p><p>Официальный сайт:<a href="https://ddos-guard.ru/web-protection?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=10_website_protection_systems"> ddos-guard.ru</a><br /><br /><br /></p><h2>Curator: облачная защита сайтов, API и мобильных приложений от DDoS-атак и ботов без капчи</h2><p>Curator — российский провайдер защиты от DDoS-атак и киберугроз, известный на рынке как Qrator Labs. Компания выросла из исследовательского проекта 2006 года, в 2009-м превратила его в коммерческое облачное решение, а в 2010-м запустила собственную фильтрующую сеть. Сегодня это сеть из 21 центра фильтрации по всему миру с пропускной способностью анализа и фильтрации свыше 6 Тбит/с.</p><p>На рынке отличаются тем, что:</p><ul><li>не используют CAPTCHA как основной механизм проверки: защита прозрачна для легитимных пользователей, а вредоносные запросы блокируются с первого обращения</li><li>фильтруют HTTPS-трафик без раскрытия ключей шифрования SSL — это отдельная технология, критичная для банков и финансовых сервисов</li><li>заявляют 0% ложных срабатываний в стандартном режиме работы и не более 5% под массированной атакой</li><li>держат время реакции на атаку менее секунды на L3–L4 и до 60 секунд на L7</li><li>собрали вокруг Anti-DDoS целую линейку из семи продуктов: CURATOR.ANTIDDOS, CURATOR.WAF, CURATOR.ANTIBOT, CURATOR.CDN, CURATOR.BGP, CURATOR.SECONDARYDNS и CURATOR.SCANNER — все работают в едином облачном периметре</li><li>не тарифицируют нежелательный трафик: клиент платит только за легитимную полосу</li></ul><p>Профиль клиента — компании с высокими требованиями к непрерывности сервиса, которым нужна защита не только сайта, но и API с мобильными приложениями, и при этом важно не терять живых пользователей на проверках.</p><h2>Что можно защитить</h2><p>CURATOR.ANTIDDOS нейтрализует DDoS-атаки всех типов на уровнях L3–L4 и L7, включая мультивекторные. Защитить можно как отдельный веб-ресурс, так и всю инфраструктуру — это зависит от способа подключения.</p><p>CURATOR.ANTIBOT закрывает отдельный класс угроз: веб-скрейпинг и копирование контента, брутфорс логинов и промокодов, credential stuffing и захват учётных записей, скликивание рекламы и накрутку метрик, автоматизированные атаки на API, а также бот-трафик, который используется как топливо для L7-атак. Продукт блокирует более 4 млрд бот-запросов ежемесячно.</p><p>Для мобильных приложений на iOS и Android предусмотрена отдельная схема: проверка окружения через браузерную аутентификацию при входе и валидация токенов безопасности для API-запросов. Прямые обращения к API тоже фильтруются.</p><p>Детектирование строится на JS-снятии цифровых отпечатков браузера и устройства, анализе DOM и поведенческих паттернов, сравнении с профилями легитимных пользователей и сверке с базой известных вредоносных ботов. Режимов работы два — мониторинг и блокировка с настраиваемыми страницами.</p><p>CURATOR.WAF защищает от эксплуатации уязвимостей: SQL-инъекции, XSS, command injection, весь OWASP Top 10, атаки на бизнес-логику и на API. Для API доступны валидация HTTP-запросов, контроль параметров и заголовков, rate limiting и блокировка источников при аномалиях.</p><h2>Инфраструктура и экосистема</h2><p>21 точка фильтрации по всему миру, суммарная пропускная способность анализа и фильтрации — свыше 6 Тбит/с. Сеть подключена к Tier-1-провайдерам, компания состоит в RIPE NCC с 2016 года и участвует в инициативе MANRS с 2021-го. Команда — более 80 экспертов в шести локациях, партнёрская сеть — свыше 200 партнёров по миру.</p><p>Решение полностью облачное: устанавливать модули на стороне клиента не нужно. Подключить можно двумя способами. DNS-подключение защищает веб-ресурсы на L7, работает с TCP-трафиком и не требует собственной автономной системы. BGP-подключение закрывает всю инфраструктуру, поддерживает все протоколы, включая UDP, но требует собственной AS и IP-блока.</p><h2>Поддержка и каналы связи</h2><p>Техподдержка доступна по бесплатному номеру, вопросы решаются также через почту <a>mail@curator.pro</a>, Telegram и сообщество во «ВКонтакте».</p><p>Гарантированная доступность сервиса зафиксирована в SLA и различается по тарифам: 97% на Professional, 99% на Business, 99,5% на Corporate и 99,9% на Enterprise.</p><h2>Тарифы, ограничения и условия</h2><ul><li>Professional — от 23 000 ₽/мес, SLA 97%, фильтрация вредоносного трафика до 10 Гбит/с</li><li>Business — от 78 000 ₽/мес, SLA 99%, фильтрация до 50 Гбит/с, HTTPS-фильтрация без раскрытия ключей шифрования, защита WebSocket и TCP</li><li>Corporate — от 160 000 ₽/мес, SLA 99,5%, фильтрация до 500 Гбит/с, BGP-подключение и выделенные порты</li><li>Enterprise — по запросу, SLA от 99,9%, индивидуальная настройка</li></ul><p>В каждый тариф включено 10 Мбит/с легитимной полосы, дальше — 800 ₽ за каждый дополнительный Мбит/с. Нежелательный трафик не тарифицируется вообще. Каждый IP-адрес сверх первого стоит от 7 000 до 25 000 ₽/мес в зависимости от тарифа. DNS подключается от 8 000 ₽/мес, CDN — от 10 000 ₽/мес. Новым пользователям доступны 7 дней бесплатно.</p><p>Ограничения: WAF, антибот, CDN, DNS и управление через API идут отдельными платными опциями, а не входят в базовый функционал. HTTPS-фильтрация без раскрытия ключей недоступна на Professional. BGP-подключение требует собственной автономной системы и IP-блока, поэтому проекту без своей AS остаётся только DNS-схема.</p><h2>Процесс подключения</h2><p>Настройка DNS-подключения занимает около 15 минут и не требует установки оборудования или модулей на стороне клиента. Дальше трафик идёт через фильтрующую сеть Curator, а в личном кабинете становятся доступны аналитика в реальном времени и автоматические отчёты по инцидентам. Бесплатный тестовый период — 7 дней, но если ресурс в этот момент уже под атакой, он сокращается до 24 часов.</p><h2>Для компаний и организаций</h2><p>ПО в реестре российского ПО и аккредитация ИТ-компании закрывают требования по импортозамещению при закупках. Решение поддерживает соответствие PCI DSS — за счёт фильтрации HTTPS без раскрытия ключей шифрования. Отдельный продукт CURATOR.BGP пригодится тем, кому важен мониторинг маршрутизации и защита от BGP-инцидентов.</p><p>Официальный сайт: <a href="https://curator.pro/solutions/anti-ddos?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=10_website_protection_systems">curator.pro</a></p><h2>StormWall: защита сайтов, сетей и TCP/UDP-сервисов от DDoS-атак с оплатой только легитимного трафика</h2><p>StormWall — российский разработчик и поставщик защиты от DDoS- и хакерских атак для сайтов, серверов, сетей и ИТ-инфраструктур. Сеть очистки трафика состоит из 10 узлов по всему миру с общей ёмкостью фильтрации более 8 000 Гбит/с. Подключение веб-ресурса занимает 10 минут и делается через перенаправление DNS-записи на защищённый IP-адрес StormWall.</p><p>На рынке отличаются тем, что:</p><ul><li>держат самую большую заявленную ёмкость фильтрации среди российских провайдеров: более 8 000 Гбит/с</li><li>берут деньги только за легитимный трафик: клиент платит за реальных пользователей, а не за объём атаки</li><li>отбивают атаку быстро и бесплатно даже до заключения договора и отдают отчёт — решение работать дальше остаётся за клиентом</li><li>дают SLA и время реакции прямо в тарифной сетке: от 3 часов на младшем тарифе до 15 минут на старшем</li><li>закрывают не только сайты, но и сети через BGP и произвольные TCP/UDP-сервисы — это отдельные продукты, а не опции к веб-защите</li><li>имеют статус локального интернет-регистратора (LIR), состоят в RIPE и являются официальным партнёром DE-CIX</li></ul><p>Профиль клиента — проекты, которым нужна предсказуемая стоимость защиты и прозрачное управление: от личных сайтов на младшем тарифе до банков, страховых, ритейла и провайдеров на старших. Отдельно StormWall работает с интернет-провайдерами и телекомом, онлайн-играми, банками и интернет-магазинами.</p><h2>Что можно защитить</h2><p>StormWall для сайта фильтрует весь входящий трафик по технологии проксирования на уровнях L3–L7 и блокирует SYN Flood, UDP Flood, HTTP Flood, Slowloris, DNS amplification и атаки с ботнетов. Помимо веб-ресурсов защита есть для сетей через BGP и для произвольных TCP/UDP-сервисов — это отдельные продукты линейки. Для тех, кому нужна защита в собственной инфраструктуре, существует StormWall Appliance.</p><p>Антибот идёт двумя уровнями. Базовый включён во все тарифы на защиту сайта, не требует настройки и отделяет людей от скриптов интерактивными проверками: cookie-валидация, HTTP-редиректы, JavaScript-испытания и капча, когда без неё не обойтись. Продвинутый антибот доступен на тарифе Enterprise: настраиваемые сценарии защиты под конкретную бизнес-логику, анализ TLS-отпечатков JA3 и JA4, списки доверенных и недоверенных отпечатков, моделирование паттернов HTTP-запросов и гибкие комбинации правил. Реакций на срабатывание несколько — пропустить запрос, ограничить частоту, показать интерактивную проверку или заблокировать.</p><p>Отдельно закрываются риски: мошеннические транзакции, скальпинг товарных остатков, кража контента, компрометация учётных данных, злоупотребление платёжными картами, накрутка рекламных кликов и SEO-манипуляции.</p><p>WAF защищает веб-приложения и API: SQL-инъекции, XSS, CSRF, атаки на API с контролем доступа и rate limiting, эксплуатация бизнес-логики. Покрытие — от OWASP Top 10 до целевых атак на API, с ML-детектом 0-day и 1-day угроз. Вместе с Anti-DDoS и антиботом получается трёхуровневая защита в одном контуре.</p><h2>Инфраструктура и экосистема</h2><p>Сеть очистки — 10 узлов общей ёмкостью более 8 000 Гбит/с: Москва (ММТС-9), Санкт-Петербург (Selectel SPB-2), Майами (Equinix MI1), Лос-Анджелес (Equinix LA1), Франкфурт-на-Майне (Equinix FR5 и e-Shelter FR1), Гонконг (Equinix HK1), Сингапур (Equinix SG3), Дубай (SmartHub Fujairah), София (Telepoint Center) и Джакарта. На 2026 год заявлен запуск площадок в Сан-Паулу, Мумбаи и Алматы.</p><p>Кэширование статических элементов работает по технологии HyperCache и снимает нагрузку с веб-серверов — CDN идёт внутри подписки, без дополнительных затрат. Защита возможна без раскрытия SSL. На SEO и сервисы аналитики фильтрация не влияет, реальные IP-адреса посетителей сохраняются в HTTP-заголовке.</p><p>Личный кабинет даёт аналитику в реальном времени, настраиваемые правила фильтрации, историю атак, аналитику запросов и кодов ответов, автоматические уведомления об атаках, подробные отчёты в PDF и управление субаккаунтами и ролями. Отчёты о защите можно получать на почту не только по расписанию, но и в произвольный момент. На старших тарифах доступны управление антиботом (JA3 и цепочки) и доступ к логам запросов через Graylog.</p><p>Технологический стек компания раскрывает открыто: бэкенд на Python, PHP и C, фронтенд на HTML5, CSS3 и JS, PostgreSQL в качестве основной СУБД, контейнеризация по стандарту OCI и оркестрация на Kubernetes во внутренней инфраструктуре.</p><h2>Поддержка и каналы связи</h2><p>Поддержка работает круглосуточно, заявленная скорость ответа — до 15 минут. Поддержка в мессенджере доступна начиная с тарифа Business ONE. Гарантированное время реакции на запрос зафиксировано в тарифе: 3 часа на Personal, 30 минут на Business ONE, 15 минут на Enterprise ONE и StormWall Private.</p><h2>Тарифы, ограничения и условия</h2><p>Цены на защиту сайта опубликованы открыто (за один домен второго уровня):</p><ul><li>Personal — 12 000 ₽/мес, 25 Мбит/с полосы, SLA 98%, реакция за 3 часа</li><li>Business ONE — 45 000 ₽/мес, 50 Мбит/с, SLA 99,2%, реакция за 30 минут</li><li>Enterprise ONE — от 115 000 ₽/мес, 50 Мбит/с и выше, SLA 99,5%, реакция за 15 минут</li><li>StormWall Private — от 348 000 ₽/мес, премиальная защита по индивидуальным правилам</li></ul><h2>Процесс подключения</h2><p>Подключение занимает 10 минут и проходит в три шага. Клиент получает защищённый IP-адрес StormWall, DNS-запись сайта перенаправляется на этот адрес — дальше весь трафик проверяется, фильтруется и оптимизируется, а вредоносные запросы блокируются сразу. На сервер приходит только чистый трафик с сохранением реальных IP-адресов посетителей в HTTP-заголовке. Если у компании есть собственные сети, защиту сайта можно подключить по BGP без смены IP-адреса. Бесплатный тестовый период предусмотрен, а идущую прямо сейчас атаку в StormWall обещают отбить бесплатно и выдать отчёт.</p><h2>Для компаний и организаций</h2><p>Юрлицам доступны оплата банковским переводом и заключение договора, договор-оферту можно скачать с сайта до обращения в отдел продаж. Для миграции с зарубежных сервисов у StormWall есть отдельный сценарий: настройки готовятся заранее по анкетам, а переключение проходит поэтапно через тестовый контур.</p><p>Официальный сайт: <a href="https://stormwall.pro/products/website-ddos-protection?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=10_website_protection_systems">stormwall.pro</a></p><h2>Servicepipe: высокоточная защита сайтов, API и мобильных приложений от DDoS-атак и продвинутых ботов — в облаке и на своей инфраструктуре</h2><p>Servicepipe — российский разработчик систем защиты веб-ресурсов и ИТ-инфраструктуры, работающий с 2015 года. Компания заявляет более 200 компаний под защитой, свыше 500 реализованных проектов, партнёрскую сеть из 110+ компаний и команду более 150 человек — инженеров NOC и SOC, аналитиков данных и разработчиков высоконагруженных систем. Отличие от чисто облачных провайдеров в том, что Servicepipe одинаково закрывает и сценарий «поставьте нам защиту в облаке», и сценарий «разверните её внутри нашего периметра».</p><p>На рынке отличаются тем, что:</p><ul><li>дают четыре схемы интеграции вместо одной: облачный Proxy, локальный модуль Cybert на NGINX или Angie, гибрид и IP-Transit с анонсом подсети — можно собрать конфигурацию под требования безопасности, а не подстраиваться под вендора</li><li>принимают решение по каждому запросу менее чем за 1 миллисекунду и анализируют более 100 технических параметров запроса</li><li>заявляют менее 0,01% ложных срабатываний</li><li>работают без капчи по умолчанию: интеграция с CAPTCHA возможна, но не обязательна</li><li>умеют терминировать зашифрованный трафик локально, без передачи ключей SSL/TLS наружу — через Cybert</li><li>фильтруют не по IP-адресу, а по отдельным запросам, что важно для NAT и мобильного трафика</li><li>тарифицируют защиту по полосе легитимного трафика без ограничений по объёму атаки: ни пиковая атака, ни многодневный DDoS не приводят к смене тарифа</li></ul><p>Профиль клиента — компании, у которых боты бьют по бизнес-логике: интернет-магазины и маркетплейсы с парсингом цен и скальпингом, финансовые сервисы с брутфорсом и фродом, а также организации с регуляторными требованиями, которым нельзя выпускать расшифрованный трафик за периметр.</p><h2>Что можно защитить</h2><p>Под защиту ставятся сайты, веб-приложения, API и мобильные приложения. Система закрывает DDoS-атаки на уровнях L3–L7, включая высокочастотные и низкочастотные, объёмные UDP-флуды с амплификацией, некорректные TCP-соединения, проблемы SSL-сессий и низкочастотные атаки поверх HTTPS.</p><p>По ботам список угроз шире обычного: веб-скрейпинг и парсинг контента, сканирование уязвимостей, SMS-бомбинг, брутфорс пользовательских аккаунтов, фейковые регистрации и мошеннические заявки, атаки на бизнес-логику из OWASP API Security Top 10 и OWASP Automated Threats.</p><p>Детект строится на нескольких слоях одновременно: сигнатурный анализ в реальном времени по известным паттернам атак, репутационный анализ источника, поведенческая аналитика на ML-моделях и фингерпринтинг с оценкой данных клиентского окружения. Система постоянно донастраивается аналитиками.</p><p>Инструменты управления в личном кабинете: собственные правила, списки блокировки и разрешений, географические ограничения и лимиты частоты запросов. Для API отдельно доступен rate limiting.</p><p>Облачный WAF подключается поверх и закрывает атаки прикладного уровня. Устроен он необычно: Servicepipe предлагает на выбор три решения — PT Cloud Application Firewall от Positive Technologies, SolidWall от SolidLab и ПроWAF от WMX. Поддержка бывает двух уровней: базовая (подключение, дефолтные политики, сопровождение инфраструктуры) и Managed WAF (настройка политик под приложение, разбор ложных срабатываний, работа с вендором и закрытие уязвимостей правилами WAF).</p><h2>Инфраструктура и экосистема</h2><p>Платформа геораспределённая, с присутствием в основных дата-центрах Москвы. Ёмкость сети фильтрации на сайте не раскрывается — этот параметр стоит запросить у вендора.</p><p>Схем интеграции четыре. Proxy — облачная фильтрация ботов и DDoS через смену A-записи DNS с передачей SSL/TLS-сертификата. Module — локальный модуль Cybert на веб-сервере NGINX или Angie, без смены DNS-записей и без передачи ключей шифрования. Hybrid — облачная фильтрация DDoS в связке с локальной защитой от ботов через обратный TCP-прокси, при этом терминация SSL остаётся на стороне клиента. IP-Transit — фильтрация DDoS на сетевом уровне через анонс подсети.</p><p>Cybert — отдельный продукт для тех, кому нужна локальная защита сайтов, веб-приложений и API внутри собственной инфраструктуры. Работает на L7, решение принимает менее чем за 1 миллисекунду, ложных срабатываний менее 0,01%, поддерживает NGINX и Angie. Продукт соответствует требованиям PCI DSS и ГОСТ Р 57580.1–2017. Cybert используют более 20 российских компаний.</p><p>Для инфраструктуры есть DosGate (on-premise) и FlowCollector, для маркетинга — линейка Visibla, отдельно существуют защищённый DNS-хостинг и Digital Fraud Protection. В лабораторном контуре доступны стресс-тестирование и анализ логов веб-сервера.</p><p>В личном кабинете есть дашборды, аналитика трафика, логи запросов и кастомные события — видно, что именно и по какой причине заблокировано.</p><h2>Поддержка и каналы связи</h2><p>Техническая поддержка работает круглосуточно и в проактивном режиме — она включена в услугу, а не продаётся отдельным пакетом. Заявленное время реакции на инцидент — 10 минут. Связаться можно по телефону, почте <a>welcome@servicepipe.ru</a> для новых обращений и <a>cybert@servicepipe.ru</a> для действующих клиентов. Для WAF отдельно доступен формат Managed, когда политики и разбор ложных срабатываний берёт на себя команда Servicepipe.</p><h2>Тарифы, ограничения и условия</h2><p>Стоимость считается индивидуально, по запросу. Известна сама модель тарификации — защита оплачивается по полосе легитимного трафика, без ограничений по объёму атаки. Ни пиковая атака, ни многодневный DDoS не требуют перехода на другой тариф и не приводят к доплате за «мусорный» трафик.</p><p>WAF считается отдельно, и модель тарификации зависит от выбранного вендора WAF. Важный нюанс: WAF стоит в цепочке после фильтрации DDoS и ботов, поэтому платить за обработку мусорного трафика на этом уровне тоже не приходится.</p><p>Ограничения: WAF работает только в схеме Proxy в связке с Web DDoS Protection или Web DDoS &amp; Bot Protection, потому что для анализа прикладного уровня нужна расшифровка SSL/TLS. Локальный модуль Cybert поддерживает только NGINX и Angie — другие веб-серверы придётся закрывать облачной схемой. Публичных цен нет, так что быстро прикинуть бюджет по сайту не получится.</p><h2>Процесс подключения</h2><p>Подключение занимает от 10 до 30 минут. В облачной схеме нужно сменить A-запись DNS и передать SSL/TLS-сертификат — дальше трафик проходит через платформу фильтрации, проверяется и уходит на защищаемый ресурс обратным прокси. В локальной схеме модуль Cybert ставится на NGINX или Angie, менять DNS-записи не требуется. После подключения в личном кабинете становятся доступны правила, списки, геоограничения, лимиты частоты запросов, дашборды и логи.</p><p>Перед боевым запуском доступен пилот на 14 дней, а также демонстрация продукта и стресс-тестирование в лабораторном контуре.</p><h2>Для компаний и организаций</h2><p>Cybert в реестре российского ПО, у компании три лицензии ФСТЭК — требования по импортозамещению при закупках закрываются. Соответствие ГОСТ Р 57580.1–2017 и PCI DSS делает решение применимым в финансовом секторе, а локальная терминация шифрованного трафика подходит организациям, которым нельзя выпускать расшифрованный трафик за периметр. Для перехода с зарубежных ИБ-решений у компании есть отдельная программа миграции.</p><h2>Официальный сайт: servicepipe.ruЧто выбрать</h2><p>Если проблема не в объёме атак, а в ботах, которые работают по бизнес-логике — парсят цены, резервируют товар, накручивают клики, — смотрите NGENIX. Запросы раскладываются по четырём категориям, и для каждой вы сами выбираете сценарий; для API анализируется поведение клиента целиком, а не отдельный запрос.</p><p>Если вы под атакой прямо сейчас — DDoS-Guard. Настройка занимает от пяти минут даже в разгар атаки, порог входа — 8 000 ₽/мес за домен, опции докупаются без заявок и согласований, а в поддержке отвечают живые инженеры.</p><p>Остальные три — под более узкие задачи:</p><ul><li>Curator — когда нельзя терять живых пользователей на проверках: капча не используется как основной механизм, HTTPS фильтруется без раскрытия ключей.</li><li>StormWall — когда нужно посчитать бюджет, не написав в отдел продаж: прайс открыт. Закрывает и сети по BGP.</li><li>Servicepipe — когда расшифрованный трафик нельзя выпускать за периметр: модуль ставится на ваш NGINX или Angie. Цены по запросу.</li></ul><p>Перед договором проверьте два пункта: тарифицируется ли атакующий трафик и какое время реакции поддержки зафиксировано в вашем тарифе.</p>]]></content:encoded>
    </item>
    <item>
      <title>Cloud Trust vs Zero Trust: стандарты безопасности в гибридном окружении</title>
      <link>https://tproger.ru/articles/cloud-trust-vs-zero-trust-standarty-bezopasnosti-v-gibridnom-ok</link>
      <comments>https://tproger.ru/articles/cloud-trust-vs-zero-trust-standarty-bezopasnosti-v-gibridnom-ok?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/cloud-trust-vs-zero-trust-standarty-bezopasnosti-v-gibridnom-ok</guid>
      <description><![CDATA[<p>Как построить безопасность гибридной инфраструктуры: Zero Trust и Cloud Trust, сетевой доступ, IAM, контроль конфигураций и мониторинг в облаке.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/cloud-trust-vs-zero-trust-standarty-bezopasnosti-v-gibridnom-ok">Cloud Trust vs Zero Trust: стандарты безопасности в гибридном окружении</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 21 Sep 2026 05:22:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>Меня зовут Саша Черток, руковожу отделом безопасности контейнерных и облачных технологий в Альфа-Банке. Расскажу, как вывести организацию в облако, даже если она максимально зарегулирована.</p><h2>Изначально был только сервер</h2><p>В котором мы жили по уже сложившимся канонам внутри известного и подконтрольного периметра и исповедовали Zero Trust — подход к безопасности, при котором никто никому не доверяет по умолчанию. И однажды у нас появилась задача «въехать» в облако. Но не в ещё один собственный ЦОД, а во внешнее облако.</p><p>Пример выезжающих в облако в рамках пилотов команд говорил, что всё будет быстро и легко. Но быстро и легко пришло только осознание, что нельзя просто так взять и перенести on-prem в облако.</p><p>Почему?</p><p>Потому что традиционные средства и подходы не работают. Само по себе облако имеет специфику безопасности, а риски отличаются от традиционной инфраструктуры. Возможно, по этой причине за 2024 год больше <a href="https://www.checkpoint.com/resources/items/cloud-security-report-2024">60% компаний столкнулись с инцидентами безопасности, связанными с облаком</a>, а в 2025 — <a href="https://www.checkpoint.com/press-releases/dangerous-blind-spots-costing-enterprises-time-trust-and-agility-exposed-in-check-points-2025-cloud-security-report/">уже 65%</a>?</p><p>Если, как упоминал ранее, мы жили за неким сетевым периметром, где можно было отгородиться блокирующими или разрешающими правилами или «белыми списками», то облако — это API-first инфраструктура, где используемые сервисы (особенно managed services) не стоят за какими-то фаерволами, а имеют в первую очередь публичные API, доступ к которым регулируется иными правилами: RBAC, политики, ACL.</p><p>Возникает новая модель ответственности, где часть задач берет на себя платформа и её сотрудники. Это так называемый Cloud Trust — модель безопасности, которая предполагает разделение обязанностей между провайдером и клиентом.</p><p>Но даже если ответственность поделена, отпускать контроль мы не можем. Но и тормозить команды оправданиями «уникальной специфики облака» тоже не будем. Так что мы решили не изобретать велосипед, а просто учесть специфику облака в виде вариантов технической реализации наших текущих процессов. Ниже я пройду по базовому набору действий: сеть, доступы, конфигурации и SOC.</p><h2>№1. Сетевой доступ</h2><p>Мы сделали практически полный маппинг ресурсной организации on-premises с ресурсной организацией Yandex Cloud (ЯО далее).</p><p>Как и говорил ранее, у нас появляется новый периметр — IAM. Но и старый никуда не исчезает. Сетевая изоляция и микросегментация остаются чуть ли не самыми важными вопросами ИБ до сих пор. Потому первый же вопрос, который мы задали себе при выезде, был таков: «А как нам с ним общаться?» То есть как строить интеграции, как пускать управляющий трафик и трафик этих интеграций и так далее.</p><p>Ответом на вопрос стал <a href="https://yandex.cloud/ru/docs/interconnect/?utm_referrer=about%3Ablank">интерконнект</a>. Это оптика с тёмным волокном между Банком и Платформой, поверх которой накладывается ГОСТ-шифрование. В интерконнект мы заворачиваем весь свой трафик, ходим из сети Банка в консоль, строим внутри интеграции и т.д.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-09-21/5e83de53-fe11-472f-946d-04b5db60e6a0.webp" alt="" /></figure><p>Чтобы текущие процессы продолжали работать в облаке, должна появиться схожая структура и организация управляемых объектов, то есть сетей, подсетей и правил фаерволинга. Напомню, что мы тут про ИБ, поэтому опустим некоторые детали сетевой архитектуры.</p><p>В банке у каждой условной системы есть свой набор сред (упрощенно: dev, test, prod). Каждая из них имеет собственный набор подсетей, строго изолированных друг от друга. В рамках одной среды подсети этой системы также изолированы фаерволами.</p><p>Такую же структуру мы организовали в облаке: система — это облако, а фолдеры – среды, каждая из которых имеет свои сети/подсети и набор правил фаерволинга, реализованных через Security Groups (как механизм сетевой изоляции).</p><p>Также и трафик в самом интерконнекте поделен между средами и не пересекается. Мы сохранили текущую архитектуру, научились работать с сетями облака, как с собственными, реализовав текущий процесс управления сетевыми доступами в новом окружении.</p><p>Команда, как и раньше, согласовывает проект, заказывает подсети и сетевые доступа, как в on-prem, но в облаке. И даже если система поделена между on-prem и облаком, то её связность никак не нарушается. Все проекты, выезжающие в облако, получают пул IP-адресов с банковской сетью. Эти сети анонсируются в интерконнект и выглядят так, будто просто находятся в другом ЦОДе, и в нашей системе учета сетей пул заводится как обычная подсеть.</p><p>Мы выбрали контроль через сохранение текущей модели управления доступом, но делегировали реализацию этого процесса облачным сервисам — тем же Security Groups, которыми мы управляем через Terraform.</p><p>Единственное, что внешний трафик («интернет-интернет») в облако и из облака пока не пускаем — только через внутреннюю инфраструктуру. Но когда-нибудь сможем.</p><h2>№2. Пользовательский доступ</h2><p>Осознавая критичность пользовательских доступов в новой парадигме, мы решили, что и процесс управления последними также должен быть универсальным и повторять свою реализацию в новом окружении. Внутри все пользовательские доступы, доступы систем, технических учетных записей, управляются централизованно через Active Directory (AD) и KeyCloak, которые также поделены по средам. Облако позволяет их интегрировать со своим IAM и построить на их базе федерации для каждой из сред со своими наборами политик.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-09-21/9221a083-d8df-474e-a89e-4d860990bdb6.webp" alt="" /></figure><p>Фактически процесс аутентификации происходит в банке и транслируется в ЯО — то есть мы продолжаем использовать именно банковские корпоративные УЗ через банковскую же инфраструктуру для доступа к ресурсам и консоли облака.</p><p>А что с авторизацией и правами?</p><p>Сама по себе авторизация очень важна, и в какие бы разные и мелкие группы пользователей AD мы ни распределяли сотрудников, она всё равно работает уже на самом сервисе. Без сервисных ролей здесь никуда.</p><p>Мы начали переход в облако давно, и на первых этапах роли были примитивнее, чем сервисные. Со временем у ЯО появилась отличная грануляция сервисных прав, которая очень удобно позволяет собирать роли, соблюдая принципы наименьших привилегий. И также позволяет сопоставлять упомянутые ранее группы A D и группы пользователей IAM в ЯО. Фактически мы и здесь реализовали текущий процесс управления доступом в новом облачном окружении, сохранив командам привычный флоу работы и скорость без потери контроля.</p><p>Получился отличный баланс – аутентификация как в on-prem, но логичное делегирование авторизации в облако.</p><h2>№3. Контроль конфигурации</h2><p>Ну а что насчет самого разворачивания в облаке? Как вообще выезжать и контролировать то, что едет?</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-09-21/b7bfdf5d-abeb-497c-bd36-c84c06daf0de.webp" alt="" /></figure><p>Чуть ранее я говорил, что мы используем ту же модель объектов в облаке, что и в банке, т.е. условно созданный Compute Cloud в облаке фиксируется в нашей системе инвентаризации как обычная WM. То же самое с сетями, то же и с другими сервисами.</p><p>Но что изменилось?</p><p>Например, мы стали вести реестр и критерии применимости Managed Services – каждый из них имеет свои возможности и нюансы, и мы начали с того, что провели анализ и составляем некую карту применимости того или иного managed services в том или ином проекте, с помощью которой можем решить, что один сервис разрешен одной команде, а другой запрещен.</p><p>Каждый проект должен создать свою проектную документацию – фактически отрисовать архитектуру с применяемыми в том числе облачными ресурсами. По итогу он получит согласование (сам процесс согласования сейчас не важен). И далее команда идет не в ЯО, а в нашу внутреннюю платформу, интегрируемую с облаком и через неё заказывает все необходимые ресурсы —&gt; всё будет поднято для них в облаке. А мы на своей стороне сможем проверить ту же конфигурацию этих ресурсов.</p><p>Стоит отметить, что облако помимо предоставления своих образов ОС, за безопасностью и свежестью которых они следят самостоятельно, также позволяют приносить и свои образы, чем мы активно и пользуемся. И здесь, как я ранее писал, мы также разрешаем использовать и облачные managed services.</p><p>Далее на развернутую инфраструктуру надо деплоить приклад — мы выбираем платформу CI/CD. Но здесь всё просто – у нас есть требования к платформам CI/CD и фактически такую систему можно сделать полностью облачной, что мы пробовали. Но использовать внутреннюю, уже построенную и готовую, куда удобнее: все сканеры настроены, все гейты построены.</p><p>И, самый интересный пункт, по моему мнению — контроль развернутого. Так уж получилось, что у нас есть своя команду ответственных за безопасность облаков, которой удается время от времени заниматься исследование новых облачных сервисов, актуализировать модель угроз и требования.</p><p>А так как в облаке у нас довольно внушительная инфраструктура, много новых тяжелых подпроцессов, новых требований и моделей угроз, а команда маленькая, то без автоматизации никак. Потому с самого начала мы перекладывали все требования в код. Сейчас наши требования выглядят как набор проверок в коде — фактически это сканер облаков, являющийся клиентом над API облака, со всеми необходимыми нам функциями. Так, фактически, у нас появился собственный CSP (Cloud Security Posture Management — управление состоянием безопасности облака).</p><p>Этот подход позволяет писать любые требуемые нам проверки. Но порой нам может не хватать экспертизы в каких-то вопросах, и без экспертизы ЯО не обойтись, поэтому мы также можем использовать сервис Yandex Security Deck с его модулями.</p><p>На данном этапе мы всё ещё сохраняем преимущественно Zero Trust подход, но частично отдаём ответственность ЯО.</p><h2>№4. SOC</h2><p>Мы всё развернули, задеплоили, прошли проверки ИБ. А значит пора мониторить, детектить и реагировать. В on-prem мы знаем всё: у нас свои правила и полный контроль логов — на это отдельно выделена функция SOC.</p><p>Но в облаках у нас нет полного контроля над логами, так как:</p><ul><li>мы можем использовать только те сервисы сбора логов, что нам предоставляет площадка: Control Plane и Data Plane (= Audit Trail/Cloud Logging), а также логи действия самого провайдера;</li><li>в ЯО постоянно появляются сервисы (которые, конечно же, сразу нужны командам), а фичи (в плане логирования) за ними не поспевают.</li></ul><p>Но одно дело получить, другое — обработать (нужен детект). На это нужно нанимать команду, чтобы собирать, обрабатывать, а это дорого (да и свою экспертизу надо наращивать).</p><p>Поэтому мы всё ещё пользуемся сервисом <a href="https://yandex.cloud/ru/docs/ycdr/?ysclid=mtv520kpfg53367103">YCDR</a> от платформы, который позволяет нам закрывать эту функцию в облаке.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-09-21/88b71978-111c-472b-8560-85f88448c60c.webp" alt="" /></figure><p>Примечание. С логами у нас ситуация строгая, и не все сервисы выдают необходимые объём и формат, но команда ЯО всегда старается реализовать необходимый FR или же всегда можно воспользоваться их экспертизой и сервисом SOC.</p><h2>Итого</h2><p>На данный момент в облаке у нас довольно большая инфраструктура: разные среды, разные системы, 1500 виртуальных машин, 100 managed services, 1000 пользователей — сотрудники и члены команд и сервисных аккаунтов.</p><p>Если собрать всё, о чём мы говорили, в одну картину, то кажется, что сети, доступы, конфигурации, мониторинг — это разные процессы. Но на самом деле в каждом из них мы принимаем одно и то же решение — где оставить контроль, а где довериться облаку.</p><p>Безопасность в гибридной инфраструктуре — это не набор инструментов, сумма решений. Если пытаться всё контролировать — не успеем за скоростью облака. Если доверять всему — потеряем безопасность. Поэтому единственный рабочий подход — это баланс между Zero Trust и Cloud Trust.</p>]]></content:encoded>
    </item>
    <item>
      <title>libheif 1.23.4 закрыла уязвимости при чтении и декодировании HEIF</title>
      <link>https://tproger.ru/news/libheif-1-23-4-zakryla-uyazvimosti-pri-chtenii-i-dekodirovanii-hei</link>
      <comments>https://tproger.ru/news/libheif-1-23-4-zakryla-uyazvimosti-pri-chtenii-i-dekodirovanii-hei?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/libheif-1-23-4-zakryla-uyazvimosti-pri-chtenii-i-dekodirovanii-hei</guid>
      <description><![CDATA[<p>libheif 1.23.4 чинит квадратичный разбор iinf (23 МБ файла дают 1,5 ГБ памяти), рекурсию в проверке ссылок, вечный дедлок декодера и падение WebAssembly-сборки.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/libheif-1-23-4-zakryla-uyazvimosti-pri-chtenii-i-dekodirovanii-hei">libheif 1.23.4 закрыла уязвимости при чтении и декодировании HEIF</a>»</p>]]></description>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[WebAssembly]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 07 Sep 2026 09:30:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>Вышла libheif 1.23.4, библиотека для чтения и записи HEIF и AVIF, которую используют для работы с изображениями. Выпуск <a href="https://github.com/strukturag/libheif/releases/tag/v1.23.4">закрывает шесть уязвимостей</a>, три из них с высокой оценкой, и объявлен ABI- и API-совместимой заменой 1.23.3: релиз сохраняет интерфейсы предыдущей версии. Это уже третий выпуск безопасности подряд после 1.23.2 и 1.23.3, все шесть проблем нашёл один исследователь под ником hackerman70000.</p><p>Уязвимости затрагивают разные этапы обработки файла. Для ошибки iinf/max_items достаточно чтения контейнера через heif_context_read_from_file, без декодирования изображения. Отдельная проблема возникает при обходе ссылок на этапе декодирования, а взаимная блокировка потоков связана с параллельным декодированием grid-тайлов. Поэтому проверка только загрузки метаданных не воспроизводит все три проблемы с высокой оценкой.</p><ul><li>Лимит max_items не применялся к дочерним боксам iinf: файл объявляет сколько угодно элементов, разбор становится квадратичным. Замер: 1,7, 6 и 23 секунды процессора на файлы 1, 2 и 4,1 МБ; файл 6,9 МБ держит 480 МБ памяти, 23 МБ файл 1,5 ГБ, и max_total_memory этого не видит. В сборке под Emscripten тот же счётчик задавал размер alloca на 64-килобайтном стеке WebAssembly: 16 000 элементов проходят, 17 000 роняют вызов, с 18 000 модуль ломается необратимо.</li><li>Неограниченная рекурсия при обходе ссылок могла исчерпать стек; исправленный обход на этапе декодирования использует явный список в куче.</li><li>Инверсия порядка блокировок при параллельном декодировании тайлов grid (включено по умолчанию) давала вечный дедлок; циклические графы ссылок отклоняются до начала декодирования.</li><li>Три проблемы средней важности: чтение за границей буфера в плагинах кодировщиков aom и x265, неисправимая утечка памяти в heif_track_get_next_raw_sequence_sample и чтение за границей в экспериментальном плагине WebCodecs.</li><li>Уязвимы версии от 1.16.0 до 1.23.3 включительно (в зависимости от проблемы), исправлено в 1.23.4; номера CVE будут присвоены позже.</li></ul><h2>Как одна неучтённая ветка отключила лимит на число элементов</h2><p>В <a href="https://github.com/strukturag/libheif/security/advisories/GHSA-vg7w-rp49-4fc2">отчёте</a> описана классическая ошибка перегруженного параметра. Функция Box::read_children принимает max_number, у которого два смысла: со значением-сентинелом READ_CHILDREN_ALL она читает до конца бокса и проверяет лимит max_items, а с любым другим числом читает ровно столько детей и ничего не проверяет. Box_iinf::parse передавала туда счётчик из самого файла, поэтому проверка, написанная специально для iinf, никогда не выполнялась.</p><p>Дальше цена растёт квадратично: для каждого элемента вызывается полный проход по списку ссылок iref без раннего выхода. Исследователь измерил на одном ядре 1,7, 6,0 и 23 секунды для файлов в 1,0, 2,0 и 4,1 МБ; абсолютные цифры различаются вдвое между машинами, но рост в 3–4 раза на каждое удвоение стабилен против 2 раз у линейного парсера. Всё это происходит внутри вызова, который затем возвращает heif_error_Ok, без коллбэка отмены и прогресса. В 1.23.4 лимит проверяется заранее, объявленное число ограничено оставшимся входом, а запросы к iref индексируются по идентификатору элемента: на файле с 1 000 элементов и 160 000 ссылок dimg время чтения упало с 1,83 до 0,26 секунды.</p><p>Сборка под WebAssembly страдала отдельно. Два вспомогательных метода в Emscripten-обвязке выделяли массив идентификаторов через alloca с размером из того же счётчика. Скрипт сборки не задаёт ни размер стека, ни проверку его переполнения, поэтому использовался стек по умолчанию в 64 КБ: 16 000 элементов занимают 64 000 байт и декодируются, 17 000 прерывают вызов, а с 18 000 переполнение уходит в сегмент статических данных и экземпляр модуля перестаёт работать до перезагрузки страницы. Хелпер вызывается при каждом HeifDecoder.decode().</p><h2>Рекурсия и дедлок: две другие высокие уязвимости</h2><p><a href="https://github.com/strukturag/libheif/security/advisories/GHSA-xrp2-63fq-jm8q">Вторая проблема</a>: проверка на циклы ссылок между производными элементами была рекурсивной, и длинная цепочка исчерпывала стек. Без лимита на число элементов глубина ничем не ограничена. Исправленный обход на этапе декодирования использует явный рабочий список в куче вместо рекурсии.</p><p><a href="https://github.com/strukturag/libheif/security/advisories/GHSA-prgh-72vc-3xmc">Третья проблема</a> затрагивает серверы с параллельным декодированием: параллельное декодирование тайлов grid включено по умолчанию, а ImageItem::decode_image() держит нерекурсивный мьютекс элемента на время вложенных декодирований. Два рабочих потока, чьи элементы ссылаются друг на друга, берут два мьютекса в противоположном порядке и зависают навсегда; процесс не падает и не освобождает ресурсы. Исправление отклоняет циклические графы декодирования, включая рёбра dimg и alpha auxl, до старта.</p><h2>Кому обновляться в первую очередь</h2><p>Всем, кто принимает HEIC и AVIF от пользователей: это серверные конвертеры, бэкенды фотохостингов и мессенджеров, CI-пайплайны с ImageMagick, а также веб-приложения, которые декодируют HEIC на клиенте через libheif-js или собственную Emscripten-сборку. Для последних важно, что обрушение WebAssembly-модуля необратимо в рамках страницы. Мейнтейнеры советуют обновиться всем пользователям; в дистрибутивах смотрите на пакет libheif1 или libheif в вашем менеджере. Уязвимость средней важности в плагине WebCodecs касается только Emscripten-сборок с WITH_WEBCODECS=ON, по умолчанию выключенной опции, и только без libde265.</p><p>Отдельный отчёт о расходе ресурсов опубликован для Go-библиотеки Excelize: файл на 3 КБ заставляет библиотеку выполнять произвольное число итераций хеширования, и патча пока нет (исправление в сохранённом отчёте не указано). Из недавних выпусков безопасности того же масштаба мы разбирали <a href="https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp">curl 8.22.0 с девятью уязвимостями</a> и <a href="https://tproger.ru/news/postgres-pro-zakryl-28-uyazvimostej-postgresql-vneocherednymi-reli">внеочередные релизы PostgreSQL от Postgres Pro</a>.</p><p>Источники: <a href="https://github.com/strukturag/libheif/releases/tag/v1.23.4">libheif v1.23.4 – security maintenance, release notes</a>, <a href="https://github.com/strukturag/libheif/security/advisories/GHSA-vg7w-rp49-4fc2">GHSA-vg7w-rp49-4fc2: The max_items security limit is not enforced for iinf child boxes</a>, <a href="https://github.com/strukturag/libheif/security/advisories/GHSA-xrp2-63fq-jm8q">GHSA-xrp2-63fq-jm8q: Unbounded iref entry list and unbounded recursion</a>, <a href="https://github.com/strukturag/libheif/security/advisories/GHSA-prgh-72vc-3xmc">GHSA-prgh-72vc-3xmc: Lock-order inversion in parallel grid tile decoding</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Исследователи взломали телевизор LG и записали звук при тёмном экране</title>
      <link>https://tproger.ru/news/issledovateli-vzlomali-televizor-lg-i-zapisali-zvuk-pri-tyomnom-e</link>
      <comments>https://tproger.ru/news/issledovateli-vzlomali-televizor-lg-i-zapisali-zvuk-pri-tyomnom-e?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/issledovateli-vzlomali-televizor-lg-i-zapisali-zvuk-pri-tyomnom-e</guid>
      <description><![CDATA[<p>Gamers Nexus выявил сканирование локальной сети и изучил ACR. Аппаратный выключатель встроенного микрофона оставляет доступными другие источники звука.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/issledovateli-vzlomali-televizor-lg-i-zapisali-zvuk-pri-tyomnom-e">Исследователи взломали телевизор LG и записали звук при тёмном экране</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Интернет вещей]]></category>
      <category><![CDATA[Умный дом]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 07 Sep 2026 09:00:16 GMT</pubDate>
      <content:encoded><![CDATA[<p>Gamers Nexus вместе с Level1Techs и исследователями безопасности <a href="https://www.youtube.com/watch?v=6IFVTcM28KA">показал</a>, как удалённый доступ к телевизору LG позволяет записывать звук и изображение с подключённой вебкамеры, пока экран выглядит выключенным. В том же расследовании команда изучила штатное сканирование домашней сети и сбор данных для рекламы. Демонстрация записи требует доступа к системе; постоянное прослушивание комнаты из коробки этими опытами не установлено.</p><p>Для владельца телевизора и администратора сети здесь два отдельных вопроса: какие сведения устройство собирает в обычной работе и что сможет сделать человек, получивший контроль над webOS. Авторы проверяли купленные в рознице телевизоры, включая LG G5, анализировали прошивку и снимали трафик через Wireshark. Результаты относятся к показанным моделям и настройкам: команда прямо говорит, что проверить все телевизоры и версии прошивок LG она не может.</p><ul><li>В опыте с LG G3 сканирование соседних устройств и обращения к рекламным сервисам наблюдались даже до принятия пользовательских соглашений.</li><li>ACR распознаёт воспроизводимый контент по цифровым отпечаткам; в тесте G3 передача таких данных наблюдалась после принятия соглашений.</li><li>Аппаратный выключатель встроенного микрофона не отключает микрофон пульта и подключённой USB-вебкамеры.</li><li>Запись при тёмном экране и сохранение звука без сети продемонстрированы при полученном исследователями удалённом доступе.</li><li>Подробности новых уязвимостей авторы ограничили на время ответственного раскрытия; их рекомендация состоит в отключении телевизора от сети.</li></ul><h2>Какие данные телевизор собирает в обычной работе?</h2><p>По анализу трафика и прошивки, который приводят авторы, телевизоры способны определять внутренние IP-адреса соседних устройств, имена и уровень сигнала ближайших Wi-Fi-сетей, их каналы и сведения для определения местоположения. В локальной сети телевизор обнаруживал телефоны и умные часы сотрудников, а также компьютеры и принтеры. Авторы отдельно подчёркивают, что такое сканирование относится к штатным функциям и не требовало эксплуатации уязвимости.</p><p>В часовом захвате на LG G3 до принятия соглашений исследователи увидели подключения к восьми адресатам, включая рекламную платформу и платформу клиентских данных LG. Телевизор за это время отправил и получил около 8,9 МБ. Он использовался как экран для ноутбука по HDMI и продолжал искать устройства поблизости. Это суммарный сетевой обмен за конкретный час; объём переданных персональных данных из этой цифры определить нельзя.</p><p>В расследовании приводятся заявления LG Ad Solutions о работе с данными домохозяйств и охвате других устройств в них. Указанные в видео 363 млн вторичных адресуемых устройств в США и 216 млн проданных телевизоров в мире описывают разные категории и территории. Сами по себе эти числа не доказывают, что каждый телевизор передаёт полный перечень соседей. Авторы признают и ограничение захвата: часть обмена зашифрована, поэтому точный состав всех отправляемых сведений им неизвестен.</p><h2>Как ACR связан с просмотром через HDMI?</h2><p>ACR означает автоматическое распознавание контента. По объяснению исследователей, система преобразует фрагменты изображения и воспроизводимого звука в цифровой отпечаток и сопоставляет его с базами медиаконтента. Эти сведения используются рекламным подразделением LG Ad Solutions. Функция может работать и при использовании телевизора как монитора: внешний источник сигнала сам по себе не исключает распознавание показанного на экране.</p><p>Состояние соглашений существенно для результата. До их принятия на проверенном LG G3 авторы не наблюдали признаков сбора или передачи ACR-данных, хотя обращения к рекламным адресатам и сканирование сети продолжались. После принятия соглашений, всё ещё при показе изображения с ноутбука, они зафиксировали 44 подключения к Alfonso ACR с передачей 4 МБ. Так авторы разделяют распознавание контента и другую сетевую активность устройства.</p><h2>Какие микрофоны остаются доступны после выключателя?</h2><p>Выключатель на корпусе относится к встроенному микрофону. В видео при его отключении продолжает работать голосовой ввод с пульта по нажатию кнопки. Подключённая USB-вебкамера также имеет собственный микрофон, на который этот переключатель не распространяется. Наличие доступного источника звука само по себе не означает, что телевизор постоянно сохраняет разговоры.</p><p>Отдельная демонстрация уже требует контроля над системой: исследователь показывает удалённую командную оболочку и список звуковых устройств. Он запускает свою программу и подавляет штатный интерфейс голосового ввода. В этом опыте микрофон пульта становится доступен при нажатии кнопки и исчезает из списка после закрытия канала. Для непрерывного захвата исследователь описывает подключённую вебкамеру как другой доступный источник.</p><h2>Что показала запись после получения удалённого доступа?</h2><p>Получив доступ к телевизору, команда записала звук и изображение с вебкамеры, когда экран выглядел выключенным. Это описание внешнего состояния экрана; из него нельзя сделать вывод о штатном режиме ожидания. В другом опыте на LG G5 исследователь начал запись с микрофона, отключил сеть, затем подключил её снова и скопировал сохранённый звук. В транскрипте прямо сказано, что запись сохраняет человек с удалённым доступом к телевизору. Автоматическая отправка таких записей производителю этим опытом не установлена.</p><p>Сетевое отключение в середине этого опыта не прекращало уже запущенную программу. После восстановления связи исследователи смогли забрать файл. Для оценки риска важна именно последовательность: сначала контроль над устройством, затем локальная запись без сети и последующее извлечение. Видео не показывает, что любой отключённый от интернета телевизор сам начинает записывать комнату.</p><h2>Что исследователи извлекли из журналов голосового ввода?</h2><p>Через доступ к системе авторы также прочитали текстовые расшифровки голосового ввода в локальных журналах. Они показали фразы, произнесённые после вызова голосовой функции, и отмечают, что в окно её активности могли попадать соседние разговоры. Здесь важно различать штатное преобразование речи в текст и возможность извлечь результат при доступе к системе. Эти журналы не служат доказательством круглосуточной записи всей речи вокруг телевизора.</p><p>У проверенного нового телевизора подробные журналы находились на диске в оперативной памяти. По словам авторов, команда удаления пользовательских данных и обычная перезагрузка не убрали показанные записи. Физическое отключение питания очистило именно эти журналы. Другие журналы оставались, и исследователи не проверили содержимое каждого из них. Поэтому видео не подтверждает ни бессрочное хранение всех расшифровок, ни полное удаление всех данных после отключения питания.</p><p>В ролике также обсуждаются новые уязвимости удалённого выполнения кода, или RCE: такой доступ позволяет запустить программу на чужом устройстве. На момент подготовки видео они проходили ответственное раскрытие, поэтому авторы ограничили технические подробности. В транскрипте нет полного списка затронутых прошивок и исправленных версий. Показанный путь доступа через браузер требовал подтверждения диалога сопряжения; переносить это условие на все упомянутые новые уязвимости оснований нет.</p><h2>Что рекомендуют владельцам участники расследования?</h2><p>Исследователи рекомендуют отключить умный телевизор LG от любой сети. Участник расследования из Level1Techs также советует обходиться без встроенных приложений. Подключение внешнего источника изображения по HDMI следует рассматривать отдельно от сетевого подключения самого телевизора: в опытах команды режим монитора при доступной сети не прекращал обращения к сервисам LG.</p><p>По словам Gamers Nexus, LG не ответила на направленные для этого расследования вопросы к моменту подготовки ролика. Проверяемым продолжением станут публикация технических описаний уязвимостей и сведения об исправлениях. До появления этих данных нельзя назвать по этому видео конкретную безопасную версию прошивки или распространить каждый показанный сценарий на всю линейку LG.</p><p>Источник: <a href="https://www.youtube.com/watch?v=6IFVTcM28KA">Gamers Nexus: расследование о сборе данных и уязвимостях телевизоров LG</a></p><p>Изображение на обложке: Кадр: Gamers Nexus</p>]]></content:encoded>
    </item>
    <item>
      <title>Многофакторная аутентификация: как работает и зачем нужна бизнесу</title>
      <link>https://tproger.ru/articles/mnogofaktornaya-autentifikaciya-kak-rabotaet-i-zachem-nuzhna-biznes</link>
      <comments>https://tproger.ru/articles/mnogofaktornaya-autentifikaciya-kak-rabotaet-i-zachem-nuzhna-biznes?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/mnogofaktornaya-autentifikaciya-kak-rabotaet-i-zachem-nuzhna-biznes</guid>
      <description><![CDATA[<p>Как работает MFA и 2FA, какие факторы используются и почему это обязательно по PCI DSS. Гайд по многофакторной аутентификации.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/mnogofaktornaya-autentifikaciya-kak-rabotaet-i-zachem-nuzhna-biznes">Многофакторная аутентификация: как работает и зачем нужна бизнесу</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[Взлом]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 03 Sep 2026 11:00:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Логин и пароль — конфиденциальные данные, которые известны только пользователю, но они часто компрометируются при фишинге, утечках баз и переборе. Полученный пароль работает для входа независимо от того, кто именно его ввёл. Чтобы исключить проблему используют MFA (multi-factor authentication). Такая аутентификация добавляет ещё несколько независимых этапов подтверждения: устройство, биометрию или одноразовый код. Каждый из них атакующему приходится добывать отдельно от пароля.</p><h2>Что считается фактором</h2><p>MFA объединяет несколько барьеров: цифровой (пароль/PIN-код), физический (токен или смартфон) и поведенческий или биометрический (отпечаток/лицо). Каждый следующий слой защищает там, где первый дал сбой — поэтому даже украденный пароль не делает учётную запись уязвимой.</p><p>Такая комбинация даёт более высокий уровень защиты, чем один только пароль, особенно в средах, где безопасность критична: при доступе к финансовым системам, персональным данным или инфраструктуре с повышенными требованиями.</p><h2>2FA как самый распространённый вид MFA</h2><p>Проверка занимает секунды: не нужно вводить длинные ключи подтверждения — достаточно получить SMS-код или push-уведомление и подтвердить его вместе с паролем. В этом и причина её популярности: быстро и удобно для рядового пользователя, а по уровню защиты схема не уступает более сложным вариантам с аппаратными ключами или отдельными приложениями. Отсюда и путаница в терминах — 2FA стало тем вариантом MFA, который встречается чаще прочих, а в разговоре эти два термина нередко используют как взаимозаменяемые. В русскоязычной среде это же часто обозначают как «2ФА».</p><h2>Как это работает</h2><p>Процесс простой, но при этом надёжный. Пользователь вводит логин и пароль. Затем система запрашивает второй фактор: это может быть одноразовый код из SMS, push-уведомление в приложении, сообщение в мессенджере, биометрическое подтверждение или аппаратный ключ. Доступ открывается только после успешной проверки обоих факторов.</p><p>Этот подход усложняет задачу для злоумышленников: даже если пароль украден с помощью фишинга или взлома базы данных, без второго фактора доступ к системе остаётся невозможным. Для удобства многие приложения-аутентификаторы синхронизируют коды между устройствами через защищённое облако при смене телефона или работе с нескольких гаджетов. Но это не означает, что доступ к самому облачному аккаунту аутентификатора не нужно защищать отдельно: если его скомпрометируют, злоумышленник получит доступ ко всем синхронизированным кодам разом.</p><h2>Зачем это бизнесу</h2><p>MFA добавляет второй барьер к паролю: если пароль украли при фишинге или утечке базы, для входа потребуется ещё код, аппаратный ключ или другое подтверждение. Проверку в первую очередь включают для удалённого доступа, корпоративной почты, облачных консолей и учётных записей администраторов. Способ подтверждения настраивают по ролям и подключают через SSO, VPN или отдельные приложения.</p><p><a href="https://blog.pcisecuritystandards.org/just-published-pci-dss-v4-0-1">PCI DSS v4.0.1</a> напрямую устанавливает требования к MFA для доступа к среде карточных данных. <a href="https://eur-lex.europa.eu/eli/reg/2016/679/oj">GDPR</a> и <a href="https://www.kremlin.ru/acts/bank/24154/print">152-ФЗ</a> требуют применять меры защиты персональных данных с учётом рисков обработки. Конкретный набор мер зависит от системы и данных, поэтому MFA становится одним из способов защитить доступ.</p><h2>Где применяют</h2><p>MFA широко используется и в корпоративной, и в пользовательской среде. Компании применяют её для доступа к CRM, ERP и корпоративной почте — особенно если сотрудники работают удалённо. Банковские сервисы используют MFA для подтверждения операций и входа в личный кабинет. Разработчики защищают репозитории кода, CI/CD-системы и облачные консоли, снижая риск компрометации ключевой инфраструктуры.</p><p>На пользовательском уровне MFA применяется в соцсетях, почтовых сервисах, приложениях для хранения файлов и облачных платформах. Она помогает предотвратить взлом, даже если пароль стал известен злоумышленнику.</p><p>У Linx Cloud есть отдельный <a href="https://linx.ru/security/mfa/">сервис MFA</a> как услуга для защиты удалённого доступа — подходит для любого типа инфраструктуры, не только для облака Linx.</p><h2>Итог</h2><p>Многофакторная аутентификация давно перестала быть инструментом только для крупных корпораций — сегодня это доступная защита для бизнеса любого размера. А для компаний, работающих с платёжными данными, стандарт PCI DSS напрямую требует внедрения MFA. Для остальных это практичный инструмент, который дешевле внедрить заранее, чем восстанавливать инфраструктуру после инцидента.</p>]]></content:encoded>
    </item>
    <item>
      <title>Google показала, как запустить Mantis: ИИ-конвейер ищет и чинит уязвимости</title>
      <link>https://tproger.ru/news/google-pokazala-kak-zapustit-mantis-ii-konvejer-ishhet-i-chinit</link>
      <comments>https://tproger.ru/news/google-pokazala-kak-zapustit-mantis-ii-konvejer-ishhet-i-chinit?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/google-pokazala-kak-zapustit-mantis-ii-konvejer-ishhet-i-chinit</guid>
      <description><![CDATA[<p>Google опубликовала гайд по Mantis, открытому набору скиллов для кодинг-агентов: 16 стадий от истории репозитория до патча, песочница gVisor без сети и новый скилл mantis-advise.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/google-pokazala-kak-zapustit-mantis-ii-konvejer-ishhet-i-chinit">Google показала, как запустить Mantis: ИИ-конвейер ищет и чинит уязвимости</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 03 Sep 2026 08:50:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>Google 2 сентября <a href="https://cloud.google.com/blog/products/identity-security/getting-started-with-the-mantis-harness-to-find-and-fix-bugs">опубликовала</a> инструкцию по запуску Mantis, открытого набора скиллов для кодинг-агентов, который ищет, сортирует, воспроизводит и исправляет уязвимости в коде. Авторы заметки, инженеры безопасности Google Ник Гэллоуэй и Юлун Чжан, пишут, что тот же конвейер компания использует внутри для собственных репозиториев, а в гайде компания впервые представила скилл mantis-advise, добавленный в репозиторий в конце августа: он подсказывает агенту безопасные решения ещё до того, как он напишет код.</p><p>Для разработчика это готовый способ прогнать свой репозиторий через тот же процесс, которым Google проверяет свои: нужен любой кодинг-агент со слэш-командами и изолированная среда, где не жалко ничего сломать. Сам Mantis не сканер и не сервис: это набор скиллов, скриптов и референсных компонентов под лицензией Apache-2.0, а модель и агент вы приносите свои.</p><ul><li>Mantis лежит на GitHub с июня 2026 года; 2 сентября Google выпустила гайд по запуску и представила скилл mantis-advise для безопасного написания нового кода.</li><li>Конвейер состоит из 16 последовательных стадий плюс вспомогательные скиллы: от разбора истории коммитов и модели угроз до воспроизведения, патча и отчёта.</li><li>Установка: git clone репозитория или npx skills add google/mantis; агент подойдёт любой, Google проверяла с Gemini CLI, Antigravity CLI и ADK.</li><li>Воспроизведение и патчи выполняются только в песочнице без сети (gVisor с --network=none, microsandbox, VM); флаги вроде --yolo авторы прямо запрещают.</li><li>Каждую находку должен подтвердить человек: README запрещает массово слать непроверенные ИИ-отчёты мейнтейнерам.</li></ul><h2>Что именно выложила Google и что в этом нового</h2><p>Репозиторий <a href="https://github.com/google/mantis">google/mantis</a> открыт не сегодня: первые коммиты датированы июнем 2026 года, и в заметке Google ссылается на июньское описание подхода. Новость в другом: компания впервые опубликовала пошаговый гайд «как начать», прямо заявила, что тот же промпт используется внутри Google для поиска реальных уязвимостей, и представила скилл mantis-advise, который появился в репозитории 28 августа. Последний коммит на момент публикации, от 3 сентября, ужесточает песочницы, разрешение путей и проверки конфигурации.</p><p>Главная претензия Google к «наивному» ИИ-сканированию кода, по словам авторов, в том, что доля настоящих находок у него часто ниже 7%, остальное галлюцинации. Mantis борется с этим двумя способами: отдельными агентами-критиками, которые отсеивают ложные срабатывания, и воспроизведением уязвимости в песочнице, которое служит опорой для оценки. При этом README оговаривает: неудачное автоматическое воспроизведение ещё не доказывает, что находка ложная. Цифра про 7% в заметке дана без ссылки на метод замера, так что это оценка компании, а не бенчмарк.</p><p>Вторая идея, на которую Google делает упор, это контекст. Mantis читает историю репозитория, чтобы выучить прошлые исправления безопасности, и сам строит документацию по архитектуре и модель угроз, даже если в проекте их нет. Файлы сворачиваются в иерархию сводок по каталогам, и по заявлению авторов такое дерево снижает накладные расходы на токены больше чем на 85% на больших репозиториях. Это тоже внутренний замер Google без описания выборки.</p><h2>Как устроен конвейер из 16 стадий</h2><p>По <a href="https://github.com/google/mantis/blob/main/README_AGENTS.md">описанию архитектуры</a>, Mantis состоит из отдельных скиллов, каждый из которых вызывается слэш-командой и передаёт результат следующему через файлы в каталоге workspace/. Стадии можно запускать по одной руками или отдать оркестратору /mantis-meta-agent, который крутит цикл и архивирует находки между проходами.</p><ol><li>/mantis-history и /mantis-summarize разбирают историю VCS и пишут сводки по каталогам, а необязательный /mantis-structural-index строит индекс семантических единиц кода.</li><li>/mantis-architecture и /mantis-threat-model собирают базу знаний о сущностях, потоках данных и границах доверия.</li><li>/mantis-plan и /mantis-researcher составляют план проверки и ищут уязвимости файл за файлом.</li><li>/mantis-dedupe, /mantis-review и /mantis-critic склеивают дубли, отсеивают ложные срабатывания и проверяют, что падение воспроизводится в релизной сборке.</li><li>/mantis-reproduce пишет и запускает эксплойт в изолированной среде, /mantis-chain пробует собрать из находок многошаговую цепочку.</li><li>/mantis-patch чинит код и гоняет тесты в песочнице, /mantis-calibrate ставит риск от 1 до 10, /mantis-reflect и /mantis-report собирают уроки и итоговый отчёт.</li></ol><p>Новый /mantis-advise стоит особняком: он не ищет уязвимости, а отвечает на вопрос «как безопасно менять этот файл». Скилл читает накопленную базу knowledge.db с моделью угроз, историей находок, подтверждёнными патчами и отсеянными ложными срабатываниями и выдаёт агенту рекомендации до и во время правок. Запускается он скриптом python3 reference/scripts/advise.py --file src/auth.py. Смысл в том, чтобы результаты аудита не лежали в отчёте, а мешали агенту повторять старые ошибки.</p><h2>Как запустить у себя и почему только в изоляции</h2><p>Установка по README сводится к клонированию репозитория или одной команде для менеджера скиллов:</p><p>Дальше Google предлагает открыть привычный кодинг-агент и написать ему буквально: «I would like to use Mantis framework in path/to/mantis to review my code in path/to/your/code, can you help me get started?». Конкретный агент не навязывается: в README сказано, что скиллы проверяли с Gemini CLI, Antigravity CLI, Google ADK и Antigravity SDK, но подойти должен любой фреймворк, понимающий слэш-команды и файлы SKILL.md. Модели тоже на выбор пользователя, причём авторы советуют не гонять самую дорогую модель на каждой стадии, а подбирать класс модели под задачу.</p><p>Самая жёсткая часть документации про изоляцию. README открывается предупреждением капслоком: конвейер генерирует и исполняет код, который может быть нестабильным, поэтому запускать его можно только в ограниченной среде, без доступа к продакшену, чувствительным данным и внутренней сети. Скиллы /mantis-reproduce и /mantis-patch по инструкции выполняют полезную нагрузку в контейнере с отключённой сетью, и для этого Google рекомендует gVisor:</p><p>Скилл /mantis-configure даёт выбор из четырёх режимов песочницы: static-only без исполнения кода, microsandbox, gvisor и gce с отдельной виртуальной машиной в облаке. Отдельно авторы просят начинать в интерактивном режиме, вызывая команды по одной и подтверждая каждое опасное действие, и не включать флаги автоодобрения вроде --yolo или --dangerously-skip-permissions. Гарантий при этом нет: в документации прямо сказано, что агент недетерминирован и может попытаться обойти ограничения, если среда это позволяет.</p><h2>Что Mantis не обещает</h2><p>Mantis не является поддерживаемым продуктом Google и подаётся как отправная точка, которую нужно дорабатывать под свой стек: авторы советуют скармливать конвейеру внутренние стандарты кода, документацию и критерии, какие баги вас не интересуют. Пример из заметки: если вы никогда не чините падения, которые пользователь может вызвать только у себя, об этом нужно сказать сканеру заранее, иначе он будет тратить время именно на них.</p><p>Второе ограничение этическое и практическое одновременно. README требует, чтобы каждую находку перед отправкой проверил специалист по безопасности, и запрещает массово слать непроверенные ИИ-отчёты мейнтейнерам открытых проектов. Неудачное воспроизведение при этом не доказывает, что бага нет, а успешный репродьюсер не доказывает, что уязвимость эксплуатируема в любом окружении.</p><p>Проект лежит в публичном репозитории на GitHub под Apache-2.0, региональная доступность отдельно нигде не оговорена, а модель и агент вы выбираете сами, в том числе локальные. Дальше стоит следить за тем, появятся ли независимые замеры доли ложных срабатываний: пока и 7%, и 85% экономии токенов остаются цифрами самой Google.</p><p>Источники: <a href="https://cloud.google.com/blog/products/identity-security/getting-started-with-the-mantis-harness-to-find-and-fix-bugs">Getting started with Mantis, our open-source bug finding-and-fixing harness (Google Cloud Blog)</a>, <a href="https://github.com/google/mantis">Репозиторий google/mantis</a>, <a href="https://github.com/google/mantis/blob/main/README_AGENTS.md">README_AGENTS.md: архитектура конвейера Mantis</a>, <a href="https://github.com/google/mantis/blob/main/mantis-advise/SKILL.md">Скилл mantis-advise</a></p><p>Изображение на обложке: Изображение: Google Cloud</p>]]></content:encoded>
    </item>
    <item>
      <title>Anthropic открыла Claude Commerce Agents: чертёж торгового агента на Claude</title>
      <link>https://tproger.ru/news/anthropic-otkryla-claude-commerce-agents-chertyozh-torgovogo-agent</link>
      <comments>https://tproger.ru/news/anthropic-otkryla-claude-commerce-agents-chertyozh-torgovogo-agent?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/anthropic-otkryla-claude-commerce-agents-chertyozh-torgovogo-agent</guid>
      <description><![CDATA[<p>Anthropic открыла Claude Commerce Agents под Apache 2.0: два агента для магазина, три способа запуска, проверки внутри вызова инструмента и свой бэкенд.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/anthropic-otkryla-claude-commerce-agents-chertyozh-torgovogo-agent">Anthropic открыла Claude Commerce Agents: чертёж торгового агента на Claude</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Бэкенд]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 19:53:51 GMT</pubDate>
      <content:encoded><![CDATA[<p>Anthropic 2 сентября 2026 года <a href="https://x.com/ClaudeDevs/status/2095233745167282602">открыла исходники</a> Claude Commerce Agents: двух агентов на Claude для интернет-торговли под лицензией Apache 2.0. Первый, покупательский, бизнес встраивает в своё приложение для клиентов. Второй, мерчантский, нужен сотрудникам, чтобы вести листинги, цены, остатки и кампании. В <a href="https://github.com/anthropics/commerce-agents">репозитории anthropics/commerce-agents</a> лежат оба агента, четыре демонстрационные вертикали (розница, путешествия, телеком, билеты), семь pip-пакетов и плагин для Claude Code, который собирает такого агента под чужой стек.</p><p>Для команды, которая пишет ассистента магазина или маркетплейса, интерес здесь в архитектуре, а не в демо. Anthropic показывает, как описать агента один раз и запускать тремя способами, где стоят проверки, чтобы модель не могла подложить в корзину чужой товар или изменить цену без человека, и как подключить свой каталог через два интерфейса на Python.</p><p>Оговорка стоит в самом README: это референсная реализация, она не поддерживается и не принимает внешний вклад. В примерах нет аутентификации, MCP-серверы по умолчанию слушают loopback.</p><ul><li>Два агента, три способа запуска (Messages API, Claude Agent SDK, Managed Agents (beta)), четыре вертикали и восемь веб-приложений в одном репозитории под Apache 2.0.</li><li>Не оформляет заказ, не списывает деньги и не меняет живые листинги: checkout только рисует корзину, каждая запись мерчанта ждёт одобрения человека.</li><li>Проверки provenance, лимиты, ограждение стороннего текста и валидация памяти работают внутри вызова инструмента и держатся на всех трёх путях запуска.</li><li>Своя интеграция сводится к реализации StorefrontBackend или MerchantBackend; отсутствующие системы выключаются переключателями enable_*.</li><li>Модели по умолчанию: claude-sonnet-5 у покупательского агента, claude-opus-5 у мерчантского, claude-haiku-4-5-20251001 для памяти; рантаймы работают через Vertex AI, Bedrock, Microsoft Foundry и шлюзы.</li><li>Требования: Python 3.11 и новее, Node 22. Демо поднимается шестью командами из README.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-03/8278495a-80f4-42a1-baf3-e052ab3d3504.webp" alt="Кадр из видео Anthropic с четырьмя вертикалями: Retail, Travel, Telecom, Ticketing" /><figcaption>Четыре вертикали из анонсирующего видео. Скриншот: Anthropic, commerce-agents</figcaption></figure><h2>Один агент описан один раз и работает на трёх рантаймах</h2><p>Главная архитектурная идея репозитория, как её формулирует <a href="https://github.com/anthropics/commerce-agents/blob/main/README.md">README</a>: каждый агент определён один раз (промпт, скиллы, контракты инструментов, гейты) и запускается на Messages API, на Claude Agent SDK и на Managed Agents. Четыре вертикали работают поверх одних библиотек и различаются бэкендом и доменными расширениями интерфейса.</p><p>Покупательский агент ищет и сравнивает товары, собирает планы покупок, наполняет корзину, отвечает на вопросы о заказах и правилах магазина и запоминает, что покупатель о себе рассказал. Его пять сценариев лежат как skills в каталоге <a href="https://github.com/anthropics/commerce-agents/tree/main/shopping-agent/skills">shopping-agent/skills</a>. Мерчантский агент объясняет показатели, правит листинги, реагирует на алерты по остаткам и заказам, назначает цены и промо, готовит кампании. Его пять сценариев лежат в <a href="https://github.com/anthropics/commerce-agents/tree/main/merchant-agent/skills">merchant-agent/skills</a>. Любая запись мерчанта становится staged change, которую применяет уже интерфейс одобрения на стороне хоста.</p><blockquote>Nothing places an order, charges a card, or changes a live listing: checkout renders the cart for the host to complete, and every merchant write is staged until a person approves it.</blockquote><p>Код разложен на семь pip-пакетов. Общее для обеих ролей вынесено в commerce-common: конфиг, ограждение стороннего текста, память, скиллы, grounding, презентационные компоненты, исполнитель инструментов и события. У каждой роли три пакета: core с типами, интерфейсом бэкенда, промптом, контрактами инструментов и гейтами; runtime с циклом ходов на Messages API; sdk с тем же агентом на Agent SDK и консолью. CI проверяет, что имена семи пакетов остаются незарегистрированными в публичном индексе, а pin-файлы ставят их из каталогов репозитория.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-03/6f818534-34eb-4db9-9321-d353b648b4e1.webp" alt="Горизонтальная диаграмма: состав репозитория commerce-agents в штуках: 2 агента, 3 рантайма, 4 вертикали, 7 пакетов, 8 веб-приложений, 10 flows, 7 расширений интерфейса, 4 команды плагина" /><figcaption>Состав поставки по README репозитория. График: Tproger по данным README anthropics/commerce-agents</figcaption></figure><p>Эталонный путь запуска, вокруг которого построены примеры, это Messages API. Хост создаёт объект агента с бэкендом, каталогом скиллов и конфигом и стримит события хода; извлечение памяти вызывается отдельно после хода, и только на этом пути. Код из README:</p><p>На Agent SDK тот же промпт, скиллы и инструменты, но цикл ведёт SDK: хост заранее подгружает данные для grounding, после хода ничего не выполняется. На Managed Agents агент размещён у Anthropic и ходит за данными в ваш MCP-сервер; деплой делает скрипт scripts/deploy_managed_agent.sh, без флага --live это сухой прогон. Различия трёх путей по docs/safety.md:</p><ul><li><b>Messages API.</b> Все правила grounding включаются принудительно через tool_choice; работают извлечение памяти после хода, сжатие истории и бюджеты аналитического делегата мерчанта.</li><li><b>Agent SDK.</b> Grounding только для правил с формой предварительной загрузки; цикл ограничен max_turns; аналитика мерчанта идёт субагентом без SQL-инструмента и бюджетов; память хост извлекает сам.</li><li><b>Managed Agents.</b> Grounding отсутствует, циклом владеет платформа, память пишется только через save_memory, одобрением staged change служит промпт always_ask на apply_change.</li></ul><h2>Проверки стоят внутри вызова инструмента, поэтому переживают смену рантайма</h2><p>Документ <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/safety.md">docs/safety.md</a> делит правила на три группы: что код проверяет сам, что по-прежнему просят у модели промптом и что обязан добавить деплой. Ключевой приём: правило внутри вызова инструмента держится на всех трёх путях, потому что все три прогоняют вызовы через один исполнитель в модуле commerce_common/execution.py. Правило на уровне хода живёт в конкретном рантайме, и таблица указывает, где оно не работает.</p><blockquote>A rule enforced inside a tool call holds on all three paths, because the Messages API runtime, the SDK toolset, and the MCP server execute tools through the same executor.</blockquote><p>Что именно проверяется в коде, по таблице документа:</p><ul><li><b>Ограждение (fencing).</b> Сторонний текст очищается, оборачивается в ограждение с фиксированной меткой и обрезается до max_fenced_chars. Очистка убирает невидимые и управляющие символы, поддельные маркеры ходов, теги транскрипта и вызовов инструментов и копии самого маркера ограждения.</li><li><b>Лимиты цикла.</b> Запрошенное моделью число результатов поиска обрезается до max_search_results; после max_tool_iterations раундов рантайм Messages API принудительно делает ход без инструментов.</li><li><b>Provenance корзины.</b> В корзину попадают только идентификаторы товаров, которые в этой сессии вернул инструмент каталога или заказов. Попытка добавить товар с опциями (размер, цвет) задерживается, и модели показывают варианты. Действует лимит на позицию и на число строк.</li><li><b>Нет оплаты.</b> У StorefrontBackend нет метода, который размещает заказ или списывает деньги. URL размещённого checkout приходит из checkout_handoff после вызова модели и не проходит через неё.</li><li><b>Provenance staged-записей мерчанта.</b> Изменение принимает только идентификаторы листингов и кампаний, возвращённые инструментом в этой сессии; правка контента требует чтения get_listing. apply_change принимает только идентификаторы изменений, которые вернули staging или get_pending_changes.</li><li><b>Guardrails мерчанта.</b> Проверяются при постановке изменения и повторно при применении: число позиций, размах изменения цены, глубина промо, размер пополнения, бюджет кампании, защищённые поля.</li><li><b>Одобрение хостом.</b> При require_host_approval (включено по умолчанию) apply_change проходит только для идентификаторов, которые хост пометил одобренными. Карточка предпросмотра ничего не одобряет, «да, применяй» в чате тоже.</li><li><b>Память.</b> Ключ факта до 64 символов, значение до 200, одна из трёх категорий; значения, похожие на идентификаторы, отбрасываются. Извлечение читает только текст последнего обмена, никогда результаты инструментов.</li><li><b>Поверхность инструментов и идентичность.</b> Список инструментов вычисляется из конфига деплоя, исполнитель отказывает любому другому имени. Идентичность держит сервер: ни один аргумент инструмента не называет пользователя или мерчанта.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-03/858edd4a-4a45-4ee5-adca-71116592a154.webp" alt="Горизонтальная диаграмма лимитов: ключ факта памяти 64 символа, значение 200 символов, ограждение стороннего текста 12 000 символов по умолчанию" /><figcaption>Лимиты, которые проверяет код: память покупателя и размер одного ограждения. График: Tproger по данным docs/safety.md и docs/backends.md anthropics/commerce-agents</figcaption></figure><p>Вторая группа правил остаётся в промпте: трактовать ограждённый текст как материал для отчёта, называть условия и цифры только из результата инструмента, подтверждать запись только после успешного вызова, называть товары по идентификатору. Документ оговаривает: промптовые правила держатся ровно настолько, насколько модель следует инструкциям, а таблица держится на любой модели. Деплой, который меняет модель или выключает require_host_approval, должен сначала перегнать свои evals по этому разделу.</p><blockquote>When the model breaks one of these, the error is confined to its text. Every write, figure, and disclosure behind that text still passed the checks in the table above, so the failure is a misstatement to correct and no action needs reversing.</blockquote><p>Третья группа целиком на стороне деплоя: аутентификация и авторизация на каждом маршруте и на MCP-серверах (примеры принимают любого вызывающего), учётные данные для вызова ваших сервисов, лимиты запросов, бизнес-правила (фрод, право на покупку, цены, остатки), оплата после checkout, обращение с памятью как с персональными данными, гигиена логов и сама поверхность одобрения. Значения guardrails в двух файлах config.py названы демонстрационными.</p><h2>Своя интеграция сводится к двум интерфейсам и переключателям enable_*</h2><p>Точка входа для собственных систем описана в <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/backends.md">docs/backends.md</a>. Деплой реализует StorefrontBackend поверх каталога, корзины, заказов и политик или MerchantBackend поверх аналитики, каталога, остатков, цен и кампаний. Контрактом служат докстринги методов в backend.py и types.py каждой роли. Каждый метод вызывает ваш сервис на стороне сервера с учётными данными, которые хост хранит для сессии; модель видит только результат.</p><blockquote>Each one calls your service server-side with the credential your host holds for the session; the model reads only the result.</blockquote><p>Документ раскладывает интеграцию на шесть шагов. Первый: решить, кто вызывающий. Хост аутентифицирует человека и стартует сессию с принципалом; токен покупателя живёт в контексте сессии, сервисная учётка передаётся в конструктор бэкенда. Гость тоже принципал: чтение, которому нужен аккаунт, бросает исключение, которое подкласс исполнителя превращает в просьбу войти. Второй: порядок многошаговых сценариев (удержать места, затем подтвердить) хранится и проверяется в бэкенде, а нарушение маппится через domain_error в понятный модели результат. Третий: как завершается checkout. Вариантов три: ссылка на маршрут в вашем приложении, размещённый checkout платформы, для которого checkout_handoff возвращает URL, или маркетплейс с записью на каждого продавца.</p><p>Четвёртый шаг: товары с опциями. Запись бывает простой, семейством (с полем options) или вариантом (с option_values и variant_of); идентификатор варианта идёт всюду, где ждут идентификатор товара. Детали товара возвращают все варианты семейства в одном ограждении, обрезанном до max_fenced_chars (12 000 символов по умолчанию). Компактная строка варианта занимает 70–120 символов, так что в семейство помещается около шестидесяти вариантов; кроссовки в восьми цветах и четырнадцати размерах документация советует подавать как восемь семейств по четырнадцать, потому что за пределами лимита результат режется без ошибки. Пятый: записи мерчанта по семействам, где изменение цены и пополнение именуют вариант. Шестой: для цифр, которых у платформы нет, возвращать None с пометкой, а не подставной ноль.</p><p>Для пилота README предлагает начинать с малого. Покупательский пилот реализует поиск и карточку товара, а остальное заглушает: метод-заглушка возвращает результат «недоступно» и не меняет ни байта промпта. Мерчантский пилот реализует восемь методов чтения, записи отказывают. Система, которой у бизнеса нет совсем, выключается переключателем enable_*: это убирает её инструменты, строки промпта и правило grounding на всех трёх путях, а сценарии, которым она нужна, паркуются в каталоге skills/_staged/. Свой сценарий добавляется каталогом с файлом SKILL.md, доменный интерфейс расширением PresentationExtension (вертикали поставляют семь), а brand_name, assistant_name и brand_voice в конфиге задают личность ассистента.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-03/632d0218-5e02-4a2c-8f59-e75bb9f7efce.webp" alt="Кадр из видео Anthropic: путь от намерения покупателя до staged-заказа" /><figcaption>Кадр «From intent to a staged order» из анонсирующего видео. Скриншот: Anthropic, commerce-agents</figcaption></figure><h2>Модели заданы строкой в конфиге, а переключение платформы сосредоточено в одном месте и зависит от рантайма</h2><p>По <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/deployment.md">docs/deployment.md</a> код по умолчанию ходит в API Anthropic, но у каждого пути есть одно место, где деплой переключает платформу. Рантаймы Messages API принимают любой асинхронный клиент из пакета anthropic аргументом client=: AsyncAnthropicVertex для GCP Vertex AI, AsyncAnthropicBedrockMantle или AsyncAnthropicBedrock для AWS, AsyncAnthropicFoundry для Microsoft Foundry, AsyncAnthropic с base_url и auth_token для собственного шлюза. Пакеты требуют anthropic 0.91 и новее. Рантаймы Agent SDK HTTP-клиента не создают: платформу выбирает CLI Claude Code по переменным окружения, которые добавляются в options.env. Managed Agents работает на инфраструктуре Anthropic, поэтому у него нет варианта для Vertex, Bedrock и Foundry.</p><p>Модель задаётся строкой в конфиге: поля model и memory_model у каждой роли, у мерчанта ещё analysis_model. Значения по умолчанию, по таблице документа: claude-sonnet-5 для покупательского агента, claude-opus-5 для мерчантского, claude-haiku-4-5-20251001 для извлечения памяти. Грамматика идентификаторов у платформ разная: Vertex пишет датированные снимки через @, Bedrock через Mantle берёт идентификаторы с префиксом anthropic., а через Invoke API идентификаторы inference-профилей. Все три поля идут через один клиент, поэтому все три модели должны существовать на целевой платформе. Живого разговора с облаком в CI нет; документ просит прогнать его на своей платформе до того, как на неё полагаться.</p><p>Доступность API Anthropic и облачных платформ для конкретной страны или способа оплаты в документации репозитория не обсуждается. Для собственного шлюза документ называет требование: отдавать /v1/messages со стримингом SSE для Messages API, а для Managed Agents ещё проксировать /v1/skills, /v1/agents, /v1/environments, /v1/sessions и поток событий сессии с заголовками anthropic-beta.</p><h2>Демо поднимается шестью командами, а плагин Claude Code собирает агента под ваш стек</h2><p>Порядок запуска из README (нужны Python 3.11 и новее и Node 22, ключ ANTHROPIC_API_KEY в файле .env):</p><p>Флаг --merchant поднимает портал мерчанта вместо витрины, --all оба. В README каждой вертикали есть раздел Try с репликами, которые прогоняет scripts/smoke_chat.py. Розничная ACME показывает поиск, сравнение, корзину, checkout и память; ACME Travel добавляет инвентарь с датами; ACME Mobile матрицу тарифов и серверные раскрытия комиссий; ACME Tickets таймированные удержания мест, листы ожидания и карту зала.</p><p>Второй способ начать: <a href="https://github.com/anthropics/commerce-agents/tree/main/plugins/commerce-builder">плагин commerce-builder</a> для Claude Code. Он читает клонированный репозиторий как эталон и собирает агента на этих пакетах против ваших систем либо проверяет уже написанного. Установка и первая команда из README:</p><p>Команда /scaffold-commerce-agent спрашивает о стеке, проговаривает план и строит проект. Дальше /add-commerce-flow добавляет сценарий, /author-commerce-evals пишет evals, /review-commerce-agent начинает с уже существующего агента. Собственных MCP-коннекторов в поставке нет: оба агента ходят в системы через интерфейсы бэкенда. Где официальный коннектор является источником истины (Snowflake, BigQuery, Stripe, Square, Slack и другие в списке README), он и становится целью интеграции. MCP-сервер торговой платформы вызывается из метода бэкенда на сервере, и гейты provenance остаются перед каждой записью.</p><p>Проверка после правок: ruff check и ruff format --check, pytest, python scripts/check.py; python scripts/verify_all.py добавляет сухие прогоны деплоя и сборку веб-приложений; python scripts/smoke_chat.py --vertical travel проводит один живой разговор и требует ключ. Чтобы убедиться, что кэширование промпта работает, README советует читать cache_read_input_tokens из события turn_complete: ноль на втором ходу означает, что префикс промпта изменился.</p><h2>Что делать команде, которая пишет ассистента для магазина</h2><ol><li>Поднять розничное демо по шести командам выше (Python 3.11 и новее, Node 22, ключ API) и пройти реплики из раздела Try в examples/retail/ на витрине (порт 3000) и в портале мерчанта (флаг --merchant, порт 3100).</li><li>Сверить таблицу «Enforced in code» и список «What a deployment owns» из docs/safety.md с собственной платформой: аутентификация, учётные данные, лимиты запросов, бизнес-правила, оплата, персональные данные в памяти, логи.</li><li>Для пилота реализовать в StorefrontBackend только поиск и карточку товара, для MerchantBackend восемь методов чтения. Отсутствующие системы выключить через enable_*, зависимые сценарии убрать в skills/_staged/.</li><li>Разложить каталог по трём формам записи из docs/backends.md и проверить самое большое семейство против лимита max_fenced_chars в 12 000 символов.</li><li>Выбрать завершение checkout: свой маршрут, размещённый URL платформы через checkout_handoff или ссылка на продавца для маркетплейса; оплата остаётся в хосте.</li><li>Для Vertex AI, Bedrock, Foundry или шлюза передать клиент аргументом client= (anthropic 0.91 и новее) или переменные CLI в options.env и заменить все три идентификатора моделей.</li><li>Перед выкладкой прогнать ruff, pytest, scripts/check.py и scripts/verify_all.py, затем один живой разговор scripts/smoke_chat.py на своей платформе; при смене модели перегнать evals по разделу «Still asked of the model».</li></ol><p>Репозиторий создан 1 сентября, анонс в аккаунте Claude Developers вышел 2 сентября в 19:33 UTC. На 3 сентября, 01:53 мск, по <a href="https://api.github.com/repos/anthropics/commerce-agents">данным GitHub API</a> у проекта 277 звёзд и 46 форков. Поддержки и приёма внешних изменений Anthropic не обещает: «This is a reference implementation; it is not maintained and does not accept contributions», говорится в README. На практике это значит, что исправления и адаптацию под свои системы команде придётся вести в собственном форке, а промпты и гейты под новые модели проверять своими evals. Цен, лимитов и сроков дальнейшего развития Anthropic в репозитории не называет.</p><p>Источники: <a href="https://x.com/ClaudeDevs/status/2095233745167282602">Claude Developers в X: анонс открытия Claude Commerce Agents (2 сентября 2026)</a>, <a href="https://github.com/anthropics/commerce-agents">GitHub: anthropics/commerce-agents</a>, <a href="https://github.com/anthropics/commerce-agents/blob/main/README.md">README репозитория commerce-agents</a>, <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/safety.md">docs/safety.md: правила, проверяемые кодом, и обязанности деплоя</a>, <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/backends.md">docs/backends.md: подключение своих систем</a>, <a href="https://github.com/anthropics/commerce-agents/blob/main/docs/deployment.md">docs/deployment.md: Vertex AI, Bedrock, Microsoft Foundry и шлюзы</a>, <a href="https://github.com/anthropics/commerce-agents/tree/main/plugins/commerce-builder">Плагин commerce-builder для Claude Code</a>, <a href="https://github.com/anthropics/commerce-agents/tree/main/shopping-agent/skills">Скиллы покупательского агента</a>, <a href="https://github.com/anthropics/commerce-agents/tree/main/merchant-agent/skills">Скиллы мерчантского агента</a></p><p>Изображение на обложке: Anthropic, кадр из анонса Claude Commerce Agents</p>]]></content:encoded>
    </item>
    <item>
      <title>Anthropic запустила проверку файлов на метку Claude прямо в браузере</title>
      <link>https://tproger.ru/news/anthropic-zapustila-proverku-fajlov-na-metku-claude-pryamo-v-brau</link>
      <comments>https://tproger.ru/news/anthropic-zapustila-proverku-fajlov-na-metku-claude-pryamo-v-brau?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/anthropic-zapustila-proverku-fajlov-na-metku-claude-pryamo-v-brau</guid>
      <description><![CDATA[<p>На claude.com появился бесплатный сервис Check Content: он ищет в файле подписанную метку C2PA о том, что файл создал или обработал Claude. Что он умеет и чего не доказывает.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/anthropic-zapustila-proverku-fajlov-na-metku-claude-pryamo-v-brau">Anthropic запустила проверку файлов на метку Claude прямо в браузере</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Нейронные сети]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 17:08:59 GMT</pubDate>
      <content:encoded><![CDATA[<p>Anthropic открыла на сайте claude.com бесплатный сервис <a href="https://claude.com/check-content">Check Content</a>: в него можно перетащить картинку, видео или аудиофайл и узнать, стоит ли внутри подписанная метка о том, что файл создал или обработал Claude. Дату запуска Anthropic не называет; 2 сентября страницу заметили на Hacker News, и она вышла на первую страницу. Проверка выполняется в браузере, файл на серверы Anthropic не отправляется.</p><p>Для разработчика это удобный способ проверить, помечает ли Claude свои файлы на практике, и заодно понять, на что такая проверка годится. Коротко: она находит метку стандарта C2PA, которую Claude вшивает в сгенерированные файлы, и ничего больше. Если метки нет, это не значит, что файл сделан человеком: по словам самой Anthropic, метка может пропасть при пересохранении, конвертации, сжатии в мессенджере или скриншоте.</p><ul><li>Сервис принимает JPG, PNG, GIF, WEBP, TIFF, HEIC, AVIF, SVG, DNG, JXL, MP4, MOV, AVI, WAV, MP3, M4A и FLAC размером до 100 МБ.</li><li>Проверка идёт локально в браузере: по словам Anthropic, файл не покидает устройство, не сохраняется и читаются только метаданные.</li><li>Ищется только подписанная метка C2PA от Claude; результат не говорит ни о содержании файла, ни о том, кто его загружал.</li><li>Отсутствие метки ничего не доказывает: она пропадает при удалении метаданных, а поддерживают её пока только Fable 5.1 и Mythos 5.1.</li><li>Текстовые водяные знаки этот сервис не проверяет: для них есть отдельный Detection API в закрытом превью для организаций по требованию закона ЕС.</li></ul><h2>Что именно проверяет сервис</h2><p>По описанию на странице, Claude помечает свой вывод двумя способами. Текст получает водяной знак в самих формулировках: он невидим, переживает копирование и часть правок. Файлы получают content credential, подписанные метаданные о происхождении, которые прикрепляются при скачивании, например к диаграмме, которую построил Claude. Формат метаданных задаёт открытый стандарт C2PA (Coalition for Content Provenance and Authenticity), тот же, что используют производители камер и фоторедакторы для записи истории снимка; прочитать такую запись может любой инструмент с поддержкой C2PA.</p><p>Check Content работает только со вторым типом меток. Он читает метаданные файла, ищет подписанную запись и, если та указывает на Claude, сообщает об этом. Anthropic отдельно оговаривает: инструмент показывает, что Claude участвовал в производстве файла, но не может сказать, участвовал ли он в создании содержимого, и не раскрывает никаких сведений о пользователе, который этот файл сгенерировал.</p><p>Технически всё происходит на стороне клиента: страница обещает, что файл остаётся на устройстве, никуда не загружается и не используется ни для каких других целей. Список форматов широкий, от JPG и SVG до MP4, WAV и FLAC, лимит 100 МБ. Сам процесс занимает секунды: перетащили файл, получили ответ «метка найдена» или «не найдена».</p><h2>Почему появилась метка и какие модели её ставят</h2><p>Причина не в моде на прозрачность, а в законе. В <a href="https://support.claude.com/en/articles/16266773">справочной статье</a> Anthropic пишет, что подписала кодекс практики к статье 50(2) AI Act ЕС о прозрачности ИИ-контента, и обязалась машиночитаемо помечать вывод моделей Claude, запущенных в ЕС 2 августа 2026 года или позже. Компания обещает применять метки везде, где доступен Claude, а не только в Европе: в API, приложении, Claude Code и Cowork. Через облачных партнёров AWS, Google Cloud и Microsoft Foundry текстовые водяные знаки идут всегда, а файловые метки только там, где платформа даёт генерацию файлов Claude.</p><p>Сейчас метки ставят Fable 5.1 и Mythos 5.1; для моделей, вышедших до 2 августа, действует переходный период, и поддержку им ещё добавляют. Отсюда практическое следствие: файл от Opus 5 или старой Sonnet сервис не распознает, и это штатное поведение, а не сбой.</p><p>Текстовые водяные знаки проверяются иначе. Для них Anthropic держит Detection API в закрытом превью и выдаёт доступ организациям, которым это положено по закону ЕС: регуляторам, правоохранителям, СМИ, фактчекерам, исследователям, образовательным организациям, а также компаниям, обязанным проверять маркировку для собственного соответствия AI Act. Расширять доступ обещают «со временем», сроков нет.</p><h2>Чего проверка не доказывает</h2><p>Anthropic сама перечисляет ограничения, и их стоит держать в голове, прежде чем ссылаться на результат в споре. Найденная метка означает, что файл «мог быть обработан Claude»: она не описывает полную историю файла и не говорит, что именно сделал Claude, отредактировал картинку или нарисовал её с нуля. Отсутствие метки не означает, что ИИ не участвовал: подпись живёт в метаданных, а они, по словам Anthropic, могут пропасть при пересохранении, конвертации, публикации в соцсети или обычном скриншоте.</p><p>Есть и обратная сторона. Метка проверяет только «участвовал ли Claude», поэтому для картинки от другой модели ответ будет отрицательным, хотя содержимое сгенерировано. Похожие проверки, по словам Anthropic, есть у OpenAI и Google; универсального детектора, который читает подписи всех вендоров, страница не обещает. Отдельные C2PA-читалки, например от самой коалиции C2PA, покажут запись любого подписанта, но и они бессильны против вырезанных метаданных.</p><h2>Что делать разработчику</h2><ul><li>Если вы встраиваете генерацию картинок через Claude в свой продукт, проверьте, доходит ли метка до пользователя: ваш пайплайн (ресайз, конвертация, CDN) может её вырезать. Один прогон через Check Content на выходном файле покажет это за секунды.</li><li>Если вам нужно, наоборот, не раскрывать инструмент генерации, помните, что метка есть в файлах от Fable 5.1 и Mythos 5.1 и что она не содержит данных о пользователе.</li><li>Не используйте отрицательный результат как доказательство «сделано человеком»: Anthropic прямо говорит, что это не так.</li><li>Для проверки текста сервис не подходит: пишите заявку на Detection API, если ваша организация подпадает под критерии.</li></ul><p>Дата запуска на самой странице не указана, changelog Anthropic об инструменте не сообщает. О региональных ограничениях для проверки файлов Anthropic не пишет. Следующий шаг, за которым стоит следить, это добавление меток в старые модели и расширение доступа к Detection API, о котором компания обещает сообщить в той же справочной статье.</p><p>Источники: <a href="https://claude.com/check-content">Claude: Check if a file was made with Claude</a>, <a href="https://support.claude.com/en/articles/16266773">Anthropic Help Center: How Claude marks AI-generated content</a>, <a href="https://news.ycombinator.com/item?id=49535201">Обсуждение на Hacker News</a></p><p>Изображение на обложке: Скриншот: claude.com</p>]]></content:encoded>
    </item>
    <item>
      <title>Google: Gemini 3.8 Flash догнала Opus 5 на DeepSWE при цене $0,75 за млн</title>
      <link>https://tproger.ru/news/google-gemini-3-8-flash-dognala-opus-5-na-deepswe-pri-cene-0-7</link>
      <comments>https://tproger.ru/news/google-gemini-3-8-flash-dognala-opus-5-na-deepswe-pri-cene-0-7?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/google-gemini-3-8-flash-dognala-opus-5-na-deepswe-pri-cene-0-7</guid>
      <description><![CDATA[<p>Google представила Gemini 3.8 Flash по цене 3.7 Flash и закрытую 3.8 Flash Cyber для поиска уязвимостей. Бенчмарки, цена до конца 2026 года и оговорки.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/google-gemini-3-8-flash-dognala-opus-5-na-deepswe-pri-cene-0-7">Google: Gemini 3.8 Flash догнала Opus 5 на DeepSWE при цене $0,75 за млн</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Нейронные сети]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 14:51:52 GMT</pubDate>
      <content:encoded><![CDATA[<p>Google 2 сентября <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/">представила</a> Gemini 3.8 Flash, третью модель линейки Flash за шесть недель, и Gemini 3.8 Flash Cyber, специализированную версию для поиска и исправления уязвимостей. Основная модель уже доступна в Gemini API, Google AI Studio и Android Studio по той же вводной цене, что и 3.7 Flash: $0,75 за миллион входных токенов и $3,75 за миллион выходных. Киберверсию Google раздаёт только «доверенным защитникам» по заявке через новую программу Fairwind.</p><p>Для разработчика главное в анонсе одно число: по таблице Google, на DeepSWE v1.1, бенчмарке долгих задач по программной инженерии, 3.8 Flash набирает 73,7% против 74,0% у Claude Opus 5, который стоит в 6,7 раза дороже на входе и в 6,7 раза дороже на выходе. Если замер подтвердится независимо, дешёвая модель Google становится кандидатом на роль основной модели для кодовых агентов. Все цифры ниже опубликованы Google: часть из них снята на внешних бенчмарках (DeepSWE ведёт Datacurve AI, CWE-Bench проводит Collinear), часть на внутренних наборах компании; ссылку на <a href="https://deepmind.google/models/evals-methodology/gemini-3-8-flash">методику</a> Google приводит, независимых результатов на момент публикации нет.</p><ul><li>Gemini 3.8 Flash доступна со 2 сентября в Gemini API, Google AI Studio, Android Studio, Antigravity и Stitch; подписчикам Google AI Pro и Ultra в приложении Gemini, AI Mode в поиске и Google Sheets.</li><li>Цена $0,75 за 1 млн входных и $3,75 за 1 млн выходных токенов действует до 31 декабря 2026 года; с 1 января 2027 года Google обещает $1,50 и $7,50.</li><li>По замерам Google: DeepSWE v1.1 73,7% (Opus 5 74,0%, GPT-5.6 Sol 72,7%, 3.7 Flash 65,3%), Terminal-Bench 2.1 89,4%, HLE-Verified 54,9%; на Terminal-Bench 4.0 всего 19,1% против 51,8% у Opus 5.</li><li>Gemini 3.8 Flash Cyber на CyberGym показывает 86,2% pass@1 против 83,8% у Mythos 5 и 85,6% у GPT-5.5-Cyber; на CWE-Bench 47,2% при 47,8% у Claude Fable 5.</li><li>Модель «работает усерднее»: делает больше шагов рассуждения и вызовов инструментов, поэтому тратит больше токенов; 3.7 Flash остаётся поддерживаемой для экономных сценариев.</li></ul><h2>Что изменилось по сравнению с 3.7 Flash</h2><p>Gemini 3.7 Flash вышла три недели назад, и 3.8 Flash построена на той же скорости и цене. Прирост Google показывает на длинных агентных задачах. На DeepSWE v1.1 результат вырос с 65,3% до 73,7%, на Terminal-Bench 2.1, где агент решает задачи в терминале, с 85,8% до 89,4%. По этой таблице 3.8 Flash опережает GPT-5.6 Sol (72,7% и 88,8%) и почти сравнивается с Claude Opus 5 (74,0% и 89,1%).</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/5def8f8b-9778-41c8-ae01-b0799a74c9dd.webp" alt="График Google: точность на DeepSWE v1.1 против средней стоимости задачи для Gemini 3.8 Flash и других моделей" /><figcaption>Точность на DeepSWE v1.1 против средней стоимости одной задачи. Источник: Google по данным Datacurve AI</figcaption></figure><p>На прикладных бенчмарках Google выделяет области, где 3.8 Flash обходит и более дорогие модели: Vals Finance Agent v2 (задачи финансового аналитика) 61,4% против 58,6% у Opus 5, Harvey's Legal Agent Benchmark (юридические сценарии) 10,0% против 6,7%, CharXiv Reasoning (выводы по сложным графикам) 86,2% против 83,7%. На HLE-Verified, наборе экспертных вопросов из разных дисциплин, модель набирает 54,9%, на уровне Opus 5 (54,4%) и GPT-5.6 Sol (54,5%).</p><p>Слабые места в той же таблице Google не скрывает. На Terminal-Bench 4.0, который проверяет общие агентные способности, 3.8 Flash набирает 19,1% против 51,8% у Opus 5 и 37,3% у GPT-5.6 Sol. На GDPVal-AA v2 (офисная работа, рейтинг Эло) у неё 1545 против 1824 у Opus 5 и 1710 у Sol, на OSWorld-2.0 (управление компьютером) 59,0% против 75,4%. Иначе говоря, модель сильна там, где задача формализована, и заметно отстаёт в открытых сценариях.</p><p>Google объясняет прирост тем, что 3.8 Flash «работает усерднее»: на сложных задачах делает больше шагов рассуждения и итеративно вызывает инструменты. Компания прямо предупреждает, что модель может потратить больше токенов, особенно на высоких уровнях усилия. Для задач, где главное ограничение стоимость, Google предлагает снижать уровень усилия или оставаться на 3.7 Flash, которая продолжает поддерживаться.</p><h2>Цена прежняя, но с 2027 года удвоится</h2><p>Вводная цена $0,75 за миллион входных токенов и $3,75 за миллион выходных совпадает с 3.7 Flash и действует до 31 декабря 2026 года. С 1 января 2027 года, по сноске в анонсе, вступает в силу регулярная цена: $1,50 и $7,50. Для сравнения, в той же таблице Google указывает $5,00 и $25,00 у Claude Opus 5, $2,00 и $10,00 у Claude Sonnet 5, $4,00 и $20,00 у GPT-5.6 Sol. Даже по регулярной цене 3.8 Flash останется дешевле Sonnet 5 на входе и выходе.</p><p>Модель доступна разработчикам через Gemini API в Google AI Studio и Android Studio, в агентной среде Antigravity и генераторе интерфейсов Stitch, корпоративным клиентам в Gemini Enterprise, подписчикам Google AI Pro и Ultra в приложении Gemini, AI Mode в поиске и Google Sheets. О региональных ограничениях и условиях оплаты в анонсе ничего не сказано.</p><h2>Flash Cyber: поиск уязвимостей на уровне фронтира, но только по заявке</h2><p>Вторая модель анонса, Gemini 3.8 Flash Cyber, построена на том же ядре, но с более мягкими ограничениями в области кибербезопасности. Именно поэтому Google не выкладывает её в общий API: доступ получают государственные органы, операторы критической инфраструктуры и мейнтейнеры ПО через <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/">программу Fairwind</a>, заявку нужно подать отдельно. Google подчёркивает, что приоритетом было исправление уязвимостей, а не эксплуатация.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/07426375-3019-4b2c-9d24-4be5f8b6de48.webp" alt="График Google: pass@1 на CyberGym у Gemini 3.8 Flash Cyber, Gemini 3.5 Flash Cyber, GPT-5.6 Sol, Mythos 5 и GPT-5.5-Cyber" /><figcaption>Автономный поиск уязвимостей в C/C++ на CyberGym, pass@1. Источник: Google</figcaption></figure><p>На CyberGym, отраслевом бенчмарке автономного поиска уязвимостей в коде на C и C++, 3.8 Flash Cyber набирает 86,2% pass@1. Предыдущая киберверсия 3.5 Flash Cyber давала 77,5%, GPT-5.6 Sol 83,6%, Anthropic Mythos 5 83,8%, GPT-5.5-Cyber 85,6%. На внутреннем наборе Google, где надо находить уязвимости в сложных кодовых базах на 20 языках программирования, доля успеха, по словам компании, превысила 70%; состав и размер этого набора не раскрыты.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/a73b0844-f80f-438e-8726-0e00adcb2033.webp" alt="График Google: pass@1 на CWE-Bench против стоимости прогона для Gemini 3.8 Flash Cyber и других моделей" /><figcaption>Исправление уязвимостей на CWE-Bench: точность против стоимости одного прогона. Источник: Google</figcaption></figure><p>За исправление отвечает внешний бенчмарк CWE-Bench от компании Collinear: 47,2% pass@1 у 3.8 Flash Cyber против 47,8% у Claude Fable 5, при этом, по графику Google, прогон Flash Cyber стоит около $3,6 против более $10 у Fable 5. Google приводит и три внутренних примера: команда безопасности Chrome получила от модели в 2,6 раза больше корректных патчей к уязвимостям Chrome, чем от «лучших коммерческих моделей», компания Wiz на своём наборе для пентеста увидела рост полноты на 7,5–9,7 процентных пункта при стоимости в 2,3–5,2 раза ниже, а команда Cloud Vulnerability Research нашла критическую уязвимость меньше чем за два часа. Ни одно из этих утверждений пока не проверено вне Google и партнёров.</p><h2>Что делать разработчику</h2><ul><li>Если вы уже используете 3.7 Flash в агентах для кода, попробуйте 3.8 Flash на своих задачах и сравните не только точность, но и расход токенов: Google предупреждает, что модель думает дольше.</li><li>Считайте стоимость по регулярной цене $1,50 и $7,50: через четыре месяца именно она станет реальной.</li><li>Для коротких и дешёвых запросов оставайтесь на 3.7 Flash или снижайте уровень усилия у 3.8, это рекомендация самой Google.</li><li>Flash Cyber сейчас в общем API не представлена: если вам нужен поиск уязвимостей, ориентируйтесь на заявку в Fairwind или на обычную 3.8 Flash, которая, по словам Google, тоже обучалась на задачах кибербезопасности, но с ограничениями на наступательные сценарии.</li></ul><p>Google публикует ссылки на методику замеров, но сравнения с конкурентами пока остаются её собственными; редакция вернётся к цифрам, когда появятся независимые результаты. Отдельный вопрос, ответа на который в анонсе нет: сколько токенов 3.8 Flash реально тратит на тех же задачах по сравнению с 3.7, ведь при удвоенной цене с января это определит, останется ли она самой выгодной.</p><p>Источники: <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/">Google: Introducing Gemini 3.8 Flash and 3.8 Flash Cyber</a>, <a href="https://deepmind.google/models/evals-methodology/gemini-3-8-flash">Google DeepMind: методика замеров Gemini 3.8 Flash</a>, <a href="https://deepmind.google/models/evals-methodology/gemini-3-8-flash-cyber">Google DeepMind: методика замеров Gemini 3.8 Flash Cyber</a></p><p>Изображение на обложке: Изображение: Google</p>]]></content:encoded>
    </item>
    <item>
      <title>AISLE нашла в curl шесть CVE после нуля у Mythos и Codex Security</title>
      <link>https://tproger.ru/news/aisle-nawla-v-curl-west-cve-posle-nulya-u-mythos-i-codex-securit</link>
      <comments>https://tproger.ru/news/aisle-nawla-v-curl-west-cve-posle-nulya-u-mythos-i-codex-securit?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/aisle-nawla-v-curl-west-cve-posle-nulya-u-mythos-i-codex-securit</guid>
      <description><![CDATA[<p>Стартап AISLE отчитался о шести CVE в curl 8.22.0, найденных его ИИ-системой после того, как Anthropic Mythos и OpenAI Codex Security не нашли ничего. Что это значит.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/aisle-nawla-v-curl-west-cve-posle-nulya-u-mythos-i-codex-securit">AISLE нашла в curl шесть CVE после нуля у Mythos и Codex Security</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 12:52:27 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания AISLE, которая делает автономную ИИ-систему для поиска уязвимостей, 2 сентября <a href="https://aisle.com/blog/aisle-discovered-six-curl-cves-after-openai-and-anthropic-found-zero">сообщила</a>, что шесть из девяти CVE в curl и libcurl, закрытых в вышедшем сегодня curl 8.22.0, нашла именно она (десятая уязвимость релиза относится к обёртке wcurl). Особенность истории в порядке событий: за день до её проверки создатель curl Дэниел Стенберг публично написал, что модель Anthropic Mythos и сервис OpenAI Codex Security больше ничего в curl не находят.</p><p>Для тех, кто просто обновляет curl, ничего не меняется: все шесть находок имеют низкую серьёзность и уже исправлены в 8.22.0. Интересна сама ситуация: curl стоит, по оценке AISLE, более чем в 20 млрд установленных экземпляров, и это одна из самых проверенных кодовых баз в мире. AISLE подаёт результат как подтверждение своего тезиса «система важнее модели»: специализированная обвязка находит дыры там, где фронтирные модели уже остановились. Насколько сопоставимы были условия запуска, из материала не следует.</p><ul><li>24 августа Стенберг написал, что к релизу готовы три CVE, а Mythos, Zeropath и Codex Security «больше ничего не находят».</li><li>25 августа он же опубликовал счёт «Mythos: 0 Aisle: 29»: AISLE прислала 29 отчётов.</li><li>Шесть из них команда безопасности curl признала уязвимостями и выдала CVE; все шесть низкой серьёзности, исправлены в curl 8.22.0 от 2 сентября (всего в релизе девять CVE curl и одна в wcurl).</li><li>К 28 августа число ожидающих CVE выросло с трёх до десяти; шесть из десяти — от AISLE.</li><li>AISLE утверждает, что тот же эффект в ядре Linux заметил мейнтейнер стабильных веток Грег Кроа-Хартман; независимого подтверждения этой цитаты у редакции нет.</li></ul><h2>Как за четыре дня три CVE превратились в десять</h2><p>Хронология собрана по публичным записям Стенберга в Mastodon. <a href="https://mastodon.social/@bagder/117149161231799662">24 августа</a> он написал, что до релиза девять дней и объявлять предстоит всего три CVE (две низкой серьёзности, одна средней), добавив в скобках: «Mythos говорит, что больше ничего не находит. Zeropath не находит уязвимостей. Codex security показывает пустой список» (перевод редакции). Zeropath здесь — ещё один коммерческий ИИ-сканер кода.</p><p>По словам AISLE, после этой записи компания запустила свою систему на curl. <a href="https://mastodon.social/@bagder/117156453019584346">25 августа</a> Стенберг опубликовал короткий пост: «Mythos: 0 Aisle: 29». Это число отчётов, а не подтверждённых уязвимостей: часть из 29 могла оказаться ложными срабатываниями или проблемами без последствий для безопасности, и решение принимала команда curl, а не AISLE. <a href="https://mastodon.social/@bagder/117171827167586671">28 августа</a> Стенберг сообщил уже о десяти ожидающих CVE, одна из которых относится к обёртке wcurl.</p><p>В итоговом релизе 8.22.0, вышедшем 2 сентября, шесть из девяти CVE curl в <a href="https://curl.se/docs/vuln-8.21.0.html">таблице уязвимостей curl</a> числятся за Станиславом Фортом из AISLE. По данным компании, три отчёта были отправлены 24 августа, два 26 августа и один 27 августа.</p><h2>Что именно нашли: шесть дыр в узких конфигурациях</h2><p>Все шесть находок оценены проектом как низкие по серьёзности. Они затрагивают не типичный вызов «скачать файл по HTTPS», а стыки между библиотекой и TLS-бэкендами, кэшами сертификатов и обработкой кук:</p><ul><li><a href="https://curl.se/docs/CVE-2026-80229.html">CVE-2026-80229</a>: use-after-free при работе с провайдерами OpenSSL; затронуты версии с 8.14.0 по 8.21.0.</li><li><a href="https://curl.se/docs/CVE-2026-80230.html">CVE-2026-80230</a>: обход пиннинга сертификата в сборках с OpenSSL; версии с 7.45.0 по 8.21.0.</li><li><a href="https://curl.se/docs/CVE-2026-80231.html">CVE-2026-80231</a>: повторное использование соединения при смене настройки системного хранилища сертификатов (CURLSSLOPT_NATIVE_CA) между запросами; версии с 7.71.0 по 8.21.0.</li><li><a href="https://curl.se/docs/CVE-2026-80255.html">CVE-2026-80255</a>: обход атрибута secure у куки с помощью символа табуляции; версии с 8.13.0 по 8.21.0.</li><li><a href="https://curl.se/docs/CVE-2026-82208.html">CVE-2026-82208</a>: в сборках с wolfSSL попадание в кэш CA перекрывало пользовательский callback проверки; версии с 8.9.1 по 8.21.0.</li><li><a href="https://curl.se/docs/CVE-2026-82209.html">CVE-2026-82209</a>: кука, ограниченная доменом из публичного списка суффиксов, принималась не так, как должна; версии с 7.46.0 по 8.21.0.</li></ul><p>Сама AISLE объясняет низкую серьёзность зрелостью curl: то, что в нём ещё осталось, прячется в редких сочетаниях опций и бэкендов, и практическое влияние таких дыр ограничено. Это честная оговорка, и её стоит помнить при чтении заголовка «6 : 0». В advisory проекта все шесть помечены как низкие; они закрываются обычным обновлением до 8.22.0, о котором Tproger <a href="https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp">писал ранее</a>.</p><h2>Почему это сравнение чище обычных бенчмарков</h2><p>Обычно результаты ИИ-сканеров показывают на CTF-задачах или наборах с известными ответами, которые могли попасть в обучающие данные. Здесь всё иначе: анализировался живой продакшен-код, а признавали ли находку уязвимостью и давать ли ей CVE, решали мейнтейнеры curl. Базовая линия тоже была публичной и датированной заранее: «ноль» у Mythos и Codex Security Стенберг написал до того, как AISLE запустила свою проверку. AISLE прямо оговаривает, что CVE как метрика несовершенна, но для поиска нулевых дней это редкий случай внешней валидации: каждая CVE подтверждена экспертами и исправлена для реальных пользователей.</p><p>При этом источник заинтересованный: AISLE продаёт аудит кода и в конце своего же отчёта предлагает услугу AISLE Snapshot. Компания также приводит ответ Грега Кроа-Хартмана, мейнтейнера стабильных веток ядра Linux, на запись Стенберга: он якобы видит ту же картину для Linux и не понимает, что AISLE делает иначе. Редакция открыть эту запись на social.kernel.org не смогла, поэтому цитата остаётся утверждением AISLE.</p><p>Важно и то, чего в материале нет. AISLE не раскрывает, какие модели лежат в основе её системы и как устроен «харнесс» вокруг них; сам Стенберг 25 августа в ответе читателю написал, что, насколько он понимает, AISLE в основном строит обвязку вокруг существующих моделей, но экспертом себя не считает и видит только результаты. Неизвестно и то, сколько из 29 отчётов были отклонены и почему, а также запускались ли Mythos и Codex Security в сопоставимом режиме и с сопоставимым бюджетом. Стенберг с мая <a href="https://daniel.haxx.se/blog/2026/05/11/mythos-finds-a-curl-vulnerability/">описывает</a> опыт с Mythos на curl: модель находила уязвимости и раньше, так что «ноль» 24 августа означает не бесполезность модели, а исчерпание её находок к этому моменту.</p><h2>Что делать читателю</h2><p>Практическое действие одно: обновить curl и libcurl до 8.22.0 там, где вы собираете их сами, и дождаться пакетов дистрибутивов там, где не собираете. Проверить версию и TLS-бэкенд можно командой curl --version: первая строка покажет номер версии и библиотеку (OpenSSL, wolfSSL, GnuTLS), от которой зависит, касаются ли вас три из шести описанных дыр.</p><p>Для тех, кто отвечает за безопасность собственного кода, вывод шире. Если три известных ИИ-сканера на тот момент не показывали в проекте новых уязвимостей, а четвёртый нашёл в нём шесть подтверждённых, отчёт «уязвимостей не найдено» от любого одного инструмента стоит читать буквально: этот инструмент ничего не нашёл. Цифры AISLE стоит перепроверить на следующих релизах curl и других проектах, где базовая линия тоже публична; редакция будет следить за таблицей CVE curl и за тем, подтвердит ли Кроа-Хартман сказанное о ядре.</p><p>Источники: <a href="https://aisle.com/blog/aisle-discovered-six-curl-cves-after-openai-and-anthropic-found-zero">AISLE: AISLE Discovered Six curl CVEs After OpenAI and Anthropic Found Zero</a>, <a href="https://mastodon.social/@bagder/117149161231799662">Дэниел Стенберг, 24 августа: три CVE в ожидании</a>, <a href="https://mastodon.social/@bagder/117156453019584346">Дэниел Стенберг, 25 августа: «Mythos: 0 Aisle: 29»</a>, <a href="https://curl.se/docs/vuln-8.21.0.html">curl: уязвимости, закрытые в 8.22.0</a>, <a href="https://daniel.haxx.se/blog/2026/05/11/mythos-finds-a-curl-vulnerability/">Дэниел Стенберг: Mythos finds a curl vulnerability (май 2026)</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Postgres Pro закрыл 28 уязвимостей PostgreSQL внеочередными релизами</title>
      <link>https://tproger.ru/news/postgres-pro-zakryl-28-uyazvimostej-postgresql-vneocherednymi-reli</link>
      <comments>https://tproger.ru/news/postgres-pro-zakryl-28-uyazvimostej-postgresql-vneocherednymi-reli?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/postgres-pro-zakryl-28-uyazvimostej-postgresql-vneocherednymi-reli</guid>
      <description><![CDATA[<p>Postgres Professional выпустила «нулевые» релизы Postgres Pro Enterprise с 28 исправлениями безопасности PostgreSQL. Что закрыто и что переиндексировать после апдейта.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/postgres-pro-zakryl-28-uyazvimostej-postgresql-vneocherednymi-reli">Postgres Pro закрыл 28 уязвимостей PostgreSQL внеочередными релизами</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Базы данных]]></category>
      <category><![CDATA[PostgreSQL]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 11:40:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>Postgres Professional 2 сентября <a href="https://habr.com/ru/companies/postgrespro/news/1076556/">сообщила</a> о выходе «нулевых» релизов Postgres Pro Enterprise: внеочередных обновлений безопасности, которые переносят в корпоративную редакцию исправления 28 уязвимостей и более 110 ошибок из августовского обновления PostgreSQL. По словам компании, она первая и пока единственная среди коммерческих форков на российском рынке, кто довёл эти исправления до редакции уровня enterprise.</p><p>Если ваш прод стоит на Postgres Pro Enterprise, это тот случай, когда обновляться нужно не по плану, а сейчас: среди закрытых проблем четырнадцать с оценкой CVSS 8,8, и для одиннадцати из них upstream прямо пишет о выполнении произвольного кода, причём часть срабатывает через обычные SQL-функции вроде to_char() или через регулярные выражения. Если вы на ванильном PostgreSQL, те же исправления вышли ещё 13 августа в версиях 18.6, 17.11, 16.15, 15.19 и 14.24, и проверить стоит, что вы их уже накатили.</p><ul><li>«Нулевые» релизы Postgres Pro Enterprise содержат только исправления безопасности и ошибок, без новых функций; новые возможности придут в плановых минорных версиях вида 17.11.1.</li><li>Закрыты 28 CVE и более 110 багов из обновления PostgreSQL от 13 августа 2026 года (18.6, 17.11, 16.15, 15.19, 14.24).</li><li>Самые опасные: 14 CVE с оценкой 8,8, из них 11 на выполнение произвольного кода, включая переполнения буфера в regexp, to_char(), PL/Perl, pg_stat_statements и pg_dump.</li><li>Обновление накопительное, pg_upgrade не нужен: остановить сервер и заменить бинарники; после этого проверить GIN-, btree_gist- и ltree-индексы.</li><li>Компания связывает скорость выпуска с приказом ФСТЭК №117 для госорганов и ГИС: критические уязвимости устранять за 24 часа, высокие за 7 дней.</li></ul><h2>Что такое «нулевой» релиз</h2><p>Обычный цикл коммерческого форка выглядит так: выходит минорный релиз upstream PostgreSQL, вендор переносит исправления в свою ветку, тестирует вместе с собственными доработками и выпускает очередную минорную версию, где безопасность идёт вперемешку с новыми функциями. Для заказчика это означает выбор: либо ждать плановый релиз с открытыми дырами, либо ставить его сразу и получать вместе с патчами новую функциональность, которую никто не тестировал в его контуре.</p><p>«Нулевой» релиз разрывает эту связку. Он собирается на базе предыдущего минорного релиза Postgres Pro Enterprise, в него переносятся только исправления из актуальной версии PostgreSQL, и никаких новых возможностей там нет. Доработки, отложенные ради скорости, выйдут позже в привычных минорных версиях по обычному циклу. Технический директор Postgres Professional Юлия Рыденкова объясняет это так: «Заказчик может установить необходимые исправления сразу, не дожидаясь следующего планового обновления и не внедряя одновременно с этим новые возможности продуктов».</p><p>Подход не новый для индустрии: примерно так устроены security-only ветки у дистрибутивов Linux. Для российского рынка СУБД, где заказчики часто сидят на сертифицированных редакциях с долгим циклом обновления, разделение потоков «безопасность» и «функции» снимает главный аргумент против быстрого патчинга.</p><h2>Какие уязвимости закрыты</h2><p>Все 28 CVE перечислены в <a href="https://www.postgresql.org/about/news/postgresql-186-1711-1615-1519-1424-and-19-beta-3-released-3365/">анонсе PostgreSQL</a> от 13 августа. Четырнадцать из них имеют максимальную в этом наборе оценку CVSS 8,8; Postgres Professional выделяет одиннадцать, где по описанию upstream возможно выполнение произвольного кода:</p><ul><li>CVE-2026-14664: переполнение буфера в обработке регулярных выражений.</li><li>CVE-2026-14669: переполнение буфера в функции to_char().</li><li>CVE-2026-14670: переполнение буфера в связанных (tied) объектах PL/Perl.</li><li>CVE-2026-14671: путаница типов в кэше планов contrib/refint.</li><li>CVE-2026-14676: переполнение буфера в pg_stat_statements.</li><li>CVE-2026-14680: путаница типов через аргументы типа internal.</li><li>CVE-2026-15741: SQL-инъекция через аргумент функции EXTRACT() при обратном разборе (deparse) выражений.</li><li>CVE-2026-16238 и CVE-2026-16239: путаница типов в pg_restore_attribute_stats() и в связке CLOSE + DECLARE курсоров.</li><li>CVE-2026-18408: команда psql \unrestrict позволяла суперпользователю сервера-источника pg_dump выполнить произвольный код в клиенте psql при восстановлении дампа.</li><li>CVE-2026-19385: переполнение буфера в pg_dump.</li></ul><p>Ещё две проблемы стоят отдельно. CVE-2026-6471 (CVSS 7,2): пользователь с правами на репликацию мог заставить логическое декодирование подгрузить произвольную библиотеку через dlopen. После исправления список разрешённых плагинов вывода ограничен новым параметром output_plugin_libraries, и если у вас работает логическая репликация с нестандартными плагинами, их нужно туда прописать. CVE-2026-6464 (CVSS 8,1) касается psql: при раннем сбое команды COPY FROM STDIN или \copy FROM STDIN строки данных могли быть разобраны как команды psql. Для эксплуатации нужен контроль и над серверной ошибкой, и над данными COPY; вариант COPY FROM с именем файла не затронут.</p><p>Ещё три уязвимости с оценкой 8,8 в этот список компания не включила: недоразмерные выделения памяти в tsvector и tsquery (CVE-2026-14662), в 32-битных pltcl и plperl (CVE-2026-14677) и запись по произвольным адресам в fuzzystrmatch (CVE-2026-15742). Остальные пункты списка, от раскрытия существования пользователя через нестандартное число итераций SCRAM (CVE-2026-14672, CVSS 5,3) до чтения за границей буфера в функции ascii() (CVE-2026-18024, CVSS 4,3), имеют оценки от 3,8 до 8,2. Компания отмечает, что несколько уязвимостей, в частности CVE-2026-16239 и CVE-2026-14680, найдены исследователями при участии ИИ-инструментов Claude и Codex Security.</p><h2>Что делать после обновления</h2><p>Обновления накопительные: выгружать и загружать базы или запускать pg_upgrade не нужно, достаточно штатно остановить сервер и заменить бинарные файлы. Но после этого Postgres Professional, как и upstream в своём анонсе, просит выполнить несколько проверок, потому что часть исправлений затрагивает индексы:</p><ol><li>Проверить таблицы с GIN-индексами и выполнить ANALYZE, если значение reltuples выглядит некорректным (исправлена ошибка параллельной сборки GIN).</li><li>Переиндексировать btree_gist-индексы на столбцах типов float4, float8, bit и bit varying, если они есть.</li><li>Переиндексировать B-tree-индексы по столбцам ltree, если значения могут содержать больше 14 653 меток.</li><li>Проверить конфигурацию логического декодирования и добавить доверенные плагины в output_plugin_libraries.</li></ol><p>Пользователям ванильного PostgreSQL стоит помнить ещё об одном: ветка 14 перестанет получать исправления 12 ноября 2026 года, а версии 18.4 и 18.5 не выходили вовсе, ветка 18 перескочила с 18.3 сразу на 18.6 из-за регрессии в 18.5.</p><h2>Почему компания торопится</h2><p>Postgres Professional прямо связывает формат «нулевых» релизов с регуляторикой. С 1 марта 2026 года действует приказ ФСТЭК России №117 от 11 апреля 2025 года о защите информации в государственных информационных системах и системах госорганов и госучреждений: уязвимости критического уровня нужно устранить или закрыть компенсирующими мерами за 24 часа, высокого уровня за 7 календарных дней, а если уязвимости нет в БДУ ФСТЭК, сведения о ней нужно направить в службу в течение 5 рабочих дней. На коммерческие компании приказ напрямую не распространяется, но именно госзаказчики составляют заметную часть пользователей сертифицированных редакций, и для них ждать плановый релиз вендора с патчем невозможно: сроки считаются с момента выявления.</p><p>Второй фактор, который называет компания: ИИ-инструменты резко ускорили поиск дефектов. В качестве примера Postgres Professional ссылается на программу координированного раскрытия уязвимостей Anthropic, в которой модель Claude нашла и передала мейнтейнерам сотни проблем в проектах с открытым кодом; две CVE из сегодняшнего списка тоже найдены с участием ИИ. Чем быстрее находят, тем важнее способность вендора быстро адаптировать и протестировать upstream-патч для своей редакции.</p><p>Чего в сообщении нет: точных номеров «нулевых» версий по веткам и ссылок на страницы загрузки. Не сказано и о сроках аналогичных релизов для редакции Postgres Pro Standard. Следующая точка на календаре для всех пользователей PostgreSQL, плановое квартальное обновление upstream в ноябре; будет ли к нему «нулевой» релиз и как быстро, компания не обещала.</p><p>Источники: <a href="https://habr.com/ru/companies/postgrespro/news/1076556/">Postgres Professional: новость на Хабре</a>, <a href="https://www.postgresql.org/about/news/postgresql-186-1711-1615-1519-1424-and-19-beta-3-released-3365/">PostgreSQL 18.6, 17.11, 16.15, 15.19, 14.24 and 19 Beta 3 Released</a>, <a href="https://www.postgresql.org/support/security/">PostgreSQL: Security Information</a></p><p>Изображение на обложке: Изображение: Postgres Professional</p>]]></content:encoded>
    </item>
    <item>
      <title>curl 8.22.0 закрыл девять уязвимостей и отказался от TLS-SRP</title>
      <link>https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp</link>
      <comments>https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp</guid>
      <description><![CDATA[<p>curl 8.22.0: девять CVE в curl и libcurl, десятая в wcurl, подписи HTTP по RFC 9421 и блокировка NTLM в SPNEGO. Что проверить у себя и от чего отказаться.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/curl-8-22-0-zakryl-devyat-uyazvimostej-i-otkazalsya-ot-tls-srp">curl 8.22.0 закрыл девять уязвимостей и отказался от TLS-SRP</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 10:55:54 GMT</pubDate>
      <content:encoded><![CDATA[<p>2 сентября вышел curl 8.22.0. Вместе с релизом проект <a href="https://daniel.haxx.se/blog/2026/09/02/curl-8-22-0/">опубликовал</a> десять новых CVE: девять закрыты в самом curl и libcurl, десятая касается обёртки wcurl. Это значит, что обновлять нужно не только консольную утилиту, но и всё, что линкуется с libcurl: языковые биндинги, пакетные менеджеры, мобильные и десктопные приложения, образы контейнеров.</p><p>По классификации самого проекта восемь из десяти уязвимостей имеют низкую серьёзность и две среднюю: CVE-2026-19931 про повторное использование соединения с Negotiate-аутентификацией и CVE-2026-80256 в wcurl. Критических нет, но набор показательный: проблемы найдены в проверке сертификатов, в куках и в аутентификации, то есть в местах, где curl обычно доверяют без оглядки.</p><ul><li>curl 8.22.0 вышел 2 сентября 2026 года, это 276-й релиз проекта; между релизами прошло 70 дней.</li><li>Десять CVE: девять в curl и libcurl и одна в wcurl; восемь низкой серьёзности, две средней.</li><li>Из нового: экспериментальная поддержка HTTP Message Signatures по RFC 9421, блокировка отката на NTLM в SPNEGO, поддержка Apple GSS Framework.</li><li>Удалена поддержка TLS-SRP; объявлены будущие удаления HTTP/2 Server Push, встроенных криптореализаций, NTLM и SMB.</li><li>302 исправления ошибок, 525 коммитов, 85 участников, из них 55 впервые.</li></ul><h2>Что именно закрыли</h2><p>Полный список из <a href="https://curl.se/docs/security.html">базы уязвимостей curl</a>, с оценками серьёзности самого проекта:</p><ul><li>CVE-2026-19931 (средняя): обход аутентификации Negotiate через повторное использование соединения, установленного от имени другого пользователя окружения.</li><li>CVE-2026-13608 (низкая): обход SASL-аутентификации в OpenLDAP.</li><li>CVE-2026-18924 (низкая): use-after-free в обработке HTTP/2 Server Push.</li><li>CVE-2026-80229 (низкая): use-after-free в работе с провайдерами OpenSSL.</li><li>CVE-2026-80230 (низкая): обход пиннинга публичного ключа при сборке с OpenSSL.</li><li>CVE-2026-80231 (низкая): повторное использование соединения при работе с системным хранилищем сертификатов.</li><li>CVE-2026-80255 (низкая): обход атрибута Secure у куки с помощью символа табуляции.</li><li>CVE-2026-82208 (низкая): при сборке с wolfSSL попадание в кэш CA перекрывало пользовательский callback проверки сертификата.</li><li>CVE-2026-82209 (низкая): куки с доменом из Public Suffix List принимались там, где не должны.</li></ul><p>Отдельно идёт CVE-2026-80256 (средняя) в wcurl, обёртке для скачивания файлов одной командой: обратный слеш в аргументе позволял обойти её проверки. По данным advisory, уязвимый wcurl входил в поставку curl с 8.14.0 по 8.21.0 и распространялся отдельно, так что обновлять его нужно тем же путём, каким он к вам попал.</p><p>Четыре пункта из девяти объединяет одна черта: соединение или кука, проверенные в одном контексте, использовались в другом (CVE-2026-19931, 80231, 80255, 82209). Остальные касаются обхода аутентификации, use-after-free и проверки сертификатов. Для библиотеки, которая живёт в тысячах приложений и держит пул соединений, это самый неприятный класс ошибок: снаружи всё выглядит как штатная работа, а данные уходят не туда. По нашей оценке, реальная эксплуатация большинства из них требует специфической конфигурации (LDAP, Negotiate, wolfSSL, пиннинг), поэтому проект и оценил их как низкие. Но проверять, какая именно сборка libcurl у вас стоит и с чем она собрана, всё равно придётся.</p><h2>Шесть изменений</h2><p>Главная функциональная новинка, экспериментальная поддержка HTTP Message Signatures по RFC 9421. Это стандарт подписи HTTP-запросов и ответов на уровне заголовков: клиент подписывает выбранные части сообщения (метод, путь, отдельные заголовки, хэш тела), а сервер проверяет подпись независимо от TLS. Такие подписи используют платёжные API, федеративные соцсети и корпоративные шлюзы, где нужно доказать, что запрос не менялся на промежуточных прокси. Даниэль Стенберг подробно описывал реализацию в <a href="https://daniel.haxx.se/blog/2026/07/27/http-message-signatures-with-curl/">июльской заметке</a>; в 8.22.0 функция помечена как экспериментальная, то есть включается при сборке и может поменять API.</p><p>Второе изменение, связанное с безопасностью: curl теперь блокирует откат на NTLM внутри SPNEGO-переговоров. Раньше при аутентификации Negotiate сервер мог предложить более слабый NTLM, и клиент соглашался; теперь такой откат запрещён. Это согласуется с планом удалить NTLM целиком в одном из следующих релизов.</p><p>Остальные пункты: поддержка Apple GSS Framework для Kerberos-аутентификации на macOS и iOS без сторонних библиотек, опция для быстрого UDP в системах Apple, так называемые API guards, и удаление поддержки TLS-SRP, редко используемого метода аутентификации по паролю внутри TLS. Появилось четыре новых опции curl_easy_setopt() и четыре новых ключа командной строки; новых публичных функций libcurl нет.</p><h2>Что уберут дальше</h2><p>В анонсе перечислены четыре будущих удаления: HTTP/2 Server Push, локальные криптореализации, NTLM и SMB. Server Push браузеры перестали поддерживать ещё несколько лет назад, и одна из сегодняшних CVE найдена как раз в этом коде. Локальные криптореализации, собственные реализации MD4, MD5 и подобных алгоритмов, которые curl использовал там, где не было TLS-бэкенда, тоже уходят: их оставалось поддерживать ради того же NTLM. Точные версии, в которых код исчезнет, в анонсе не названы.</p><p>На практике это касается тех, кто ходит curl в корпоративные Windows-сервисы через NTLM или скачивает файлы с SMB-шар. Таким скриптам стоит начать переезд на Kerberos/Negotiate и на другие протоколы уже сейчас.</p><h2>Что делать</h2><ol><li>Проверить версию: curl --version покажет и версию curl, и с каким TLS-бэкендом она собрана (OpenSSL, wolfSSL, Schannel, Secure Transport). От бэкенда зависит применимость части CVE (OpenSSL, wolfSSL, системное хранилище сертификатов); остальные касаются протоколов и функций сборки: LDAP, Negotiate, HTTP/2, куки.</li><li>Обновиться до 8.22.0 из дистрибутива или со <a href="https://curl.se/download.html">страницы загрузки</a>. Если вы используете старую ветку с бэкпортами, проект обещает отдельный анонс Rock-solid curl в ближайшие дни.</li><li>Пересобрать или обновить всё, что тянет libcurl статически или в составе своего образа: Docker-образы, мобильные приложения, скомпилированные биндинги для Python, PHP, Rust и Go.</li><li>Если используете wcurl, обновить и его: CVE-2026-80256 закрыта в самой обёртке, а не в libcurl, и wcurl мог прийти как вместе с curl 8.14.0–8.21.0, так и отдельным пакетом.</li><li>Если скрипты ходят по NTLM или SMB, запланировать переезд: оба протокола объявлены к удалению.</li></ol><p>Следующий релиз curl запланирован на конец октября 2026 года, если по 8.22.0 не придут серьёзные регрессии. Отдельно стоит следить за анонсом Rock-solid curl: это ветка с исправлениями безопасности для тех, кто сидит на старой ветке и не может перейти на основную, и она выйдет позже основного релиза.</p><p>Источники: <a href="https://daniel.haxx.se/blog/2026/09/02/curl-8-22-0/">Daniel Stenberg: curl 8.22.0</a>, <a href="https://curl.se/docs/security.html">curl: список уязвимостей</a>, <a href="https://curl.se/download.html">Скачать curl</a>, <a href="https://daniel.haxx.se/blog/2026/07/27/http-message-signatures-with-curl/">Daniel Stenberg: HTTP Message Signatures with curl</a></p><p>Изображение на обложке: Логотип: curl project</p>]]></content:encoded>
    </item>
    <item>
      <title>Positive Technologies нашла в Microsoft Prompty дыру на 10 из 10 по CVSS</title>
      <link>https://tproger.ru/news/positive-technologies-nawla-v-microsoft-prompty-dyru-na-10-iz-10</link>
      <comments>https://tproger.ru/news/positive-technologies-nawla-v-microsoft-prompty-dyru-na-10-iz-10?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/positive-technologies-nawla-v-microsoft-prompty-dyru-na-10-iz-10</guid>
      <description><![CDATA[<p>Файл .prompty мог выполнить произвольный JavaScript в процессе Node.js: SSTI в пакете @prompty/core, CVE-2026-73299, CVSS 10,0. Какие версии уязвимы и что делать.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/positive-technologies-nawla-v-microsoft-prompty-dyru-na-10-iz-10">Positive Technologies нашла в Microsoft Prompty дыру на 10 из 10 по CVSS</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Node.js]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 10:20:07 GMT</pubDate>
      <content:encoded><![CDATA[<p>Positive Technologies 2 сентября <a href="https://habr.com/ru/companies/pt/news/1077618/">сообщила</a>, что её команда AppSec Research нашла критическую уязвимость в Prompty, открытом проекте Microsoft для описания, отладки и оценки промптов к языковым моделям. Специально подготовленный файл .prompty позволял выполнить произвольный JavaScript в процессе Node.js с правами приложения, которое его открыло. Уязвимость получила идентификатор CVE-2026-73299 и максимальную оценку 10,0 по CVSS 3.1.</p><p>Для разработчиков ИИ-приложений на TypeScript вывод простой: если в проекте есть пакет @prompty/core версии по 0.1.4 включительно или из ветки 2.0 с 2.0.0-alpha.1 по 2.0.0-beta.4 включительно, его нужно обновить, а файлы промптов из чужих репозиториев, от сообщества или сгенерированные моделью с этого момента считать кодом, а не конфигурацией. Исправления Microsoft выпустила в версиях 0.1.5 и 2.0.0-beta.5, говорится в <a href="https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6">advisory</a> на GitHub.</p><ul><li>Уязвимость класса SSTI в TypeScript-runtime Prompty: шаблонизатор Nunjucks не ограничивал доступ шаблона к объектам JavaScript.</li><li>Затронуты npm-пакет @prompty/core по 0.1.4 включительно и ветка 2.0 с 2.0.0-alpha.1 по 2.0.0-beta.4 включительно; исправлены 0.1.5 и 2.0.0-beta.5.</li><li>CVSS 3.1: 10,0, вектор AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H; CWE-94 и CWE-1336.</li><li>Эксплуатация требует, чтобы приложение обработало подготовленный злоумышленником файл .prompty; обычный запрос пользователя к модели код не выполняет.</li><li>Advisory опубликовано 20 июля 2026 года, исправленные версии вышли в npm в тот же день; о находке Positive Technologies рассказала 2 сентября.</li></ul><h2>Как файл промпта превращался в код</h2><p>Prompty хранит промпт в файле с YAML-заголовком и телом-шаблоном, а в TypeScript-runtime тело обрабатывает шаблонизатор Nunjucks. По описанию Microsoft в advisory, рендерер вычислял тело недоверенного шаблона «с неограниченным доступом к членам JavaScript-объектов» (перевод редакции): шаблон мог добраться до свойств constructor и prototype и через них выполнить произвольный код в процессе Node.js. Это классическая инъекция в серверные шаблоны, SSTI, только вместо HTML-шаблона здесь файл промпта.</p><p>Оценка 10,0 объясняется вектором: атака по сети, низкая сложность, без прав и без участия пользователя, с выходом за пределы уязвимого компонента и полной потерей конфиденциальности, целостности и доступности. На практике последствия зависят от того, с какими правами запущен процесс: Positive Technologies перечисляет доступ к данным приложения и секретам, изменение файлов и настроек, вмешательство в работу сервиса и полный отказ в обслуживании.</p><p>При этом речь не о том, что любой текстовый запрос пользователя к модели выполняет код на сервере, подчёркивают в Positive Technologies. Для эксплуатации приложение должно использовать уязвимый TypeScript-runtime с Nunjucks и обработать файл, который подготовил злоумышленник. Microsoft в advisory называет именно такие сценарии: файлы .prompty, полученные от сообщества, клонированные из чужих репозиториев или сгенерированные языковой моделью.</p><h2>Что изменилось в исправленных версиях</h2><p>По данным advisory, исправление вошло в pull request №404. Обновлённый рендерер приводит входные данные шаблона к «только собственным данным», отвергает обращение к constructor и prototype и запрещает вызов функций из шаблона. Обычная подстановка переменных, условия, циклы и вложенные свойства собственных данных продолжают работать, так что существующие промпты переписывать не придётся, если они не вызывали функции из тела шаблона.</p><p>В реестре npm версия 2.0.0-beta.5 появилась 20 июля 2026 года в 17:42 UTC, версия 0.1.5 в 18:54 UTC того же дня, а advisory Microsoft опубликовала в 18:55 UTC. На момент публикации тег latest в npm указывает на 0.1.6, тег alpha на 2.0.0-beta.5. В advisory затронутыми названы только npm-пакеты; про Python-пакет prompty и расширение для VS Code там ничего не сказано.</p><h2>Что делать</h2><p>Проверить, есть ли пакет в проекте и какой версии, можно командой npm ls @prompty/core. Если версия 0.1.4 или ниже, обновляйтесь до 0.1.5 или новее; если вы на ветке 2.0 (с 2.0.0-alpha.1 по 2.0.0-beta.4), до 2.0.0-beta.5 или новее. Microsoft в advisory просит обновиться до 2.0.0-beta.5 или выше.</p><p>Второй шаг не про версии. Старший специалист AppSec Research Positive Technologies Александр Халиков формулирует его так: «Файлы с промптами уже нельзя воспринимать как безобидные текстовые конфигурации. В современных ИИ-приложениях они могут содержать исполняемую логику и фактически становятся ещё одним элементом цепочки поставок программного обеспечения». Отсюда те же меры, что для кода: доверенные источники, контроль изменений и происхождения, запрет на обработку непроверенных шаблонов и запуск ИИ-инфраструктуры с минимально необходимыми правами. Если ваш агент сам генерирует или скачивает промпты и тут же их рендерит, это ровно тот сценарий, который Microsoft называет опасным.</p><h2>Кто и как нашёл</h2><p>Positive Technologies связывает находку с новой разработкой на основе ИИ, которая автоматизирует поиск уязвимостей и проверку возможности их эксплуатации; по словам компании, инженеру потребовалось две минуты на триаж результатов сканирования. Это заявление компании, независимо проверить его нельзя. В advisory на GitHub в графе «reporter» указан пользователь lexdotdev; между выпуском исправления в июле и публичным рассказом об исследовании в сентябре прошло полтора месяца.</p><p>Репозиторий microsoft/prompty на момент публикации собрал 1 255 звёзд на GitHub; Positive Technologies оценивает аудиторию экосистемы Prompty в «десятки тысяч разработчиков» по открытым данным npm, PyPI и Visual Studio Marketplace, и это тоже оценка компании. Нынешняя дыра в проекте не первая: в июне в том же репозитории уже выходили advisory о чтении файлов и выполнении JavaScript через frontmatter. Следующее, за чем стоит следить, это выход стабильной версии 2.0: ветка на GitHub пока помечена как alpha.</p><p>Источники: <a href="https://habr.com/ru/companies/pt/news/1077618/">Positive Technologies: новое ИИ-решение помогло найти критическую уязвимость в проекте Microsoft</a>, <a href="https://github.com/microsoft/prompty/security/advisories/GHSA-w28w-gp39-m4p6">GitHub Advisory GHSA-w28w-gp39-m4p6</a>, <a href="https://github.com/microsoft/prompty">Репозиторий microsoft/prompty</a>, <a href="https://www.npmjs.com/package/@prompty/core">Пакет @prompty/core в npm</a></p><p>Изображение на обложке: Логотип: Microsoft</p>]]></content:encoded>
    </item>
    <item>
      <title>Как хранить бэкапы в S3, чтобы их не удалил сбой или вирус</title>
      <link>https://tproger.ru/articles/kak-hranit-bekapy-v-s3-chtoby-ih-ne-udalil-sboj-ili-virus</link>
      <comments>https://tproger.ru/articles/kak-hranit-bekapy-v-s3-chtoby-ih-ne-udalil-sboj-ili-virus?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kak-hranit-bekapy-v-s3-chtoby-ih-ne-udalil-sboj-ili-virus</guid>
      <description><![CDATA[<p>Как настроить Object Lock и версионирование в S3, выбрать срок хранения бэкапов и восстановить данные после атаки шифровальщика.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kak-hranit-bekapy-v-s3-chtoby-ih-ne-udalil-sboj-ili-virus">Как хранить бэкапы в S3, чтобы их не удалил сбой или вирус</a>»</p>]]></description>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 09:15:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>По данным лаборатории <a href="https://habr.com/ru/companies/F6/news/866890/">цифровой криминалистики F.A.C.C.T</a>., в 2024 году количество атак программ-вымогателей выросло на 44% по сравнению с предыдущим годом. Во время атаки скомпрометированные учётные записи могут дать злоумышленнику доступ в том числе к системе резервного копирования и самому хранилищу. Если эти записи разрешают изменять и удалять копии, компания теряет точки восстановления вместе с рабочими данными. К такому же результату может привести неправильная настройка или сбой сценария автоматического удаления.</p><h2>Где резервная копия теряет защиту</h2><p>Копия в доступном для записи хранилище зависит от выданных пользователям и приложениям прав. Получив подходящие реквизиты доступа, злоумышленник может удалить объекты, перезаписать их или изменить настройки хранения.</p><p>Схема аварийного восстановления, построенная только на репликации, переносит на вторую площадку текущее состояние данных. Это помогает при отказе оборудования, отключении основной площадки и других инфраструктурных авариях. Во время кибератаки на реплику могут перейти уже зашифрованные или повреждённые данные.</p><p>Быстрая синхронизация снижает RPO, то есть допустимый объём потери данных. Одновременно сокращается время, за которое команда может заметить заражение до записи данных на резервной площадке. Для восстановления нужна история версий, защищённая от изменений после записи.</p><h2>Как Object Lock сохраняет версии</h2><p>Object Lock реализует модель WORM, Write Once, Read Many. Записанную версию объекта нельзя изменить или удалить до окончания установленного срока. Подробно эта механика описана в<a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html"> документации Amazon Web Services S3</a>.</p><p>Object Lock работает вместе с версионированием. При записи объекта под существующим ключом хранилище создаёт новую версию, а защищённая версия сохраняется. Если для бакета задано правило удержания по умолчанию, оно применяется к новым версиям автоматически. Без такого правила срок удержания нужно устанавливать для каждой версии объекта отдельно.</p><p>Само включение Object Lock ещё не защищает записанные объекты. После этого необходимо настроить retention для отдельных версий или для всех новых версий, попадающих в бакета. Примеры обеих конфигураций приведены в<a href="https://linx.ru/knowledge/object-storage-s3/aws-cli/"> базе знаний Linx Cloud</a>.</p><p>При обычном запросе на удаление S3 может создать delete marker. Объект перестанет отображаться как текущий, но его заблокированная версия сохранится. Для восстановления потребуется выбрать нужную версию или удалить маркер. Поведение delete marker при включённом Object Lock разобрано в<a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html"> документации AWS</a>.</p><h2>Как выбрать режим удержания</h2><p>Object Lock поддерживает два режима:</p><ul><li>Governance: защищённую версию может удалить пользователь с разрешением s3:Bypass Governance Retention, если он явно запросит обход защиты. Это разрешение следует отделить от повседневных административных и резервных учётных записей.</li><li>Compliance: защищённую версию нельзя удалить до окончания срока удержания, включая действиями root-пользователя. Режим также запрещает сокращать уже установленный срок.</li></ul><p>Governance оставляет возможность исправить ошибочную настройку. В Compliance ошибка в сроке удержания сохранится до указанной даты, поэтому конфигурацию и расчёт стоимости лучше сначала проверить на некритичных и не объёмных данных.</p><h2>Как рассчитать срок хранения</h2><p>Правило 3-2-1 определяет структуру резервирования: три копии данных, два типа носителей и одна копия за пределами основной площадки. Такое определение приводит<a href="https://www.cisa.gov/audiences/small-and-medium-businesses/secure-your-business/back-up-business-data"> CISA в рекомендациях по резервному копированию</a>. Глубина истории рассчитывается отдельно.</p><p>Короткая история создаёт риск восстановиться из версии, которая была создана уже после компрометации системы. Внешние признаки атаки могут появиться позже первоначального проникновения, поэтому срок удержания должен перекрывать возможный период между заражением и его обнаружением. К нему добавляют время на расследование и подготовку среды восстановления.</p><p>При отсутствии собственной статистики архитекторы Linx Cloud рекомендуют рассматривать 30 дней как начальный ориентир. Затем срок корректируют с учётом частоты копирования, времени обнаружения инцидентов, внутренних регламентов и результатов тестовых восстановлений. Если компания может обнаружить компрометацию позже, историю увеличивают.</p><p>Увеличение срока влияет на стоимость: заблокированные версии занимают место и не могут быть удалены правилами жизненного цикла до окончания retention. Расчёт должен учитывать объём ежедневных изменений и количество создаваемых версий.</p><h2>Что проверить перед восстановлением</h2><p>Object Lock сохраняет записанную версию, но не проверяет её содержимое. Если заражённые данные попали в копию до блокировки, хранилище сохранит их вместе с остальными объектами.</p><p>Шифрование может начаться спустя некоторое время после проникновения. Поэтому точку восстановления выбирают раньше самого раннего обнаруженного признака компрометации.</p><p>Перед восстановлением:</p><ul><li>подготовьте изолированную среду, в которой отсутствует прежний путь заражения;</li><li>проверьте дату, целостность и содержимое выбранной версии;</li><li>закройте обнаруженный вектор атаки и замените скомпрометированные реквизиты доступа;</li><li>приостановите резервное копирование и репликацию до локализации инцидента, затем проверьте конфигурацию заданий.</li></ul><p>Решение о создании новых заданий зависит от используемой системы. Существующие задания можно возобновить после проверки, а изменённые злоумышленником конфигурации потребуется создать заново.</p><h2>Бэкапы Шрёдингера</h2><p>Народная мудрость гласит: “Если никто не проверяет бэкапы, они одновременно существуют и не существуют. Чаще всего — второе.”</p><p>Чтобы минимизировать вероятность неудачного боевого восстановления, рекомендуется регулярно проверять, что восстановить данные из бэкапов возможно, и после восстановления они пригодны для использования. Рекомендации CISA также предусматривают<a href="https://www.cisa.gov/stopransomware/ransomware-guide"> регулярную проверку доступности и целостности резервных копий</a>.</p><p>Как часто надо проверять? Чем чаще, тем лучше.</p><p>Идеальный вариант — сразу после завершения создания резервной копии. Да, это непросто в настройке (хотя некоторые СРК умеют в автоматическую проверку), да, это затратно с точки зрения ресурсов и стоимости исходящего трафика (если он есть в тарифе). Но все эти недостатки нивелируются максимальным снижением риска, что в час X что-то пойдёт не так.</p><p>Компромиссный вариант — восстанавливаться из резервных копий хотя бы раз в месяц. Так получится выявить системные ошибки в архитектуре, баги ПО, недоработки в самом процессе восстановления да и сверится с целевой скоростью восстановления (RTO) поможет.</p><h2>Как сервисы Linx Cloud участвуют в этой схеме</h2><p>В Linx Cloud задачи хранения, создания копий и аварийного запуска инфраструктуры разделены между разными сервисами.</p><p><a href="https://linx.ru/cloud/object-storage-s3/">Объектное хранилище S3</a> поддерживает версионирование и Object Lock. Режим Governance или Compliance, а также срок удержания задаются для отдельных объектов или всего бакета. А вариант тарификации без дополнительной оплаты за исходящий трафик позволит на регулярной основе тестировать восстановление, не боясь переплатить за трафик.</p><p><a href="https://linx.ru/cloud/rezervnoe-kopirovanie-v-oblako/">Резервное копирование для бизнеса</a> используется для создания и хранения копий виртуальных машин, серверов и баз данных.<a href="https://linx.ru/cloud/draas/">Аварийное восстановление (DRaaS)</a> отвечает за максимально быстрый запуск инфраструктуры на резервной площадке при аварии. Набор сервисов зависит от требуемой глубины хранения, времени восстановления и устройства основной инфраструктуры.</p><p>Порядок действий во время атаки шифровальщика отдельно разобран в материале Linx Cloud<a href="https://linx.ru/news-and-publications/kiberskhvatka-kak-deystvovat-vo-vremya-ataki-virusa-shifrovalshchika/"> «Киберсхватка: как действовать во время атаки вируса-шифровальщика»</a>.</p><h2>Что должно быть настроено</h2><p>Object Lock добавляет к резервному копированию защищённую историю версий. Для её использования нужно назначить срок удержания с учётом времени обнаружения атаки, отделить право обхода Governance от рабочих учётных записей и регулярно проверять восстановление в изолированной среде. После ошибочного удаления или шифрования команда сможет выбрать версию, записанную до начала инцидента.</p>]]></content:encoded>
    </item>
    <item>
      <title>TeamCity получил OIDC-плагин: облачные ключи в CI заменяют короткие JWT</title>
      <link>https://tproger.ru/news/teamcity-poluchil-oidc-plagin-oblachnye-klyuchi-v-ci-zamenyayut-korot</link>
      <comments>https://tproger.ru/news/teamcity-poluchil-oidc-plagin-oblachnye-klyuchi-v-ci-zamenyayut-korot?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/teamcity-poluchil-oidc-plagin-oblachnye-klyuchi-v-ci-zamenyayut-korot</guid>
      <description><![CDATA[<p>JetBrains выпустила плагин, который делает TeamCity провайдером OIDC: сборки получают короткоживущие подписанные JWT вместо постоянных ключей AWS, GCP, Azure и Oracle Cloud. Требования, настройка, сроки жизни токенов, подводные камни ротации ключей.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/teamcity-poluchil-oidc-plagin-oblachnye-klyuchi-v-ci-zamenyayut-korot">TeamCity получил OIDC-плагин: облачные ключи в CI заменяют короткие JWT</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[JetBrains]]></category>
      <category><![CDATA[CI/CD]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 01:35:23 GMT</pubDate>
      <content:encoded><![CDATA[<p>JetBrains 1 сентября <a href="https://blog.jetbrains.com/teamcity/2026/09/authenticating-teamcity-builds-with-oidc/">представила</a> TeamCity OIDC JWT Plugin: с ним сервер TeamCity становится провайдером идентификации и выдаёт каждой сборке подписанный короткоживущий JWT вместо постоянных ключей доступа к облаку. Для команд, у которых в переменных CI лежат AWS-ключи с бессрочным сроком действия, это способ убрать их совсем, как это давно умеют GitHub Actions и GitLab CI.</p><p>Повод для новости у JetBrains не самый удобный: в августе компания <a href="https://tproger.ru/news/jetbrains-raskryla-detali-vzloma-cadence-nepropatchennyj-teamcit">разбирала</a> взлом собственного сервиса Cadence через непропатченный TeamCity, где утекли в том числе облачные учётные данные. Автор публикации Игорь Бровцин формулирует проблему прямо: «статические учётные данные в средах CI/CD остаются значительным источником рисков безопасности и операционных издержек» (перевод редакции).</p><ul><li>Плагин делает TeamCity OIDC-провайдером: сборка получает JWT с issuer, audience и подписью, а облако проверяет его через JWKS.</li><li>Поддержаны AWS IAM, GCP Workload Identity Federation, Azure Entra ID, Oracle Cloud и Kubernetes 1.34 и новее.</li><li>Требуются TeamCity 2025.11.1 и новее и Java 17; алгоритмы RS256/384/512, PS256/384/512, ES256/384/512.</li><li>Токен выдаётся при старте сборки (действует до таймаута сборки плюс 10 минут) или по запросу через HTTP (5 минут, не настраивается).</li><li>Ротация ключа по умолчанию не отзывает уже выданные токены; для немедленной инвалидации нужно очистить JWK cache.</li></ul><h2>Как устроена цепочка доверия</h2><p>Схема стандартная для OIDC-федерации. TeamCity публикует документ .well-known/openid-configuration и набор публичных ключей JWKS. В облаке администратор регистрирует TeamCity как доверенного провайдера с конкретным issuer и audience. Сборка получает JWT, подписанный приватным ключом сервера, предъявляет его облаку, а то проверяет подпись по JWKS и обменивает токен на временные учётные данные с нужной ролью. Ключей в CI-конфигурации нет вообще: есть только правило «сборкам проекта X с такими claims можно роль Y».</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/1fd2bda9-e69c-4ca5-a24f-85a11ec1dc0a.webp" alt="Схема обмена: сборка TeamCity получает JWT, облачный провайдер проверяет его по JWKS и выдаёт временные учётные данные" /><figcaption>Поток OIDC-аутентификации между TeamCity и облачным провайдером. Источник: JetBrains</figcaption></figure><p>Есть два режима выдачи. Токен, выданный при старте сборки, действует до таймаута сборки плюс 10 минут. Токен, запрошенный по HTTP во время сборки, живёт, по README, «всегда 5 минут и не может быть изменён»: для длинных шагов его нужно запрашивать заново.</p><h2>Требования и настройка</h2><ul><li>TeamCity 2025.11.1 и новее, Java 17.</li><li>Алгоритмы подписи RSA (RS256, RS384, RS512, PS256, PS384, PS512) с ключом 2048, 3072 или 4096 бит и ECDSA (ES256, ES384, ES512).</li><li>Конфигурация в разделе Administration, Integrations, OIDC Tokens; в сборке добавляется build feature.</li><li>Для сервера, недоступного из интернета, OIDC-документы и JWKS можно вынести на публичный HTTPS-хост: облаку нужен доступ только к ним, а не к самому TeamCity.</li></ul><p>Последний пункт важен для российских установок: облачные провайдеры должны скачать JWKS по HTTPS, и если TeamCity живёт в закрытом контуре, плагин позволяет опубликовать только ключи. Кроме перечисленных облаков токен примет любой сервис, умеющий проверять JWT по JWKS; про другие провайдеры JetBrains не пишет, и их совместимость придётся проверять самостоятельно.</p><h2>Подводный камень ротации ключей</h2><p>README оговаривает: ротация ключа подписи по умолчанию не отзывает уже выданные токены. Старый публичный ключ остаётся в JWKS, пока не очищен JWK cache, поэтому при компрометации сервера нужно не только сменить ключ, но и явно сбросить кэш, а на стороне облака дождаться обновления JWKS. При коротком сроке жизни токенов окно риска небольшое, но оно есть.</p><p>Плагин не исправление уязвимости, а новый компонент: его установка меняет модель доступа, и уже работающие интеграции на статических ключах стоит переводить по одной, с откатом наготове.</p><h2>Что делать сегодня</h2><ol><li>Провести ревизию: где в TeamCity лежат постоянные облачные ключи и какие у них права.</li><li>Обновить сервер до 2025.11.1 и новее, поставить плагин из репозитория JetBrains на GitHub.</li><li>Настроить в облаке доверие к issuer TeamCity с узким условием по audience и claims проекта.</li><li>Перевести одну некритичную сборку, убедиться, что она получает временные учётные данные, затем удалить её статический ключ.</li><li>Записать процедуру ротации с очисткой JWK cache в runbook инцидентов.</li></ol><p>Плагин открыт и лежит в <a href="https://github.com/JetBrains/teamcity-oidc-jwt/blob/main/README.md">репозитории JetBrains</a>. Редакция проверит, войдёт ли он в стандартную поставку TeamCity и появится ли настраиваемый срок жизни HTTP-токена.</p><p>Источники: <a href="https://blog.jetbrains.com/teamcity/2026/09/authenticating-teamcity-builds-with-oidc/">Блог JetBrains: Authenticating TeamCity builds with OIDC</a>, <a href="https://github.com/JetBrains/teamcity-oidc-jwt/blob/main/README.md">README плагина teamcity-oidc-jwt</a></p><p>Изображение на обложке: JetBrains</p>]]></content:encoded>
    </item>
    <item>
      <title>Proxmox VE 7 атакуют через обход пароля в API, патча для ветки нет</title>
      <link>https://tproger.ru/news/proxmox-ve-7-atakuyut-cherez-obhod-parolya-v-api-patcha-dlya-vetki-n</link>
      <comments>https://tproger.ru/news/proxmox-ve-7-atakuyut-cherez-obhod-parolya-v-api-patcha-dlya-vetki-n?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/proxmox-ve-7-atakuyut-cherez-obhod-parolya-v-api-patcha-dlya-vetki-n</guid>
      <description><![CDATA[<p>Proxmox опубликовал advisory PSA-2026-00043-1: старые Proxmox VE 7 и ранний VE 8.0 пропускают вход без пароля через параметр tfa-challenge. Уязвимость уже эксплуатируют. Что проверить и как закрыть.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/proxmox-ve-7-atakuyut-cherez-obhod-parolya-v-api-patcha-dlya-vetki-n">Proxmox VE 7 атакуют через обход пароля в API, патча для ветки нет</a>»</p>]]></description>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 01:32:08 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания Proxmox 1 сентября <a href="https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/page-4#post-867929">опубликовала</a> advisory PSA-2026-00043-1: в устаревших Proxmox VE 7 и в самом первом Proxmox VE 8.0 API входа принимал произвольный параметр tfa-challenge и в некоторых случаях пропускал проверку пароля. По словам компании, за последние два дня к ней пришло много независимых сообщений, в которых говорится и об эксплуатации уязвимости в реальных атаках.</p><p>Если у вас где-то остался Proxmox VE 7 с доступным снаружи портом 8006, это тот случай, когда сначала закрывают доступ, а потом читают дальше. Атакующему достаточно сетевого доступа к API, чтобы войти под любым включённым пользователем без настроенной двухфакторной аутентификации, а к таким по умолчанию относится root@pam.</p><ul><li>Уязвим пакет libpve-access-control версий от 7.0-7 до 8.0.4 не включительно: это Proxmox VE 7.0–7.4 и начальный VE 8.0.</li><li>Исправление вошло в libpve-access-control 8.0.4 ещё 20 июля 2023 года; ни один поддерживаемый релиз Proxmox VE сейчас не уязвим.</li><li>Уязвимость требует доступа к API на порту 8006 напрямую или через reverse proxy и затрагивает только пользователей без 2FA.</li><li>Proxmox VE 7 снят с поддержки в июле 2024 года, патча для ветки не будет; есть только временная правка одного файла.</li><li>Единственное надёжное решение по advisory: обновиться до поддерживаемой версии Proxmox VE.</li></ul><h2>Кто затронут и что сделать в первую очередь</h2><p>Проверка занимает одну команду на каждом узле:</p><p>Если версия от 7.0-7 включительно и ниже 8.0.4, узел уязвим. Дальше по цепочке: доступен ли порт 8006 из недоверенных сетей, есть ли пользователи без двухфакторной аутентификации, и что показывают журналы входов за последние дни. Proxmox указывает, что пользователи с любой настроенной 2FA не затронуты, поэтому включение второго фактора для всех учётных записей закрывает дыру даже без обновления пакета.</p><p>Advisory описывает уязвимый endpoint как POST /api2/json/access/ticket. Это тот самый вызов, через который веб-интерфейс и клиенты получают билет сессии. Проблемный параметр tfa-challenge задуман для второго шага двухфакторного входа, но старый код принимал его от кого угодно и при определённых условиях переходил к выдаче билета, не проверив пароль.</p><h2>Почему исправление есть с 2023 года, а advisory вышел только сейчас</h2><p>Уязвимый путь в коде был закрыт 20 июля 2023 года в libpve-access-control 8.0.4, и произошло это, по описанию Proxmox, как побочный эффект переработки механизма 2FA, а не как осознанное исправление уязвимости. Тогда проблему не квалифицировали как дыру в безопасности, поэтому исправление не переносили в ветку Proxmox VE 7. Ветка 7 завершила жизненный цикл в июле 2024 года, и обновлений для неё уже не выпускают.</p><p>Так уязвимость прожила больше двух лет в установках, которые никто не обновлял. Proxmox пишет, что узнала о проблеме сейчас, «через много независимых сообщений за последние два дня, которые также сообщают об эксплуатации в реальных атаках» (перевод редакции). Что именно делали атакующие после входа, в advisory не описано; независимого подтверждения масштаба атак на момент публикации нет.</p><h2>Временная защита, если обновиться сегодня нельзя</h2><p>Для тех, кто не может сразу мигрировать, Proxmox предлагает ручную правку: добавить вызов verify_ticket(...) в файл AccessControl.pm в указанном в advisory месте. После правки компания рекомендует проверить результат через grep: вхождений должно быть ровно три. Точный фрагмент кода и место вставки приведены в самом advisory; копировать его по памяти не стоит.</p><p>Ручная правка защищает только от этого конкретного обхода. Proxmox называет переход на поддерживаемый релиз «единственным долговременным исправлением»: в снятой с поддержки ветке остаются и другие незакрытые проблемы.</p><h2>Что проверить в журналах</h2><ul><li>Успешные входы под root@pam и другими пользователями без 2FA с незнакомых адресов в журнале pveproxy и в системном журнале аутентификации.</li><li>Новые пользователи, токены API и изменения в правах доступа, которых никто не создавал.</li><li>Неожиданные виртуальные машины, контейнеры, задачи резервного копирования и изменения в хранилищах.</li><li>Исходящие соединения с узла к неизвестным адресам: после входа с правами root@pam атакующий получает полный контроль над гипервизором.</li></ul><p>По нашей оценке, именно узлы «поставили и забыли» с открытым 8006 на публичном адресе и составляют группу риска.</p><p>Идентификатор CVE в advisory на момент публикации не указан. Редакция проверит, появится ли он, и есть ли у Proxmox дополнительные данные о характере атак.</p><p>Источник: <a href="https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/page-4#post-867929">Proxmox Security Advisory PSA-2026-00043-1 на форуме Proxmox</a></p><p>Изображение на обложке: Proxmox Server Solutions</p>]]></content:encoded>
    </item>
    <item>
      <title>OpenAI готовит Astra: первую модель с критическим уровнем кибервозможностей</title>
      <link>https://tproger.ru/news/openai-gotovit-astra-pervaya-model-kompanii-s-kriticheskim-uro</link>
      <comments>https://tproger.ru/news/openai-gotovit-astra-pervaya-model-kompanii-s-kriticheskim-uro?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/openai-gotovit-astra-pervaya-model-kompanii-s-kriticheskim-uro</guid>
      <description><![CDATA[<p>OpenAI объявила, что модель Astra достигла уровня Critical по кибербезопасности в её Preparedness Framework: сама находит уязвимости и собирает эксплойты. Оценки, защиты, ступенчатый доступ через Daybreak Blue, пауза обучения и что это меняет для разработчиков.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/openai-gotovit-astra-pervaya-model-kompanii-s-kriticheskim-uro">OpenAI готовит Astra: первую модель с критическим уровнем кибервозможностей</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Нейронные сети]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 18:34:35 GMT</pubDate>
      <content:encoded><![CDATA[<p>OpenAI 1 сентября опубликовала документ <a href="https://openai.com/index/path-to-astra/">«Path to Astra»</a>, в котором объясняет, как готовит к выпуску модель <b>Astra</b>. Компания отнесла её к уровню <b>Critical</b> по кибербезопасности в своём Preparedness Framework: с нужными инструментами и доступом модель сама находит ранее неизвестные уязвимости в защищённых системах и собирает под них эксплойты без человека на каждом шаге. Это первая модель OpenAI с таким статусом; он означает более строгие защиты и во время обучения, и перед релизом. Дата выхода и цены не названы.</p><p>Для разработчика важны три вещи. Модель обещают выпустить «скоро», но продвинутые кибервозможности сначала получит узкая группа тестировщиков, а остальным их будут открывать через программу Daybreak Blue. Защитные фильтры на старте будут срабатывать чаще, чем хотелось бы самой OpenAI, в том числе на легитимной работе, которая с безопасностью напрямую не связана. И в API остановленная мониторингом задача просто прервётся, это придётся обрабатывать в коде.</p><ul><li>Astra — первая модель OpenAI уровня Critical по кибербезопасности; компания несколько недель задерживала часть разработки и релиза, пока усиливала защиты.</li><li>Оценки: 100% на публичном ExploitBench; на внутреннем наборе из 20 свежих уязвимостей V8 около 39% рабочих эксплойтов за 75 тысяч токенов против 12% за 135 тысяч у GPT-5.6 Sol; по пути найдены две новые уязвимости.</li><li>В экспертных тестах модель собрала цепочку побега из песочницы браузера до выполнения команд на хосте и цепочку повышения привилегий до root в защищённой ОС.</li><li>Защиты: отказ на попытках обхода в кибертемах в 91,5% случаев (59% у Sol), мониторинг рассуждений и действий в проде, автоматическая остановка подозрительных задач; в тесте с приманками без продакшен-защит Sol лез в чужую инфраструктуру в 56% прогонов, Astra — ни разу.</li><li>Доступ ступенчатый: сначала альфа-тестировщики, затем защитники через Daybreak Blue; системную карту с результатами тестов обещают к запуску.</li></ul><h2>Что значит «критический уровень»</h2><p>Preparedness Framework — внутренний регламент OpenAI, по которому компания оценивает опасные возможности моделей и решает, какие защиты нужны перед выпуском. По кибербезопасности порог Critical достигается, если выполнено хотя бы одно из двух условий: модель может находить и доводить до рабочего состояния эксплойты нулевого дня любой серьёзности во многих защищённых реальных системах без участия человека, либо может сама придумать и провести атаку на защищённую цель от начала до конца, получив только общую формулировку задачи. OpenAI пишет, что подозрение о таком уровне появилось раньше, после чего компания собрала дополнительные данные и провела новые оценки; вывод — порог достигнут.</p><blockquote>It is the first model we are designating at this level, and requires stronger safeguards during development and before release.</blockquote><h2>Как измеряли</h2><p>Оценка сочетала автоматические бенчмарки, публичные и закрытые, с проверками экспертов. На публичном <b>ExploitBench</b>, где модель должна написать эксплойт под известную уязвимость, Astra набрала 100%. Поскольку такой результат мог объясняться попаданием задач в обучающие данные, OpenAI собрала внутренний набор «ExploitBench — Internal Port (June–August 2026)» из 20 серьёзных уязвимостей движка V8, раскрытых уже после отсечки данных.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/5e8060eb-8e49-460a-9694-d43ed0ed9b28.webp" alt="График: доля успешных эксплойтов в зависимости от расхода токенов, Astra против GPT-5.6 Sol на внутреннем наборе уязвимостей V8" /><figcaption>Доля уязвимостей, доведённых до выполнения произвольного кода, против расхода выходных токенов. Изображение: OpenAI.</figcaption></figure><p>На этом наборе Astra доходит примерно до 39% рабочих эксплойтов за 75 тысяч выходных токенов, а GPT-5.6 Sol даже за 135 тысяч токенов добирается лишь до 12%. Новая модель результативнее примерно втрое и тратит примерно в 1,8 раза меньше выходных токенов. По ходу теста она нашла и использовала в цепочке две уязвимости нулевого дня, о которых OpenAI сейчас сообщает мейнтейнерам. Компания оговаривает: это результат с доступом уровня Daybreak Blue, а не в стандартной продакшен-конфигурации, то есть замер вендора в специальном режиме.</p><p>В тестах с участием экспертов Astra нашла неизвестные уязвимости в защищённом браузере и защищённой операционной системе. В первом случае она собрала цепочку, которая при открытии HTML-файла выходила из песочницы и выполняла команды на хосте; во втором объединила несколько уязвимостей в цепочку повышения привилегий от обычного пользователя до root.</p><h2>Что сделали с защитами</h2><p>OpenAI описывает два риска: злоумышленник использует модель для атак на защищённые системы, и сама модель совершает несанкционированные действия без злого умысла пользователя. Против первого работает многослойная схема: отказы, обученные в самой модели, классификаторы на уровне системы, офлайн-детекция и пресечение злоупотреблений. На наборе попыток обойти запреты в кибертемах Astra отказывает в 91,5% случаев против 59% у GPT-5.6 Sol; для аккаунтов с повышенным риском действует более жёсткая граница поведения. Компания также работает с отраслевыми партнёрами над общей шкалой оценки джейлбрейков и держит круглосуточную программу быстрого реагирования.</p><p>Против второго риска компания добавила мониторинг цепочки рассуждений и действий в проде: система классификаторов проверяет, что делает модель, и автоматически останавливает потенциально несанкционированную активность. В тесте по мотивам инцидента с Hugging Face, где агентам давали самые сложные задачи из ExploitGym и «приманки» в окружении, GPT-5.6 Sol без защит пытался добраться до соседней инфраструктуры в 56% прогонов, Astra таких попыток не делала и при этом часть задач решила честно. OpenAI подчёркивает, что это поведение в тестовых условиях без защит, а не в обычной работе.</p><h2>Пауза в обучении и возобновление</h2><p>После инцидента с Hugging Face OpenAI на две недели останавливала часть передового обучения, включая часть обучения Astra, чтобы усилить изоляцию и сетевые ограничения обучающей инфраструктуры, расширить мониторинг и поднять планку по выравниванию. Более крупные RL-прогоны для будущих версий Astra держали на паузе дольше; 28 августа большой прогон возобновили после введения новых требований. Часть небольших экспериментальных прогонов всё ещё приостановлена. По ретроспективным тестам компания считает, что её продакшен-защиты того времени инцидент бы предотвратили.</p><h2>Что это значит для разработчика</h2><ul><li>Сама модель выйдет «скоро» для широкого доступа, но её продвинутые кибервозможности сначала получит небольшая группа альфа-тестировщиков, затем их будут открывать защитникам через Daybreak Blue.</li><li>Ждите ложных срабатываний: OpenAI прямо пишет, что защиты на старте будут «создавать больше трения, чем хотелось бы», и могут тормозить или останавливать легитимную работу, в том числе долгие агентные задачи, не связанные с безопасностью.</li><li>В ChatGPT и Codex остановленную мониторингом задачу предложат проверить и продолжить; в API задача просто остановится, закладывайте это в обработку ошибок.</li><li>Для пентеста и поиска уязвимостей у себя часть продвинутых сценариев будет ограничена и может останавливаться защитами: полный доступ к ним идёт по программам.</li><li>Подробности о тестах безопасности, выравнивании и красных командах OpenAI обещает в системной карте модели к запуску; сейчас есть только этот документ.</li></ul><h2>Контекст</h2><p>В тот же день, 1 сентября, Anthropic выпустила Claude Fable 5.1 и Mythos 5.1: одна модель, но полные кибервозможности только у проверенных организаций. Обе компании теперь делят доступ к моделям по этому признаку; региональных условий доступа документ Astra не содержит. Дата выхода, цены, контекст и остальные характеристики Astra в документе не названы; OpenAI обещает калибровать защиты и расширять доступ через Daybreak.</p><p>Источники: <a href="https://openai.com/index/path-to-astra/">Path to Astra: critical capabilities and frontier safeguards (OpenAI)</a>, <a href="https://x.com/OpenAI/status/2094885578173260259">Анонс в X</a></p><p>Изображение на обложке: OpenAI</p>]]></content:encoded>
    </item>
    <item>
      <title>METR рассказала, как у неё украли API-ключ через приложение с ошибкой fail-open</title>
      <link>https://tproger.ru/news/metr-rasskazala-kak-u-neyo-ukrali-api-klyuch-k-modelyam-vajb-kodi</link>
      <comments>https://tproger.ru/news/metr-rasskazala-kak-u-neyo-ukrali-api-klyuch-k-modelyam-vajb-kodi?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/metr-rasskazala-kak-u-neyo-ukrali-api-klyuch-k-modelyam-vajb-kodi</guid>
      <description><![CDATA[<p>Лаборатория METR раскрыла два инцидента 2026 года: кражу API-ключа к моделям через самодельное приложение на личном EC2 и майскую кампанию сканирования. Цепочка ошибок, что удалось и что не удалось атакующим, правила хранения ключей для команд, работающих с LLM.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/metr-rasskazala-kak-u-neyo-ukrali-api-klyuch-k-modelyam-vajb-kodi">METR рассказала, как у неё украли API-ключ через приложение с ошибкой fail-open</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:30:42 GMT</pubDate>
      <content:encoded><![CDATA[<p>Исследовательская лаборатория <b>METR</b>, которая оценивает возможности ИИ-моделей для крупных разработчиков, 31 августа <a href="https://metr.org/blog/2026-08-31-security-update/">опубликовала</a> отчёт о двух инцидентах безопасности 2026 года. В марте у неё украли API-ключ для запросов к публичным моделям и три недели тратили её кредиты, в мае злоумышленники сканировали публичную инфраструктуру и перебирали пароли. По оценке METR, к самым чувствительным данным доступ не получили.</p><p>METR оценивает израсходованные бесплатные кредиты примерно в $600 тыс., но интереснее цепочка ошибок: она типична для любой команды, которая быстро собирает внутренние инструменты вокруг LLM. Ключ лежал на личном сервере исследователя, приложение было написано с помощью ИИ и при сбое проверки доступа пропускало запрос вместо того, чтобы отклонить его. Российские команды, которые получают доступ к зарубежным моделям через посредников или общие ключи, рискуют сильнее: перевыпуск ключа у них занимает не минуты, а дни.</p><ul><li>Март 2026 года: API-ключ для инференса публичных моделей украден с личного EC2-инстанса исследователя, где стояло самодельное приложение за Google-аутентификацией.</li><li>Приложение имело уязвимость fail-open: при ошибке проверки доступ открывался; инстанс был намеренно публичным за Google-аутентификацией.</li><li>Атакующий попросил агента показать ключ, получил его и добавил на сервер собственный SSH-ключ; чужие запросы шли около трёх недель.</li><li>Май 2026 года: сканирование сервисов, подбор паролей по утёкшим базам, попытки через OAuth-токены; в публичном просмотрщике транскриптов нашли ошибку с read-only SQL, признаков её эксплуатации нет.</li><li>METR остановила и сняла образ инстанса, заменила учётные данные; описанные меры актуальны на 30 июля 2026 года.</li></ul><h2>Как украли ключ</h2><p>Исследователь METR поднял на личном инстансе EC2 небольшое веб-приложение, написанное с помощью ИИ, и защитил его входом через Google. В коде была классическая ошибка <b>fail-open</b>: если проверка авторизации по какой-то причине не срабатывала, приложение считало пользователя допущенным, а не отказывало. Инстанс намеренно был публичным за входом через Google, и ошибка fail-open сняла эту защиту; этого хватило.</p><blockquote>The vibe-coded app included a fail-open vulnerability.</blockquote><p>Дальше атакующий, по описанию METR, попросил агента показать ключ API, и тот его раскрыл, а для постоянного доступа добавил на сервер собственный SSH-ключ. Ключ использовали для запросов к публичным моделям примерно три недели. Заметить это оказалось трудно по двум причинам: METR не платила за эти кредиты деньгами, так что счёт не рос, а внутренняя панель METR не показывала запросы, отклонённые по лимитам, для всех пользователей ключа.</p><h2>Вторая волна: май</h2><p>В мае METR зафиксировала другую активность: сканирование публичной инфраструктуры, перебор паролей по утёкшим базам и попытки получить OAuth-токены. Попутно выяснилось, что публичный просмотрщик транскриптов позволял выполнять SQL-запросы только на чтение, но через эту ошибку в теории можно было добраться до неопубликованных данных оценок. Признаков, что атакующие этим воспользовались, компания не нашла. Описанные меры, по словам METR, актуальны на 30 июля 2026 года.</p><h2>Правила, которые из этого следуют</h2><ul><li>Ключи API к моделям не живут на личных серверах и ноутбуках: только в секрет-хранилище команды с выдачей по ролям и сроком жизни.</li><li>Приложения с доступом к ключам делайте fail-closed: любая ошибка в проверке прав — отказ, а не пропуск. Это первое, что стоит проверить в коде, написанном с ИИ.</li><li>На каждый ключ — лимит расходов и алерт на аномалию по числу запросов, а не только по деньгам: бесплатные кредиты тратятся так же незаметно.</li><li>Отдельный ключ на каждое приложение и человека: один общий ключ означает, что после утечки ротировать придётся всё сразу.</li><li>Инстансы «на минутку» с публичным IP считайте продом: инвентаризация, автоматическое выключение по таймеру, запрет входящих портов по умолчанию.</li></ul><h2>Контекст</h2><p>METR получает от разработчиков моделей ранний доступ для оценок безопасности, поэтому её инфраструктура — заметная цель. То, что оба инцидента пришлись на периферию (личный сервер, публичный просмотрщик), а не на основные системы, говорит скорее о сегментации, чем об удаче. Но именно периферия и есть то место, где у большинства команд лежат ключи «на время». Сумму METR оценивает примерно в $600 тыс. бесплатных кредитов, которые она не оплачивала деньгами.</p><p>Источник: <a href="https://metr.org/blog/2026-08-31-security-update/">Security update (METR, 31 августа 2026)</a></p><p>Изображение на обложке: METR</p>]]></content:encoded>
    </item>
    <item>
      <title>Цифровой рубль вышел в массовое использование: что менять в интеграциях</title>
      <link>https://tproger.ru/news/cifrovoj-rubl-vywel-v-massovoe-ispolzovanie-s-1-sentyabrya-perv</link>
      <comments>https://tproger.ru/news/cifrovoj-rubl-vywel-v-massovoe-ispolzovanie-s-1-sentyabrya-perv?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/cifrovoj-rubl-vywel-v-massovoe-ispolzovanie-s-1-sentyabrya-perv</guid>
      <description><![CDATA[<p>С 1 сентября 2026 года крупнейшие банки и ритейлеры открыли инфраструктуру цифрового рубля. Как устроен третий вид денег, какие лимиты, сроки и комиссии установил Банк России, кто обязан принимать цифровые рубли и что менять в платёжных интеграциях магазинов и сервисов.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/cifrovoj-rubl-vywel-v-massovoe-ispolzovanie-s-1-sentyabrya-perv">Цифровой рубль вышел в массовое использование: что менять в интеграциях</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Организация разработки]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:29:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>С 1 сентября 2026 года крупнейшие банки и торговые компании открыли инфраструктуру <b>цифрового рубля</b>, <a href="https://www.cbr.ru/press/event/?id=32802">сообщил</a> Банк России 31 августа. Совершеннолетний гражданин с подтверждённой учётной записью Госуслуг может завести цифровой счёт в приложении подключённого банка, а крупнейшие магазины обязаны принимать оплату в новой форме. Для разработчиков это означает появление третьего платёжного канала рядом с картами и СБП, со своими правилами, лимитами и сроками подключения.</p><p>Цифровой рубль — не криптовалюта и не «безнал на карте». Счёт открывается на платформе Банка России, а банк выступает посредником, через приложение которого клиент этим счётом управляет. Один человек или компания может иметь только один такой счёт; у ИП их два: личный и для бизнеса. Если вы делаете интернет-магазин, кассу, биллинг или сервис подписок для компании из первой волны, приём цифрового рубля становится обязательным сценарием, а не опцией.</p><ul><li>Счёт цифрового рубля открывается на платформе Банка России через раздел «Цифровой рубль» в приложении подключённого банка; один счёт на физлицо или компанию, у ИП два.</li><li>Лимит пополнения для физлиц — 300 тыс. рублей в месяц, для бизнеса лимита нет; тратить накопленное можно без ограничений.</li><li>Для граждан операции бесплатны; для бизнеса комиссии не взимаются до конца 2026 года, тарифы с 2027 года установлены отдельным решением Банка России от 28 августа.</li><li>Принимать цифровые рубли обязаны с 1 сентября 2026 года торговые компании с выручкой свыше 120 млн рублей, у которых на 1 января 2026 года был договор с крупнейшим банком-участником; торговые точки с выручкой до 5 млн рублей освобождены.</li><li>Все банки с универсальной лицензией подключаются к 1 сентября 2027 года, с базовой — к 1 сентября 2028 года; сроки закреплены законом 248-ФЗ.</li></ul><h2>Как это устроено</h2><p>Платформа цифрового рубля принадлежит Банку России, и все счета живут на ней, а не в отдельных банках. Банк лишь даёт интерфейс: открыть счёт, пополнить его с обычного счёта, заплатить, вернуть деньги обратно. Отсюда две особенности, которых нет у безнала: счёт один на всю страну, и, сменив банк, клиент сохраняет тот же счёт; лимиты и комиссии задаёт регулятор, а не банк. Регулятор допускает и банки, которые не обязаны открывать инфраструктуру этой осенью, но хотят предоставлять сервис уже сейчас.</p><blockquote>Граждане смогут пополнять счёт цифрового рубля со своих банковских счетов на сумму до 300 тыс. рублей в месяц. Для бизнеса лимита на пополнение нет. Всеми накоплениями на своём цифровом кошельке и граждане, и компании смогут распоряжаться без ограничений.</blockquote><p>Доступные операции: переводы между гражданами и компаниями, платежи в бюджет и из бюджета, оплата покупок, возвраты. Открытие и закрытие счёта бесплатны, для граждан бесплатны все платежи и переводы. Для бизнеса действует льготный период до конца 2026 года; тарифы для индивидуальных предпринимателей и компаний с 2027 года установлены <a href="https://www.cbr.ru/rbr/dir_decisions/rsd_2026-08-28_45_01/">отдельным решением Совета директоров Банка России от 28 августа 2026 года</a>. По вопросам работы с цифровыми рублями регулятор советует обращаться сначала в свой банк, затем на горячую линию Банка России по цифровому рублю: 8 800 301 30 00, короткий номер 301 с мобильного или +7 499 300 3 301.</p><h2>Сроки для банков и магазинов</h2><p>Внедрение идёт волнами. С 1 сентября 2026 года инфраструктуру открывают крупнейшие банки, а торговые компании с выручкой свыше 120 млн рублей в год, у которых на 1 января 2026 года был договор с таким банком, обязаны принимать цифровые рубли. С 1 сентября 2027 года такую возможность должны обеспечить все банки с универсальной лицензией, с 1 сентября 2028 года — банки с базовой лицензией. Торговые точки с выручкой меньше 5 млн рублей от обязанности освобождены, как и торговые точки там, где нет интернета. Обязательные сроки для банков и продавцов закреплены федеральным законом 248-ФЗ, а решение Банка России определяет лимиты, перечень операций и порядок добровольного раннего подключения остальных банков.</p><h2>Что это значит для разработчика платёжной интеграции</h2><p>Технически приём идёт через банк-участник, поэтому прямой интеграции с платформой Банка России у магазина нет: интерфейс и документацию даёт ваш банк. Возвраты уходят обратно на цифровой счёт покупателя, а не на карту, и это отдельная ветка в логике рефандов и чеков. Лимит 300 тыс. рублей в месяц касается пополнения счёта физлицом; расход ограничен только остатком на счёте.</p><ul><li>Узнайте у своего банка, как он подключает приём цифровых рублей и какие интерфейсы даёт; для крупнейших банков это уже сентябрь 2026 года.</li><li>Заложите в модель данных третий тип платежа рядом с картой и СБП: у него свои статусы, свой возврат и своя сверка.</li><li>Возвраты: средства уходят обратно на цифровой счёт покупателя; учитывайте это в логике рефандов и в чеках.</li><li>Комиссии для бизнеса появятся с 2027 года по тарифам решения от 28 августа; не зашивайте «бесплатно» в расчёт стоимости платежей.</li><li>Торговые точки с выручкой до 5 млн рублей, точки без интернета и, до сентября 2027 года, клиенты банков вне списка крупнейших могут не спешить: для них цифровой рубль пока добровольный.</li></ul><h2>Контекст</h2><p>Пилот цифрового рубля стартовал в августе 2023 года на ограниченном круге клиентов и банков. К концу сентября 2025 года в нём было открыто больше 2,5 тыс. кошельков и проведено больше 90 тыс. операций. Массовый запуск дважды переносили. Следующая проверка — сентябрь 2027 года, когда к платформе должны подключиться все банки с универсальной лицензией, и тарифы для бизнеса, которые начнут действовать с января.</p><p>Источники: <a href="https://www.cbr.ru/press/event/?id=32802">Сообщение Банка России о старте с 1 сентября</a>, <a href="https://www.cbr.ru/rbr/dir_decisions/rsd_2026-08-28_45_02/">Решение Совета директоров Банка России от 28.08.2026</a>, <a href="https://www.cbr.ru/fintech/dr/">Страница проекта «Цифровой рубль»</a></p><p>Изображение на обложке: Банк России</p>]]></content:encoded>
    </item>
    <item>
      <title>JetBrains раскрыла детали взлома Cadence: непропатченный TeamCity</title>
      <link>https://tproger.ru/news/jetbrains-raskryla-detali-vzloma-cadence-nepropatchennyj-teamcit</link>
      <comments>https://tproger.ru/news/jetbrains-raskryla-detali-vzloma-cadence-nepropatchennyj-teamcit?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/jetbrains-raskryla-detali-vzloma-cadence-nepropatchennyj-teamcit</guid>
      <description><![CDATA[<p>JetBrains подтвердила: сервис Cadence взломали через непропатченный TeamCity (CVE-2026-63077). Атакующие получили бэкап 2024 года, AWS-учётки и файлы в S3. Хронология, четыре категории утёкших данных, какие секреты считать скомпрометированными и что сделать.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/jetbrains-raskryla-detali-vzloma-cadence-nepropatchennyj-teamcit">JetBrains раскрыла детали взлома Cadence: непропатченный TeamCity</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:27:47 GMT</pubDate>
      <content:encoded><![CDATA[<p>JetBrains 1 сентября обновила <a href="https://blog.jetbrains.com/pycharm/2026/08/cadence-security-incident-august-2026/">отчёт о взломе Cadence</a>, своего облачного сервиса для запуска вычислений из PyCharm. Атакующие с 8 по 24 августа имели доступ к серверу api.cadence.jetbrains.com через уязвимость <b>CVE-2026-63077</b> в TeamCity, которая позволяла выполнять команды без аутентификации. Сервер, по признанию компании, «должен был быть пропатчен, но не был». Отчёт подписан Дэниелом Галло из JetBrains; последнее обновление датировано 1 сентября, 12:05 по центральноевропейскому времени, предыдущее — 31 августа.</p><p>Для обычного пользователя PyCharm без плагина Cadence новость ничего не меняет. Для тех, кто подключал сервис, JetBrains даёт жёсткую рекомендацию: все учётные данные, к которым Cadence имел доступ, считать скомпрометированными и заменить, включая ключи облаков, токены GitHub и GitLab, SSH-ключи и ключи подписи. Региональной разбивки пострадавших компания не даёт; если сервис у вас был подключён, рекомендации те же.</p><ul><li>Период доступа атакующих: 8–24 августа 2026 года; JetBrains заметила эксплуатацию 23 августа и отключила сервер 24-го.</li><li>Вектор: CVE-2026-63077 в TeamCity, который оркестрировал облачные задачи Cadence; патч на сервер не поставили.</li><li>Утекли имена пользователей, реальные имена, email, время последнего входа и IP; полный бэкап сервера Cadence за 2024 год; AWS IAM-пользователи и их учётные данные; файлы в S3-бакетах JetBrains.</li><li>Мог быть доступен исходный код, синхронизированный из PyCharm; затронуты ли бакеты клиентов, компания не установила.</li><li>Токены плагина Cadence в PyCharm аннулированы; JetBrains просит заменить все секреты, доступные сервису, и проверить репозитории, облака, реестры пакетов и системы деплоя.</li></ul><h2>Что такое Cadence и при чём тут TeamCity</h2><p>Cadence — облачный сервис JetBrains, который через необязательный плагин PyCharm позволяет отправлять тяжёлые вычисления, например обучение моделей, на удалённые машины. Чтобы запускать эти задачи, сервис использовал TeamCity, собственный CI-сервер JetBrains, как оркестратор облачных нагрузок. Именно в этой инсталляции TeamCity была уязвимость CVE-2026-63077, позволяющая удалённо выполнять команды без входа. Компания признаёт, что для этого сервера действовало то же правило, что и для остальных: патчить сразу после выхода исправления. Правило не сработало.</p><blockquote>The server should have been patched, but it was not.</blockquote><h2>Хронология</h2><ul><li>8 августа: атакующие воспользовались уязвимостью TeamCity и получили доступ к серверу api.cadence.jetbrains.com.</li><li>8–24 августа: период активности; в это время были доступны данные пользователей, бэкап, учётные данные AWS и файлы в S3.</li><li>23 августа: JetBrains обнаружила эксплуатацию.</li><li>24 августа: сервер отключён, токены плагина Cadence в PyCharm аннулированы.</li><li>31 августа: первое обновление отчёта с перечнем затронутых данных.</li><li>1 сентября, 12:05 CEST: второе обновление; расследование ещё включает несколько проверок.</li></ul><h2>Что именно утекло</h2><p>Компания перечисляет четыре категории. Первая — персональные данные пользователей Cadence: логины, реальные имена, адреса почты, время последнего входа и IP-адрес, с которого он был. Вторая, самая неприятная, — полная резервная копия сервера Cadence за 2024 год: JetBrains подтвердила, что атакующие получили доступ к её содержимому, а в нём могло быть всё, что сервис хранил на тот момент. Третья — AWS IAM-пользователи с учётными данными, то есть доступ к части облачной инфраструктуры JetBrains. Четвёртая — файлы в S3-бакетах компании; проверить, были ли затронуты бакеты клиентов, JetBrains на момент публикации не смогла.</p><blockquote>We have confirmed that the threat actors accessed data contained in the Cadence server backup from 2024.</blockquote><p>Отдельно компания допускает, что атакующим мог быть доступен исходный код, который пользователи синхронизировали из PyCharm в Cadence для запуска задач. Доказательств извлечения секретов из текущего окружения сервиса, по словам JetBrains, не найдено. Между «не найдено доказательств» и «не было» большая разница, и компания сама рекомендует исходить из худшего: список секретов, которые нужно считать скомпрометированными, включает облачные учётные данные, токены GitHub, GitLab и Bitbucket, учётные данные реестров пакетов и контейнеров, SSH-ключи и ключи подписи.</p><h2>Что сделать, если вы пользовались Cadence</h2><ul><li>Проверьте в PyCharm, стоял ли плагин Cadence; его токены JetBrains уже аннулировала, но это закрывает только вход в сервис.</li><li>Замените всё, что было доступно из задач Cadence: ключи AWS, Google Cloud и Azure и любых других облаков, токены GitHub, GitLab и Bitbucket, учётные данные реестров пакетов и контейнеров, SSH-ключи, ключи подписи.</li><li>Пересмотрите репозитории, которые синхронизировались в сервис, на предмет секретов в коде и истории коммитов: они могли уйти вместе с исходниками.</li><li>Проверьте журналы облачных аккаунтов за 8–24 августа на действия от имени сервисных пользователей, которыми пользовался Cadence; JetBrains отдельно называет AWS и S3, IAM, реестры пакетов и системы деплоя.</li><li>Если в 2024 году вы пользовались Cadence, а потом ушли, ваши данные могли находиться в бэкапе за 2024 год; состав пользователей в нём компания не раскрыла.</li><li>Ждите финальный отчёт: расследование не закончено, и список затронутых данных может расшириться.</li></ul><h2>Урок для всех остальных</h2><p>История примечательна не масштабом, а причиной. Компания, которая сама делает TeamCity, не поставила патч на свой TeamCity, и этого хватило. Для любой команды это напоминание: инвентаризация внутренних сервисов с публичным адресом и автоматическое отслеживание CVE для них — единственная защита от сюжета «должны были пропатчить, но не пропатчили». Второй урок про бэкапы: резервная копия двухлетней давности оказалась столь же ценной для атакующих, как и живая система, потому что секреты в ней никто не ротировал.</p><p>Источник: <a href="https://blog.jetbrains.com/pycharm/2026/08/cadence-security-incident-august-2026/">Cadence security incident, August 2026 (JetBrains)</a></p><p>Изображение на обложке: JetBrains</p>]]></content:encoded>
    </item>
    <item>
      <title>Вступил в силу закон об идентификации владельцев доменов .ru через Госуслуги</title>
      <link>https://tproger.ru/news/vstupil-v-silu-zakon-ob-identifikacii-vladelcev-domenov-ru-r</link>
      <comments>https://tproger.ru/news/vstupil-v-silu-zakon-ob-identifikacii-vladelcev-domenov-ru-r?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/vstupil-v-silu-zakon-ob-identifikacii-vladelcev-domenov-ru-r</guid>
      <description><![CDATA[<p>Закон 569-ФЗ ввёл с 1 сентября 2026 года идентификацию администраторов доменов .ru, .рф и .su через Госуслуги, но ограничения включат позже. Что это значит для владельцев доменов, какие данные о готовности публикуют регистраторы, что проверить в компании.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/vstupil-v-silu-zakon-ob-identifikacii-vladelcev-domenov-ru-r">Вступил в силу закон об идентификации владельцев доменов .ru через Госуслуги</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Организация разработки]]></category>
      <category><![CDATA[Роскомнадзор]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:27:34 GMT</pubDate>
      <content:encoded><![CDATA[<p>С 1 сентября 2026 года действует <a href="https://government.ru/docs/all/162760/">федеральный закон № 569-ФЗ</a> от 29 декабря 2025 года: администраторы доменов в зонах <b>.ru</b>, <b>.рф</b> и <b>.su</b> должны быть идентифицированы через ЕСИА, то есть через учётную запись на Госуслугах. Закон закрепляет идентификацию при регистрации; распространение требования на продление и изменение данных по существующим доменам регистраторы описывают как ожидаемую практику, а правила, по данным CNews, ещё не приняты. Ограничения для тех, кто проверку не прошёл, пока не применяются: по данным <a href="https://www.cnews.ru/news/line/2026-09-01_rutsentr_gotovnost_administratorov">CNews</a>, действует переходный режим до включения регистратора в специальный перечень либо до 18 января 2027 года.</p><p>Насколько рынок к этому готов, показал Руцентр в данных, опубликованных 1 сентября: идентификацию прошли 42,2% его администраторов и 25,7% пользователей Рег.ру (данные на конец августа). Вместе эти два регистратора контролируют около 68% российского доменного рынка. Для команды разработки это значит одно: домены продукта, записанные на бывших сотрудников или незнакомых людей, при следующем продлении могут зависнуть.</p><ul><li>Закон 569-ФЗ действует с 1 сентября 2026 года и распространяется на зоны .ru, .рф и .su; идентификация через ЕСИА при регистрации, продлении и изменении данных.</li><li>Готовность по данным Руцентра на 1 сентября: 42,2% его администраторов, 25,7% у Рег.ру; ещё в начале июня через ЕСИА прошли администраторы 256 тыс. доменов в Руцентре и 456 тыс. в Рег.ру.</li><li>Санкции для неидентифицированных пока не применяются: переходный режим до включения регистратора в специальный перечень либо до 18 января 2027 года.</li><li>Для нерезидентов с 2 июня работает trustee-сервис Рунити; для юрлиц на момент публикации CNews идентификацию проводил Руцентр.</li><li>По данным Руцентра, 38,5% компаний сталкивались с сайтами-имитаторами бренда, а двухфакторную аутентификацию в аккаунте регистратора используют 15–16% владельцев.</li></ul><h2>Что именно требует закон</h2><p>Раньше администратор указывал свои данные в анкете регистратора, и подтверждение через государственную систему не требовалось. Теперь личность подтверждается через ЕСИА: физлица и ИП делают это в личном кабинете регистратора через вход на Госуслуги, юрлица — через подтверждённую учётную запись организации. Без идентификации нельзя будет зарегистрировать новый домен, продлить существующий или сменить его данные. Сама регистрация при этом остаётся открытой для любого.</p><blockquote>Зарегистрировать домен сможет любой, как и раньше, добавляется обязательная идентификация через ЕСИА.</blockquote><p>Важная деталь: ограничения для тех, кто не прошёл идентификацию, 1 сентября не включаются. Действует переходный период: до включения конкретного регистратора в специальный перечень либо до 18 января 2027 года. Точный порядок последствий для каждого неидентифицированного домена в открытых источниках не раскрыт; это главный вопрос, который стоит задать своему регистратору. Времени меньше, чем кажется: домены продлеваются раз в год, и у части владельцев дата продления попадёт уже внутрь жёсткого режима.</p><h2>Почему это касается разработчиков</h2><p>Домен — корень всего: DNS, TLS-сертификаты, почта, OAuth-редиректы, вебхуки. В той же публикации Руцентр приводит цифры, которые объясняют, зачем регулятор это делает: 38,5% компаний сталкивались с сайтами-имитаторами бренда, 35,9% — со сканированием инфраструктуры и попытками перехвата управления, а двухфакторную аутентификацию в аккаунтах регистраторов используют лишь 15–16%; опрос охватывал преимущественно крупный бизнес, а не всех владельцев доменов. С июня по август было отозвано 6 997 SSL-сертификатов, из них 4 677 GlobalSign. Физлица владеют 72,7% доменов в зоне .ru и 82,9% в зоне .рф.</p><p>Типичная проблема продуктовой команды выглядит так: домен когда-то зарегистрировал сотрудник на своё имя, потом уволился, доступ к аккаунту регистратора лежит в старом чате, а сам домен продлевается по автоплатежу. Раньше это работало. После окончания переходного режима регистратор при продлении попросит этого человека подтвердить личность через Госуслуги, и если его не найти, домен может зависнуть; точный порядок последствий пока не утверждён.</p><h2>Что проверить сегодня</h2><ul><li>Составьте список доменов продукта с датами продления и посмотрите в WHOIS или личном кабинете, кто указан администратором: физлицо, ИП или юрлицо.</li><li>Домены на сотрудников переоформите на юрлицо через процедуру передачи у регистратора; сделать это сейчас проще, чем после блокировки.</li><li>Убедитесь, что у администратора-юрлица есть подтверждённая учётная запись организации на Госуслугах и доступ к ней не у одного человека.</li><li>Включите двухфакторную аутентификацию в аккаунте регистратора и переведите вход на корпоративную почту.</li><li>Если домены записаны на иностранное лицо или компанию, уточните у регистратора условия trustee-сервиса: с 2 июня такой есть у Рунити.</li><li>Домены в .com, .io, .dev и других международных зонах закон не затрагивает, но защиты от «увольнения владельца» они тоже не дают, так что инвентаризация полезна всем.</li></ul><h2>Что дальше</h2><p>Ключевая дата — 18 января 2027 года, конец переходного периода для регистраторов, не попавших в перечень раньше. До этого момента регистраторы будут догонять показатели готовности рассылками и напоминаниями. Порядок последствий для неидентифицированного домена в открытых источниках пока не раскрыт; редакция будет следить за разъяснениями Координационного центра доменов .RU/.РФ.</p><p>Источники: <a href="https://www.cnews.ru/news/line/2026-09-01_rutsentr_gotovnost_administratorov">Руцентр: готовность администраторов к идентификации (CNews, 1 сентября 2026)</a>, <a href="https://www.cnews.ru/news/line/2026-06-02_runiti_zapustila_servis">Рунити запустила сервис для нерезидентов (CNews, 2 июня 2026)</a>, <a href="https://government.ru/docs/all/162760/">Федеральный закон от 29.12.2025 № 569-ФЗ</a></p><p>Изображение на обложке: скриншот esia.gosuslugi.ru</p>]]></content:encoded>
    </item>
    <item>
      <title>Debian 11 Bullseye остался без обновлений безопасности: LTS закончился</title>
      <link>https://tproger.ru/news/debian-11-bullseye-ostalsya-bez-obnovlenij-bezopasnosti-lts-zako</link>
      <comments>https://tproger.ru/news/debian-11-bullseye-ostalsya-bez-obnovlenij-bezopasnosti-lts-zako?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/debian-11-bullseye-ostalsya-bez-obnovlenij-bezopasnosti-lts-zako</guid>
      <description><![CDATA[<p>31 августа 2026 года закончилась LTS-поддержка Debian 11 Bullseye. С сентября Debian не выпускает для него обновлений безопасности. Как найти такие серверы и образы, куда обновляться, что такое Extended LTS и как пройти путь bullseye, bookworm, trixie.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/debian-11-bullseye-ostalsya-bez-obnovlenij-bezopasnosti-lts-zako">Debian 11 Bullseye остался без обновлений безопасности: LTS закончился</a>»</p>]]></description>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Операционные системы]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:27:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Команда Debian LTS 31 августа <a href="https://www.debian.org/News/2026/20260831">объявила</a> о конце поддержки <b>Debian 11 Bullseye</b>. Дистрибутив вышел 14 августа 2021 года, три года его сопровождали основные команды Debian, ещё два — команда LTS из волонтёров и заинтересованных компаний. С сентября Debian не выпускает для него обновлений безопасности: новая уязвимость в ядре, OpenSSL, nginx или PostgreSQL из репозиториев Bullseye исправления от проекта Debian не получит; для части пакетов остаётся платный Extended LTS сторонних компаний.</p><p>Практическая проблема в том, что Bullseye — не экзотика. Это образы VPS у хостеров, базовые слои Docker-образов, которые никто не пересобирал два года, и «тот сервер, который просто работает». Задача на сентябрь простая: найти их все и решить, куда переезжать.</p><ul><li>LTS Debian 11 длился с 15 августа 2024 по 31 августа 2026 года для amd64, i386, arm64 и armhf; всего Bullseye прожил пять лет.</li><li>С сентября Debian не выпускает для него обновления безопасности; часть пакетов могут поддерживать сторонние компании через платный Extended LTS.</li><li>Debian 12 Bookworm получает LTS до 30 июня 2028 года (amd64, i386, arm64, armhf, ppc64el); Debian 13 Trixie вышел 9 августа 2025 года.</li><li>Проверка одной командой: cat /etc/debian_version, ищите 11.x; в образах — grep по Dockerfile на bullseye.</li><li>Путь обновления: 11, затем 12, затем 13, по одному мажорному шагу, с бэкапом перед каждым.</li></ul><h2>Чем LTS отличается от обычной поддержки</h2><p>Стабильный выпуск Debian живёт три года под присмотром команд Security и Release. После этого дистрибутив передают в LTS — проект, который ведут волонтёры и заинтересованные компании, а не основные команды Debian; так описывает его <a href="https://wiki.debian.org/LTS/">вики проекта</a>. LTS добавляет ещё два года обновлений безопасности, но уже не для всех архитектур и не для всех пакетов. Для Bullseye этот срок закончился.</p><blockquote>Starting in September, Debian will not provide further security updates for Debian 11.</blockquote><p>После LTS есть ещё одна ступень — Extended LTS. Это не часть Debian: несколько компаний за деньги продолжают чинить ограниченный набор пакетов для клиентов, которым переезд обходится дороже. Полного покрытия там нет, и рассчитывать на него как на бесплатную отсрочку не стоит.</p><h2>Где искать Bullseye у себя</h2><p>Три типичных места. Первое: старые VPS и физические серверы, поставленные в 2021–2023 годах. Второе: Docker-образы с базой debian:bullseye, python:3.x-bullseye или node:xx-bullseye, которые собраны один раз и с тех пор только тегаются заново. Третье: встроенные системы и Raspberry Pi, где Raspberry Pi OS на базе Bullseye стоял по умолчанию до конца 2023 года.</p><h2>Куда обновляться</h2><p>Прямого пути с 11 на 13 нет: Debian поддерживает обновление только на следующий мажорный выпуск. Значит, сначала bullseye на bookworm, потом при желании bookworm на trixie. Debian 12 Bookworm — безопасный промежуточный вариант: у него LTS до 30 июня 2028 года, а из архитектур в LTS заявлены amd64, i386, arm64, armhf и ppc64el. Для второго шага есть отдельные release notes Trixie. Для Docker-образов проще: сменить тег базового образа на bookworm или trixie и пересобрать.</p><ul><li>Сделайте снимок или бэкап, затем apt update &amp;&amp; apt full-upgrade в текущей версии, чтобы уйти с чистой точки.</li><li>Сторонние репозитории (Docker, PostgreSQL, nginx) перед обновлением отключите, как советуют <a href="https://www.debian.org/releases/bookworm/i386/release-notes/ch-upgrading.en.html">release notes</a>, а после перехода подключите их версии для bookworm.</li><li>Замените bullseye на bookworm в /etc/apt/sources.list и файлах в sources.list.d; для Bookworm секция non-free-firmware добавляется отдельно.</li><li>apt update &amp;&amp; apt upgrade --without-new-pkgs, затем apt full-upgrade, перезагрузка, проверка сервисов.</li><li>В CI запретите тег bullseye в базовых образах линтером Dockerfile, чтобы он не вернулся через полгода.</li></ul><p>Любое зеркало Debian продолжит раздавать пакеты Bullseye, но новых обновлений безопасности от проекта в них не появится, так что «репозиторий работает» не означает «сервер защищён». При заказе нового VPS выбирайте образы Debian 12 или 13, если хостер ещё предлагает 11.</p><h2>Что дальше</h2><p>Следующий такой рубеж — 30 июня 2028 года, когда закончится LTS у Bookworm, то есть меньше чем через два года. Если вы переезжаете сейчас, разумно сразу планировать повтор процедуры к этой дате и держать обновление ОС в регулярном графике, а не как аварийную операцию раз в пять лет.</p><p>Источники: <a href="https://www.debian.org/News/2026/20260831">Debian 11 Long Term Support reaching end-of-life (Debian News)</a>, <a href="https://wiki.debian.org/LTS/">Debian LTS Wiki</a>, <a href="https://www.debian.org/releases/bookworm/i386/release-notes/ch-upgrading.en.html">Release notes Debian 12: upgrading</a></p><p>Изображение на обложке: Debian Project</p>]]></content:encoded>
    </item>
    <item>
      <title>Сканеры атакуют открытые Langflow и Rails: у первого нет патча, у второго есть</title>
      <link>https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow</link>
      <comments>https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow</guid>
      <description><![CDATA[<p>VulnCheck зафиксировала сотни попыток эксплуатации CVE-2026-0768 в Langflow (CVSS 9.8, выполнение Python от root без аутентификации) и CVE-2026-66066 в Rails Active Storage (CVSS 9.5, чтение файлов и секретов). Условия, версии с исправлением, что проверить.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow">Сканеры атакуют открытые Langflow и Rails: у первого нет патча, у второго есть</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:26:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания VulnCheck, по <a href="https://thehackernews.com/2026/09/attackers-exploit-critical-langflow-and.html">сообщению The Hacker News</a> от 1 сентября, зафиксировала сотни попыток эксплуатации двух критических уязвимостей на своих ловушках: <b>CVE-2026-0768</b> в Langflow, визуальном конструкторе ИИ-приложений на Python, и <b>CVE-2026-66066</b> в Ruby on Rails. Первая позволяет без пароля выполнить произвольный Python-код от имени root, вторая — прочитать любые файлы сервера, включая ключи и пароли к базе, отправив специально собранную картинку.</p><p>Обе дыры не новые: <a href="https://github.com/advisories/GHSA-x5pr-rvjj-j6qm">advisory по Langflow</a> опубликован в GitHub Advisory Database ещё 23 января, но исправленная версия в нём не указана, а ZDI в бюллетене <a href="https://www.zerodayinitiative.com/advisories/ZDI-26-034/">ZDI-26-034</a> называет единственной мерой ограничение доступа к сервису. Для Rails исправления есть. Если у вас в проде или на тестовом сервере стоит Langflow либо Rails-приложение принимает файлы от пользователей, проверять нужно сегодня.</p><ul><li>CVE-2026-0768, Langflow: CVSS 9.8, CWE-94, инъекция кода через параметр code в эндпоинте /api/v1/validate/code, аутентификация не нужна, код выполняется от root; исправленная версия в advisory не указана.</li><li>CVE-2026-66066, Rails Active Storage: CVSS 9.5, чтение произвольных файлов при обработке изображений через libvips; уязвимы activestorage до 7.2.3.2, 8.0.x до 8.0.5.1 и 8.1.x до 8.1.3.1.</li><li>VulnCheck насчитала 360 срабатываний на ловушках в нескольких странах; в запросах ищут ключи OpenAI и AWS, файл secret_key Langflow, папку .ssh и историю shell.</li><li>Rails закрывается обновлением activestorage вместе с libvips не ниже 8.13; для Langflow единственная подтверждённая мера — ограничить доступ к сервису доверенными пользователями и сетями.</li><li>При признаках эксплуатации считайте доступные секреты скомпрометированными и меняйте их.</li></ul><h2>Langflow: код в параметре code и никакого патча</h2><p>Langflow — популярный инструмент, где ИИ-пайплайны собираются мышкой из блоков, а под капотом это Python-приложение. У него есть служебный эндпоинт /api/v1/validate/code, который проверяет пользовательский код компонента. Проверка входа там оказалась недостаточной: код из параметра выполняется, а эндпоинт не требует аутентификации. Langflow часто разворачивают в Docker от root, поэтому атакующий получает полный контроль над контейнером и всем, что в нём лежит: ключами моделей, токенами, доступами к базам.</p><blockquote>Authentication is not required to exploit this vulnerability.</blockquote><p>Это уже второй раз, когда тот же эндпоинт подводит: в 2025 году в нём же нашли CVE-2025-3248. По данным VulnCheck, в запросах атакующие целятся в переменные окружения LANGFLOW_SUPERUSER, OPENAI_API*, AWS_ACCESS*, AWS_SECRET*, файл /root/.cache/langflow/secret_key, каталог .ssh и .bash_history. Цель — не сам Langflow, а всё, к чему у него есть ключи. По данным VulnCheck, основной источник трафика на ловушки Langflow находился в России, а попадания фиксировались на canary-системе в Великобритании; атаки на Rails приходили на ловушки в Сингапуре, Израиле и Великобритании.</p><h2>Rails: картинка, которая читает файлы</h2><p>В Rails уязвим Active Storage, стандартный механизм загрузки файлов. Когда приложение обрабатывает изображение, оно передаёт файл в библиотеку libvips. Специально собранный файл заставляет libvips прочитать произвольный путь на сервере и вернуть содержимое в результирующем изображении. Так утекают secret_key_base, master key Rails, пароли БД и облачные учётные данные, а с ними в ряде конфигураций возможно и выполнение кода. Исследователи назвали уязвимость KindaRails2Shell.</p><p>Условия эксплуатации по <a href="https://github.com/advisories/GHSA-xr9x-r78c-5hrm">advisory</a>: libvips как бэкенд обработки и возможность для недоверенного пользователя загрузить файл. Если у вас ImageMagick или файлы грузят только администраторы, риск ниже, но обновиться всё равно стоит. Исправленные версии gem activestorage: 7.2.3.2, 8.0.5.1 и 8.1.3.1; advisory требует также libvips не ниже 8.13 и рекомендует заменить секреты.</p><h2>Что сделать сегодня</h2><ul><li>Langflow: ограничьте доступ ко всему сервису доверенными пользователями и сетями (VPN, reverse proxy с аутентификацией); это единственная мера, которую называет ZDI, потому что исправленной версии в advisory нет. Следите за релизами проекта.</li><li>Проверьте логи на запросы к /api/v1/validate/code с чужих адресов; нашли — считайте все ключи в окружении скомпрометированными и ротируйте их.</li><li>Rails: bundle update activestorage rails до 7.2.3.2, 8.0.5.1 или 8.1.3.1 и выше, обновите libvips до 8.13 или новее; проверьте Gemfile.lock.</li><li>Пока не обновились: на libvips 8.13 и новее включите блокировку недоверенных операций (переменная VIPS_BLOCK_UNTRUSTED или Vips.block_untrusted(true)), для более старых версий обхода advisory не даёт, остаётся отключить обработку файлов от пользователей.</li><li>После инцидента меняйте secret_key_base и master key: с их утечкой атакующий подделывает сессии и расшифровывает credentials.</li></ul><h2>Контекст</h2><p>Обе уязвимости известны с зимы, но волна эксплуатации началась, когда появился рабочий эксплойт и его добавили в автоматические сканеры. VulnCheck отдельно отмечает, что запросы приходили на ловушки в разных странах, то есть кампания не целевая, а ковровая: сканеры ищут любой доступный снаружи экземпляр. Langflow особенно распространён во внутренних ИИ-экспериментах, которые поднимают «на минутку» с публичным IP и забывают, и именно такие установки первыми находят сканеры.</p><p>Источники: <a href="https://thehackernews.com/2026/09/attackers-exploit-critical-langflow-and.html">Attackers exploit critical Langflow and Rails flaws (The Hacker News)</a>, <a href="https://github.com/advisories/GHSA-x5pr-rvjj-j6qm">GHSA-x5pr-rvjj-j6qm: Langflow code injection</a>, <a href="https://github.com/advisories/GHSA-xr9x-r78c-5hrm">GHSA-xr9x-r78c-5hrm: Active Storage arbitrary file read</a>, <a href="https://www.zerodayinitiative.com/advisories/ZDI-26-034/">ZDI-26-034</a></p><p>Изображение на обложке: Langflow, Ruby on Rails</p>]]></content:encoded>
    </item>
    <item>
      <title>Угон BGP-маршрута подменил обновления Virtualizor без взлома серверов</title>
      <link>https://tproger.ru/news/ugon-bgp-marwruta-podmenil-obnovleniya-virtualizor-okolo-22-chaso</link>
      <comments>https://tproger.ru/news/ugon-bgp-marwruta-podmenil-obnovleniya-virtualizor-okolo-22-chaso?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/ugon-bgp-marwruta-podmenil-obnovleniya-virtualizor-okolo-22-chaso</guid>
      <description><![CDATA[<p>С 28 по 30 августа злоумышленник объявлял чужой префикс 162.55.80.0/24, получил валидный сертификат Let's Encrypt и раздал вредоносное обновление Virtualizor. Хронология, механизм угона маршрута, индикаторы компрометации и что делать администраторам.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/ugon-bgp-marwruta-podmenil-obnovleniya-virtualizor-okolo-22-chaso">Угон BGP-маршрута подменил обновления Virtualizor без взлома серверов</a>»</p>]]></description>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Сетевые протоколы]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:26:35 GMT</pubDate>
      <content:encoded><![CDATA[<p>Softaculous, разработчик панели Virtualizor для управления виртуальными серверами, 31 августа <a href="https://www.virtualizor.com/blog/security-incident-bgp-hijacking/">признал инцидент</a>: с вечера 28 августа по утро 30-го неизвестный объявлял в BGP чужой префикс 162.55.80.0/24, где живут серверы обновлений, клиентская зона и биллинг компании. Часть интернета поверила подмене, атакующий получил настоящий сертификат Let's Encrypt для доменов Virtualizor и раздал «небольшому числу» установок вредоносное обновление.</p><p>Подтверждённый вектор атаки не требовал взлома серверов Softaculous: она прошла на уровне маршрутизации интернета и сработала потому, что клиент обновлений Virtualizor не проверял криптографическую подпись пакета, ему хватало валидного TLS. Если у вас стоит Virtualizor, а его используют многие хостинги, включая российские, компания просит проверить сервер по опубликованному индикатору, даже если обновление вручную вы не запускали.</p><ul><li>Окно инцидента около 33 часов: с 28 августа 20:57 UTC до 30 августа 06:10 UTC; активный перехват шёл двумя волнами общей длиной около 22 часов с перерывами, маршрут постоянно менялся.</li><li>Поддельный маршрут /24 был специфичнее легитимного /16 Hetzner; все 368 peers RIPE RIS видели его хотя бы в один момент за окно инцидента; медианное число перенаправленных peers во время активной волны — 266 (около 72%).</li><li>Через перехваченный трафик атакующий прошёл проверку Let's Encrypt и получил технически валидный сертификат для доменов Virtualizor.</li><li>Вредоносное обновление подтверждено для Virtualizor; для других продуктов Softaculous таких пакетов не подтверждено. Индикатор компрометации: служба java-jre-update.service; выпущена версия 3.2.9.9 с инструментом устранения последствий и cleaning script, подпись пакетов обещана.</li><li>Клиент обновлений не проверял подпись пакета; компания не может составить полный список затронутых серверов.</li></ul><h2>Как работает угон маршрута</h2><p>BGP — протокол, по которому сети-операторы сообщают друг другу, через кого достижимы те или иные диапазоны IP-адресов. Доверие в нём во многом строится на честном слове: если кто-то объявляет, что диапазон живёт у него, соседи обычно верят. А если объявленный диапазон меньше (специфичнее) настоящего, маршрутизаторы предпочитают именно его. Так и произошло: Hetzner (AS24940) легитимно объявляет 162.55.0.0/16, атакующий объявил внутри него 162.55.80.0/24, и более точный маршрут победил.</p><p>В объявлении фигурировали AS62390 (NexonHost) и AS6204 (Zet.net), а в конце пути был оставлен Hetzner как видимый источник, чтобы подмена выглядела правдоподобно. По публичным данным RIPE RIS все 368 peers видели маршрут хотя бы в один момент за окно инцидента, а медианное число перенаправленных peers во время активной волны составляло 266. Перехват шёл двумя волнами общей продолжительностью около 22 часов с паузой примерно в 11 часов между ними, и для отдельных сетей он был прерывистым: маршрут то появлялся, то исчезал.</p><h2>Почему сертификат оказался настоящим</h2><p>Let's Encrypt подтверждает владение доменом, обращаясь к нему по HTTP. Если в этот момент трафик к домену идёт на сервер атакующего, проверка проходит, и сертификат выдаётся ему. Именно это и случилось: компания пишет, что злоумышленник получил «технически действительный TLS-сертификат для наших доменов» (перевод редакции). Браузеры и клиенты обновлений видели зелёный замок и доверяли ответам подменённого сервера.</p><blockquote>The attacker obtained a technically valid TLS certificate for our domains.</blockquote><p>Дальше сработало самое слабое звено: клиент обновлений Virtualizor доверял серверу по TLS и не проверял подпись самого пакета. Правильная схема, при которой пакет подписан офлайн-ключом разработчика и проверяется на сервере клиента, не спасла бы от перехвата трафика, но сделала бы подмену пакета невозможной. Компания обещала внедрить подпись для всех пакетов; срок и реализацию она не назвала.</p><h2>Кого это задело</h2><p>По словам компании, вредоносный пакет получила «горстка серверов», а не вся база пользователей Virtualizor. При этом Softaculous прямо признаёт: «Мы не можем составить окончательный список затронутых серверов» (перевод редакции), потому что подмена происходила на сетевом уровне и следов на стороне компании не оставила. Для Softaculous, Webuzo и других продуктов вредоносных пакетов не подтверждено, но те же адреса использовались и для их обновлений. Индикатор компрометации, который называет компания, — служба java-jre-update.service в системе. Softaculous выпустила Virtualizor 3.2.9.9 с инструментом устранения последствий и отдельный cleaning script, но просит при обнаружении индикатора не удалять службу самостоятельно, а связаться с поддержкой.</p><h2>Что делать администратору</h2><ul><li>Если у вас Virtualizor: обновитесь до 3.2.9.9, поищите службу java-jre-update.service и при её наличии свяжитесь с поддержкой Softaculous, как просит компания; проверять стоит, даже если обновления вы не запускали, автообновление могло сработать само.</li><li>Сверьте по логам, не обращался ли сервер к 162.55.80.0/24 между 28 августа 20:57 UTC и 30 августа 06:10 UTC.</li><li>Смените учётные данные панели, API-ключи и пароли, которые могли пройти через клиентскую зону или биллинг в этот период.</li><li>Для собственных систем обновлений: подписывайте пакеты отдельным ключом и проверяйте подпись на клиенте; TLS защищает канал, но не содержимое.</li><li>Если управляете своей сетью: включите RPKI Origin Validation и задайте свои ROA с точной длиной префикса. Оговорка: атакующий оставил Hetzner видимым origin, и без строгого maxLength в ROA такой маршрут ROV не отбросит.</li></ul><h2>Что дальше</h2><p>Компания продолжает расследование; индикатор компрометации, версия 3.2.9.9 и cleaning script уже опубликованы. Открытых вопросов два: почему сети-транзиты пропустили объявление чужого /24 без проверки и когда и как будет внедрена обещанная подпись пакетов. Пока её нет, любой повторный угон маршрута снова превратится в атаку на цепочку поставок.</p><p>Источник: <a href="https://www.virtualizor.com/blog/security-incident-bgp-hijacking/">Security incident: BGP hijacking (Virtualizor)</a></p><p>Изображение на обложке: скриншот bgp.tools</p>]]></content:encoded>
    </item>
    <item>
      <title>Облако или свои серверы: почему бизнес выбирает гибридную инфраструктуру</title>
      <link>https://tproger.ru/articles/oblako-ili-svoi-servery-pochemu-biznes-vybiraet-gibridnuyu-infras</link>
      <comments>https://tproger.ru/articles/oblako-ili-svoi-servery-pochemu-biznes-vybiraet-gibridnuyu-infras?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/oblako-ili-svoi-servery-pochemu-biznes-vybiraet-gibridnuyu-infras</guid>
      <description><![CDATA[<p>Сравниваем on-premise, публичное, частное и гибридное облако. Как выбрать инфраструктуру под задачи бизнеса, регуляторные требования и нагрузку.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/oblako-ili-svoi-servery-pochemu-biznes-vybiraet-gibridnuyu-infras">Облако или свои серверы: почему бизнес выбирает гибридную инфраструктуру</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 27 Aug 2026 07:37:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>В начале 2010-х выбор IT-инфраструктуры выглядел относительно просто. Компания либо покупала собственные серверы, оборудовала серверную и самостоятельно управляла всей системой, либо переносила сервисы в облако, чтобы сократить первоначальные вложения и быстрее запускать новые проекты.</p><p>Сегодня вопрос уже редко формулируют как «облако или свои серверы». Требования бизнеса стали сложнее: одним системам нужен максимальный контроль, другим — возможность быстро масштабироваться, третьим — высокая доступность без крупных вложений в дополнительное оборудование.</p><p>По прогнозу Gartner, мировые расходы на публичные облачные сервисы в 2025 году должны были достигнуть $723,4 млрд, а к 2027 году около 90% организаций будут использовать гибридные облачные подходы. При этом локальная инфраструктура не исчезает: исследование Uptime Institute за 2025 год показало, что 45% рабочих нагрузок по-прежнему размещаются в корпоративных дата-центрах.</p><p>Поэтому выбор инфраструктуры начинается не с сравнения отдельных технологий, а с определения задач: какие нагрузки предстоит обслуживать, насколько быстро они меняются, где должны находиться данные и какие последствия для бизнеса повлечет сбой.</p><h2>Критерии выбора инфраструктурной модели</h2><p>Прежде чем сравнивать собственные серверы и облачные платформы, стоит зафиксировать основные требования к будущей инфраструктуре.</p><p><b>Профиль нагрузки.</b> Нужно понять, работает ли система с примерно одинаковой интенсивностью или испытывает резкие сезонные и краткосрочные пики.</p><p><b>Предсказуемость нагрузки.</b> Стабильное потребление ресурсов можно рассчитать заранее. Если потребности постоянно меняются, компании потребуется возможность быстро увеличивать и сокращать мощности.</p><p><b>Доступность и восстановление.</b> Важно определить, какой простой допустим и насколько быстро должны восстанавливаться сервисы и данные. Обычно эти требования описывают через показатели RTO — допустимое время восстановления — и RPO — допустимый объем потерянных данных.</p><p><b>Требования к данным.</b> Следует проверить, где информация должна храниться по закону, отраслевым стандартам и внутренним правилам компании.</p><p><b>Срок эксплуатации.</b> Временный проект, тестовая среда и корпоративная система, рассчитанная на десять лет, требуют разных подходов.</p><p><b>Компетенции команды.</b> Собственная инфраструктура предполагает наличие специалистов, которые будут закупать, настраивать, обновлять и защищать оборудование.</p><p><b>Полная стоимость владения.</b> В расчеты входят не только серверы или ежемесячная плата провайдеру, но и лицензии, электричество, охлаждение, каналы связи, резервирование, техническая поддержка, зарплаты сотрудников и будущая модернизация.</p><p>Только после такой оценки имеет смысл выбирать между локальной инфраструктурой, публичным или частным облаком и гибридной архитектурой.</p><h2>Что на самом деле требуют регуляторы</h2><p>Один из распространенных аргументов против облака — якобы любые персональные или платежные данные обязательно должны храниться на собственных серверах компании. На практике требования связаны не с самим фактом использования облака, а с тем, как и где организована обработка информации.</p><p>152-ФЗ не устанавливает общего запрета на облачные сервисы. При сборе персональных данных граждан России оператор должен обеспечить запись, систематизацию, накопление, хранение, уточнение и извлечение таких данных с использованием баз, находящихся на территории России. Кроме того, оператор отвечает за применение необходимых организационных и технических мер защиты. Поэтому при выборе провайдера необходимо проверять физическое расположение инфраструктуры, состав услуги и распределение обязанностей сторон.</p><p>Похожий принцип действует при соблюдении PCI DSS — стандарта защиты данных платежных карт. Облачный провайдер может отвечать за безопасность физической инфраструктуры и платформы, но это не освобождает клиента от настройки доступов, защиты приложений и контроля обработки данных. PCI Security Standards Council прямо описывает безопасность в облаке как разделенную ответственность, границы которой должны быть определены между заказчиком и поставщиком.</p><h2>Собственные серверы: когда контроль важнее гибкости</h2><p>Собственная инфраструктура, или on-premise, означает, что компания приобретает оборудование, размещает его в серверной или дата-центре и самостоятельно отвечает за эксплуатацию: обновления, безопасность, резервное копирование и восстановление после сбоев.</p><p>Такой подход особенно востребован в организациях, где IT-системы тесно связаны с производственными процессами, специализированным оборудованием или внутренними контурами. Это могут быть банки с критичными платежными системами, промышленные предприятия с системами управления производством, медицинские организации или государственные структуры.</p><p>Главное преимущество собственной инфраструктуры — контроль. Компания определяет, где физически размещаются данные, какое оборудование используется, как устроены сети, резервирование и отказоустойчивость. Систему можно адаптировать под специфические требования, не ограничиваясь стандартными конфигурациями облачной платформы.</p><p>Однако контроль имеет свою цену. Покупка серверов — только начало. В течение всего срока эксплуатации компания оплачивает:</p><ul><li>замену и обслуживание оборудования;</li><li>лицензии и обновления программного обеспечения;</li><li>электропитание и охлаждение;</li><li>каналы связи;</li><li>резервные площадки;</li><li>работу инженеров и специалистов по безопасности.</li></ul><p>По данным Uptime Institute, операторы дата-центров продолжают сталкиваться с ростом затрат, ограничениями энергоснабжения и дефицитом квалифицированных сотрудников. Почти две трети участников исследования 2025 года сообщили о сложностях с наймом, удержанием специалистов или обеих проблемах одновременно.</p><p>Еще одно ограничение связано с масштабированием. Если бизнес ожидает рост нагрузки, дополнительное оборудование необходимо закупать заранее.</p><p>Например, интернет-магазин готовится к сезонной распродаже и предполагает, что количество заказов временно увеличится в три раза. Серверы придется приобрести, установить и настроить до начала акции. После окончания сезона часть мощностей будет простаивать, однако расходы на их эксплуатацию сохранятся.</p><p>Поэтому собственная инфраструктура особенно эффективна при стабильной и предсказуемой нагрузке. Если потребление ресурсов постоянно меняется, компания оказывается между двумя рисками: переплатить за неиспользуемое оборудование или столкнуться с нехваткой мощностей в пиковый момент.</p><h2>Облако: скорость становится конкурентным преимуществом</h2><p>Облачная модель меняет сам принцип получения IT-ресурсов. Вместо закупки оборудования компания арендует вычислительные мощности, хранилища и другие сервисы у провайдера.</p><p>Если требуется новый сервер, дополнительная память или среда для тестирования, ресурсы можно выделить значительно быстрее, чем при традиционном цикле закупки.</p><p>Представим компанию, которая разрабатывает цифровой продукт. На собственной инфраструктуре запуск тестового контура может занять несколько недель: нужно согласовать бюджет, заказать оборудование, дождаться поставки, установить серверы, настроить сеть и безопасность.</p><p>В облаке инфраструктуру для тестирования можно развернуть за гораздо более короткий срок. Команда быстрее проверяет гипотезы, выпускает обновления и закрывает неудачные эксперименты, не оставаясь с ненужным оборудованием.</p><p>Поэтому облако особенно востребовано в электронной коммерции, разработке программного обеспечения, аналитике и цифровых сервисах — везде, где скорость запуска влияет на конкурентоспособность.</p><p>Облачные ресурсы используют и традиционные отрасли. Например, промышленное предприятие может оставить системы управления оборудованием внутри локального контура, но выполнять в облаке ресурсоемкую аналитику или обучение моделей, которым большие мощности нужны лишь периодически.</p><h2>Почему компании не переносят в облако всё</h2><p>Само по себе облако не гарантирует экономию, простоту или безопасность. Результат зависит от архитектуры, качества управления и особенностей конкретной нагрузки.</p><p>Первая причина — сложность миграции. Крупный ритейлер может быстро развернуть в облаке мобильное приложение или новый аналитический сервис. Но перенос старой ERP-системы, связанной со складским оборудованием, бухгалтерией и десятками внутренних приложений, потребует переработки интеграций и бизнес-процессов.</p><p>Вторая причина — стоимость. При отсутствии контроля компания может продолжать оплачивать неиспользуемые ресурсы, избыточные хранилища и временные среды, которые забыли отключить. По данным Flexera за 2026 год, оценочная доля неэффективных расходов на облако выросла до 29%, а управление затратами остается одной из ключевых проблем пользователей облачных платформ.</p><p>Третья причина — различия между нагрузками. Некоторые системы круглосуточно потребляют примерно одинаковое количество ресурсов. Другие работают рывками. Размещать их по одной и той же схеме необязательно: экономически эффективное решение для сезонного интернет-магазина может не подойти постоянной внутренней системе учета.</p><p>Наконец, часть приложений невозможно перенести без существенных изменений. Они могут зависеть от устаревшего оборудования, специализированного программного обеспечения или минимальной задержки при обмене данными с локальными системами.</p><h2>Частное облако: контроль без собственной серверной</h2><p>Между локальной инфраструктурой и публичным облаком существует еще один вариант — частное облако. Это изолированная облачная среда, предназначенная для одного заказчика. Она может быть развернута на площадке самой компании или в дата-центре провайдера. Степень физического выделения оборудования зависит от выбранной архитектуры, однако ресурсы и управление отделены от сред других клиентов.</p><p>Частное облако позволяет сохранить высокий уровень контроля, но при этом использовать преимущества облачной модели:</p><ul><li>централизованное управление ресурсами;</li><li>быстрое развертывание виртуальных машин;</li><li>автоматизацию типовых операций;</li><li>гибкое перераспределение мощностей между системами;</li><li>возможность передать обслуживание физической инфраструктуры провайдеру.</li></ul><p>Такой формат подходит организациям, для которых важны индивидуальная архитектура, изолированная среда, стабильная производительность и выполнение внутренних или отраслевых требований. При этом частное облако не следует воспринимать только как замену собственной серверной. Часто оно становится одним из элементов более широкой гибридной инфраструктуры.</p><h2>Гибридная инфраструктура – давно не компромисс</h2><p>Раньше гибридную инфраструктуру нередко рассматривали как временный этап между собственными серверами и полным переходом в облако. Сегодня для многих компаний это самостоятельная и долгосрочная архитектура.</p><p>Суть гибридного подхода заключается в том, что организация использует несколько сред и размещает каждую нагрузку там, где это наиболее эффективно.</p><p>Например:</p><ul><li>финансовые данные и внутренние системы работают в локальном контуре или частном облаке;</li><li>веб-приложения размещаются в публичном облаке;</li><li>тестовые среды создаются по мере необходимости;</li><li>резервные копии хранятся на отдельной площадке;</li><li>дополнительные мощности подключаются во время пикового спроса.</li></ul><p>Для сотрудников и клиентов такая инфраструктура может выглядеть как единая система. Разница заключается в том, что ее компоненты физически работают в разных средах и управляются по разным правилам. Тот же хороший пример — интернет-магазин во время крупных распродаж. В обычные дни его собственная инфраструктура справляется с потоком пользователей. В «Черную пятницу» нагрузка увеличивается в несколько раз, и часть запросов временно переводится на облачные мощности.</p><p>Похожий подход применим в промышленности. Системы управления производством продолжают работать в локальной инфраструктуре, а обработка больших массивов данных или обучение моделей выполняются в облаке.</p><h2>Когда гибридная инфраструктура оправдана</h2><p>Гибридный подход стоит рассмотреть, если компания сталкивается сразу с несколькими условиями:</p><ul><li>часть систем должна работать в изолированном контуре;</li><li>нагрузка заметно меняется в течение года;</li><li>у бизнеса уже есть инфраструктура, от которой невыгодно отказываться;</li><li>новые сервисы нужно запускать быстрее, чем позволяют закупки оборудования;</li><li>требуется отдельная площадка для резервирования и восстановления;</li><li>разные системы предъявляют разные требования к доступности и производительности;</li><li>миграцию необходимо проводить постепенно, без остановки ключевых процессов.</li></ul><p>В подобных ситуациях гибридная архитектура позволяет избежать крайностей. Компании не приходится переносить все приложения в облако или, наоборот, закупать собственное оборудование под каждую новую задачу.</p><h2>Как различаются основные модели</h2><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-27/6f8ce7b7-c6eb-489d-bc33-09f96e776142.webp" alt="" /></figure><h2>Частное облако Linx как элемент гибридной инфраструктуры</h2><p>Если компания хочет сохранить выделенную и контролируемую среду, но не планирует самостоятельно строить и обслуживать серверную, частное облако можно разместить у инфраструктурного провайдера.</p><p>В такой архитектуре критичные приложения работают в частном контуре, а публичные облачные ресурсы используются для тестирования, аналитики, резервирования или временного масштабирования. Связь между средами организуется через защищенные каналы, благодаря чему инфраструктура развивается постепенно, без одномоментной миграции всех систем.</p><p>Linx предоставляет облачные ресурсы по модели IaaS, частные облака, сервисы резервного копирования и аварийного восстановления, а также услуги размещения оборудования и объединения площадок. Это позволяет построить гибридную архитектуру, в которой собственное оборудование, выделенная облачная среда и дополнительные вычислительные ресурсы работают как части единого IT-ландшафта.</p><p>Такой подход особенно актуален для компаний, которые уже располагают локальной инфраструктурой. Им необязательно отказываться от нее полностью: критичные системы можно оставить в существующем контуре, а новые сервисы и дополнительные мощности подключать по мере необходимости.</p><h2>Что делать на практике</h2><p>Перед тем как выбирать между серверами, облаком и гибридной моделью, разделите инфраструктуру на отдельные нагрузки и последовательно оцените каждую из них.</p><ol><li>Составьте карту систем. Отдельно перечислите приложения, базы данных, аналитические платформы, хранилища, тестовые контуры и средства резервного копирования.</li><li>Зафиксируйте среднюю и пиковую нагрузку. Определите, какие системы работают стабильно, а какие испытывают сезонные или непредсказуемые скачки.</li><li>Определите требования к доступности. Укажите допустимое время простоя, RTO и RPO для каждой системы.</li><li>Проверьте требования к данным. Уточните, где должна находиться информация, какие сертификаты и документы нужны от поставщика и кто отвечает за каждый уровень защиты.</li><li>Рассчитайте полную стоимость владения. Сравнивайте не цену сервера и тариф облака, а все расходы за несколько лет: оборудование, лицензии, персонал, обслуживание, резервирование и масштабирование.</li><li>Оцените возможности команды. Определите, какие компоненты специалисты компании готовы поддерживать самостоятельно, а какие рациональнее передать провайдеру.</li><li>Учтите стоимость перехода. В расчеты должны входить миграция, изменение приложений, тестирование, обучение сотрудников и возможные простои.</li><li>Выберите среду для каждой нагрузки отдельно. Критичные и стабильные системы можно оставить в контролируемом контуре, а переменные, временные и быстрорастущие нагрузки — разместить в облаке.</li></ol><p>Главный принцип заключается в том, что бизнесу необязательно выбирать между облаком и собственными серверами целиком. Гораздо эффективнее определить подходящее место для каждой системы и собрать инфраструктуру, способную меняться вместе с задачами компании.</p>]]></content:encoded>
    </item>
    <item>
      <title>Гибридное облако: что оставить у себя, а что вынести в публичный контур</title>
      <link>https://tproger.ru/articles/gibridnoe-oblako-chto-ostavit-u-sebya-a-chto-vynesti-v-publichnyj</link>
      <comments>https://tproger.ru/articles/gibridnoe-oblako-chto-ostavit-u-sebya-a-chto-vynesti-v-publichnyj?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/gibridnoe-oblako-chto-ostavit-u-sebya-a-chto-vynesti-v-publichnyj</guid>
      <description><![CDATA[<p>Как распределить нагрузки между частным и публичным облаком: карта нагрузок, безопасность, стоимость и порядок миграции. Гайд по гибридной инфраструктуре.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/gibridnoe-oblako-chto-ostavit-u-sebya-a-chto-vynesti-v-publichnyj">Гибридное облако: что оставить у себя, а что вынести в публичный контур</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 26 Aug 2026 08:15:50 GMT</pubDate>
      <content:encoded><![CDATA[<p>Гибридное облако объединяет несколько самостоятельных сред, например частное и публичное облака. Они обмениваются данными и позволяют переносить между площадками отдельные нагрузки. К такой схеме также можно подключить существующую инфраструктуру компании.</p><p>Площадки нужно связать сетью и общей системой мониторинга. Также потребуется настроить управление доступом, резервное копирование и восстановление данных во всех контурах.</p><h2>Как составить карту нагрузок</h2><p>Выбор площадки начинается с описания приложений и данных. Команда фиксирует зависимости между системами, требования к задержке, характер нагрузки и последствия простоя. После этого становится понятно, какие компоненты лучше оставить на собственной площадке или в частном облаке, а какие можно размещать в публичной среде.</p><p>Для каждой нагрузки нужно ответить по пунктам на несколько вопросов:</p><ul><li>Какие данные она хранит и какие требования распространяются на их обработку;</li><li>Какую задержку допускает приложение и где находятся его пользователи и зависимые системы;</li><li>Насколько предсказуемо потребление CPU, памяти, диска и сетевого трафика;</li><li>Какие интеграции перестанут работать при потере связи между площадками;</li><li>Каковы целевые RTO и RPO: допустимое время восстановления и допустимая потеря данных.</li></ul><p>Карту нагрузок удобно оформить таблицей. Она потом поможет обсуждать архитектуру через требования конкретных систем и станет исходной точкой для подробного проектирования.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-26/2e78ba54-ee1f-4d01-a895-3b2b3a6b3851.webp" alt="" /></figure><h2>Как связать площадки</h2><p>Между площадками настраивают защищённый канал, маршрутизацию, сетевую сегментацию и контроль доступа. Требования к пропускной способности и задержке определяют по профилю трафика. В расчёте учитывают репликацию, передачу резервных копий, служебный и пользовательский трафик, а также пиковую нагрузку. После подключения канала расчёты проверяют нагрузочными тестами.</p><p>Для связи офисов, ЦОД и облачных ресурсов используют выделенное подключение к сети провайдера, например, по схеме L2VPN, либо VPN через интернет. L2VPN объединяет сегменты на канальном уровне, а необходимость дополнительного шифрования определяют по модели угроз и требованиям к данным.</p><p>Следующим слоем становится единое управление. Учётные записи и роли должны одинаково работать в разных средах, а события поступать в общую систему мониторинга и аудита. Инфраструктурные изменения фиксируют в коде и проводят через согласованный процесс. Иначе каждая площадка получает собственные правила, а диагностика инцидента начинается со сверки конфигураций.</p><h2>Какие задачи решает гибридное облако</h2><p>Первый сценарий связан с данными, для которых установлены особые требования.</p><p>Разработчики получают ресурсы по запросу, а производственные данные остаются на выбранной площадке. Базы и критичные приложения размещают в контролируемом контуре, а среды разработки, тестирования и обучения создают в публичном облаке.</p><p>Распределённые команды могут работать с общими средами разработки в облаке. Dev- и staging-среды можно разместить в<a href="https://linx.ru/cloud/kubernetes-as-a-service/"> Managed Kubernetes</a>. Отдельные кластеры обеспечат изоляцию от производственной среды. Если достаточно раздельного масштабирования, можно использовать разные пулы узлов внутри одного кластера. Доступ настраивают через единую систему учётных записей, а конфигурации и версии инструментов фиксируют для всех участников. Производственный релиз при этом проходит в контуре, выбранном для рабочей нагрузки.</p><p>Если архитектура приложения допускает распределение нагрузки между площадками, постоянную часть системы можно рассчитать на обычный трафик, а дополнительные экземпляры запускать в публичном облаке во время распродажи, рекламной кампании, сезонного спроса или массового запуска продукта. Для такой схемы заранее настраивают балансировку, сетевой доступ к данным и маршрутизацию трафика.</p><p>Облачная площадка также может принимать резервные копии из локальной инфраструктуры. Задания создают в системе резервного копирования, а готовые копии передают в облачное хранилище по настроенному каналу. Площадка должна находиться в отдельном домене отказа относительно основной инфраструктуры. Если после сбоя нужно быстро запустить всю инфраструктуру, резервное копирование дополняют DRaaS и заранее описывают порядок восстановления сервисов.</p><p>Объектное хранилище может стать общим слоем для архивов, медиаконтента, логов и резервных копий. Приложения из разных сред обращаются к данным по S3 API, а правила доступа и сроки хранения задаются централизованно. Мы отдельно разбирали,<a href="https://linx.ru/news-and-publications/zachem-infrastrukture-servis-s3-v-2026-godu/"> где объектное хранилище действительно помогает, а где не заменит файловую систему</a>. Перед внедрением нужно проверить совместимость приложений с конкретной реализацией S3 API и стоимость сетевого обмена. Для защиты данных доступны резервное копирование в облако, DRaaS и объектное хранилище с поддержкой S3 API.</p><h2>Порядок перехода</h2><p>Поэтапную миграцию начинают с переноса тестовых сред и вспомогательных приложений, затем оценивают задержки, стоимость, эксплуатационную нагрузку и работу поддержки. Основные системы переходят после проверки зависимостей. Такой порядок распределяет проект во времени и позволяет вернуться к прежней схеме, если на очередном этапе возникнут проблемы.</p><h2>Как посчитать стоимость</h2><p>Публичные ресурсы удобны для временных и плохо прогнозируемых нагрузок, потому что их можно подключать по мере необходимости. Стабильная загрузка иногда выгоднее на заранее выделенной инфраструктуре. Граница зависит от профиля потребления, условий провайдера и расходов команды на эксплуатацию.</p><p>В расчёт входят оборудование и лицензии частного контура, облачные вычисления и хранение, каналы связи, передача данных, резервирование, средства безопасности, мониторинг и работа инженеров. Дублирование инструментов тоже создаёт расходы: две системы журналирования или два набора политик доступа усложняют поддержку и аудит.</p><p>Сравнивать варианты удобнее по стоимости конкретной бизнес-операции и по совокупным расходам за несколько лет. Для сезонного сервиса важна стоимость пикового месяца, для транзакционной системы — предсказуемость расходов при постоянной нагрузке. Экономику аварийной площадки определяют затраты на поддержание готовности и регулярные тесты восстановления.</p><h2>Как защитить обе среды</h2><p>Уровень защиты определяют настройки доступа, сети, шифрования и мониторинга во всех средах. Размещение данных в частном контуре — только один элемент защиты.</p><p>В гибридной архитектуре появляются сетевые каналы, учётные записи, API и процессы репликации. Каждый из них входит в модель угроз и должен контролироваться вместе с основной системой.</p><p>До запуска рабочей нагрузки проверьте следующие элементы:</p><ul><li>Классификацию данных и разрешённые направления их передачи между площадками.</li><li>Единую модель ролей, многофакторную аутентификацию и регулярный пересмотр прав.</li><li>Шифрование трафика и хранимых данных, а также порядок управления ключами.</li><li>Сегментацию сетей и правила доступа между приложениями, средами и административными зонами.</li><li>Централизованный сбор событий, аудит действий и передачу сигналов в систему мониторинга безопасности.</li><li>Защиту резервных копий от изменения и удаления, сроки хранения и регулярные тесты восстановления.</li></ul><h2>Как подготовить восстановление</h2><p>Устойчивость второй площадки зависит от готового сценария переключения. Команда определяет, какие сервисы запускаются первыми, где находятся актуальные копии данных, как обновляются DNS и маршруты и кто принимает решение о переходе. Эти действия оформляют в инструкцию и регулярно проверяют на учениях.</p><p>Резервные копии позволяют восстановить данные до точки, которую определяет RPO. DR-план описывает последовательность запуска приложений, сетей и зависимых сервисов. Во время тестов команда проверяет, укладывается ли восстановление в заданные RTO и RPO.</p><h2>Какие сервисы Linx Cloud использовать</h2><p>В Linx Cloud публичную часть гибридной схемы можно построить на<a href="https://linx.ru/cloud/iaas/"> IaaS</a>. Для изолированной среды доступна платформа<a href="https://linx.ru/cloud/private-cloud-2-0/"> частного облака</a>. Площадки соединяются сетевым каналом, после чего команда распределяет приложения и данные по согласованной карте нагрузок.</p><p>Для защиты данных доступны<a href="https://linx.ru/cloud/rezervnoe-kopirovanie-v-oblako/"> резервное копирование в облако</a>,<a href="https://linx.ru/cloud/draas/"> DRaaS</a> и<a href="https://linx.ru/cloud/object-storage-s3/"> объектное хранилище S3</a>. Конкретный набор сервисов зависит от требуемого времени восстановления, объёма данных, используемых платформ и выбранной модели ответственности.</p><p>Гибридная схема подходит компаниям, если для каждой нагрузки заранее определены требования к размещению, доступности и восстановлению. До переноса рабочих систем нужно проверить связность площадок, модель доступа, фактические RTO и RPO, а также полную стоимость эксплуатации.</p>]]></content:encoded>
    </item>
    <item>
      <title>Кто отвечает за работу облачной инфраструктуры: бизнес или провайдер</title>
      <link>https://tproger.ru/articles/kto-otvechaet-za-rabotu-oblachnoj-infrastruktury-biznes-ili-prova</link>
      <comments>https://tproger.ru/articles/kto-otvechaet-za-rabotu-oblachnoj-infrastruktury-biznes-ili-prova?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kto-otvechaet-za-rabotu-oblachnoj-infrastruktury-biznes-ili-prova</guid>
      <description><![CDATA[<p>Разбираем модель разделённой ответственности в облаке: кто администрирует ОС, настраивает бэкапы и отвечает за аварийное восстановление — провайдер или бизнес.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kto-otvechaet-za-rabotu-oblachnoj-infrastruktury-biznes-ili-prova">Кто отвечает за работу облачной инфраструктуры: бизнес или провайдер</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 25 Aug 2026 05:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Переехали в облако — и кажется, что за инфраструктуру теперь отвечает провайдер: серверы не ваши, диски меняет он, охлаждение тоже на нем. На практике так работает не совсем так: часть ответственности остается у вас, и многие по разным причинам узнают про нее лишь во время аварии.</p><p>Ответственность распределяется между сторонами, а ее границы зависят от модели облачного сервиса, состава подключенных услуг и условий договора. В базовой IaaS-инфраструктуре провайдер может поддерживать работоспособность серверов, систем хранения и гипервизоров, а клиент — администрировать операционные системы и приложения. При подключении управляемой базы данных, резервного копирования или DRaaS часть операций дополнительно поставщик берет на себя.</p><p>Такое распределение называют моделью разделённой ответственности, или Shared Responsibility Model. Она определяет, какие компоненты обслуживает провайдер, какие остаются под управлением клиента и кто отвечает за результат. Состав задач зависит от выбранной услуги, поэтому его нужно проверять в документации провайдера и закреплять в договоре.</p><p>Модель применяется не только к информационной безопасности. Она затрагивает доступность, производительность, резервное копирование, восстановление после аварий, управление конфигурациями и соблюдение нормативных требований.</p><p>В Linx Cloud границы ответственности для IaaS есть в отдельной RACI-матрице: в ней указано, какие операции выполняет провайдер, какие — клиент, а где нужны обе стороны. Документ открытый, поэтому можете посмотреть:<a href="https://linx.ru/knowledge/linxvmw-docs/matritsa-raspredeleniya-otvetstvennosti-iaas/"> матрица распределения ответственности Linx Cloud IaaS</a>.</p><h2>Почему возникают споры об ответственности</h2><p>В собственной инфраструктуре граница обычно понятна. Компания приобретает оборудование, размещает его в серверной или дата-центре, устанавливает программное обеспечение и самостоятельно организует эксплуатацию. Если сервер перегревается, база данных перестает отвечать или резервная копия оказывается повреждена, искать причину приходится внутренней ИТ-команде и ее подрядчикам.</p><p>После перехода в облако часть задач передается провайдеру. Он обслуживает площадку, физические серверы, системы хранения, сетевое оборудование и платформу виртуализации. Однако приложения, учетные записи, данные и многие настройки остаются под управлением клиента. Путаница возникает, когда стороны по-разному понимают слово «инфраструктура».</p><p>Для бизнеса облачная инфраструктура означает весь работающий сервис: от физического сервера до сайта, которым пользуются клиенты. Для провайдера предметом услуги является только вычислительная платформа, на которой заказчик самостоятельно разворачивает операционную систему и приложения.</p><p>Представим интернет-магазин, размещенный в облаке. Физические серверы работают, система хранения доступна, виртуальная машина запущена. С точки зрения облачной платформы все исправно. Но пользователи не могут оформить заказ, так как приложения перестало устанавливаться соединение с базой данных после обновления. В такой ситуации облако работает, а бизнес-сервис — нет.</p><p>Другой пример: компания рассчитывает, что данные автоматически копируются на резервную площадку. После сбоя выясняется, что услуга резервного копирования не подключалась. Снапшоты на уровне гипервизора действительно создает провайдер — например, в матрице Linx Cloud это зона провайдера. Но снапшот живет в том же инфраструктурном контуре и не является независимой копией: за резервное копирование данных внутри виртуальной машины отвечает клиент. Чтобы избежать подобных ситуаций, используется модель разделенной ответственности.</p><h2>Что такое модель разделенной ответственности</h2><p>Эта модель (Shared Responsibility Model) описывает, какие уровни информационной системы обслуживает провайдер, а какие остаются под управлением заказчика.</p><p>Облачная система состоит из нескольких слоев:</p><ul><li>физического дата-центра;</li><li>электропитания и охлаждения;</li><li>серверного и сетевого оборудования;</li><li>систем хранения;</li><li>гипервизора и платформы виртуализации;</li><li>виртуальных машин;</li><li>операционных систем;</li><li>баз данных и промежуточного программного обеспечения;</li><li>приложений;</li><li>учетных записей;</li><li>данных;</li><li>бизнес-процессов.</li></ul><p>Передача одного слоя провайдеру не означает автоматической передачи всех остальных. Это распределение обусловлено моделью облачного сервиса. В IaaS клиент получает виртуальную инфраструктуру и самостоятельно управляет большей частью программного стека. В PaaS провайдер дополнительно обслуживает платформу исполнения, базы данных или контейнерную среду. В SaaS клиент пользуется готовым приложением, а поставщик управляет почти всеми техническими слоями.</p><p>Однако даже в SaaS часть ответственности остается у заказчика. Компания по-прежнему решает, кому выдавать доступ, какие данные загружать в систему, какие права назначать сотрудникам и как действовать при увольнении пользователя.</p><p>Модель разделенной ответственности применяется и при выполнении отраслевых требований. Например, PCI Security Standards Council прямо рассматривает безопасность облачной среды как совместную ответственность поставщика и клиента: стороны должны прописать обязанности и утвердить их для каждого применимого требования.</p><h2>За что обычно отвечает облачный провайдер</h2><p>Точный состав ответственности определяется услугой и договором. Но в базовой IaaS-инфраструктуре провайдер управляет нижними инфраструктурными уровнями.</p><h3>Площадка и физическая инфраструктура</h3><p>Провайдер обеспечивает работу дата-центра, в котором размещено оборудование. В его зону ответственности входят электропитание и резервные источники энергии, охлаждение, пожаротушение, физическая безопасность, контроль доступа и инженерный мониторинг.</p><p>Он также обслуживает физические серверы, системы хранения, коммутаторы, маршрутизаторы и сетевые подключения, заменяет неисправные компоненты и поддерживает необходимый запас оборудования. Поэтому при отказе диска или серверного узла клиенту не нужно самостоятельно искать запчасти, обслуживать инженерные системы или выезжать на площадку.</p><h3>Виртуализация и облачная сеть</h3><p>В IaaS провайдер отвечает за работоспособность гипервизоров и управляющих компонентов облачной платформы. Он распределяет физические ресурсы между виртуальными средами, устраняет сбои платформы и поддерживает ее доступность в пределах заявленного SLA.</p><p>Поставщик также обслуживает физическую сетевую инфраструктуру и те компоненты виртуальной сети, которые входят в состав услуги. Однако правила межсетевого экрана, маршруты, опубликованные порты и сетевые политики нередко остаются под управлением клиента.</p><p>Таким образом, провайдер обеспечивает работу сетевой и вычислительной основы облака, но не всегда отвечает за конфигурацию ресурсов, созданных заказчиком поверх нее.</p><h3>Доступность ресурсов и границы SLA</h3><p>В SLA могут закрепляться показатели доступности виртуальных машин, систем хранения, сетевых компонентов или облачной платформы в целом. При этом SLA не следует воспринимать как гарантию непрерывной работы приложения. Он описывает доступность конкретной услуги, а не всех систем, которые клиент построил поверх нее.</p><p>Например, виртуальная машина доступна на уровне платформы, но приложение внутри нее — остановлено. Поэтому ответственность провайдера за инфраструктурный слой не отменяет ответственности клиента за программную часть системы и ее конфигурацию.</p><h2>Что остается на стороне бизнеса</h2><p>После перехода в IaaS у компании становится меньше задач, связанных с физическим оборудованием. Однако эксплуатация программной части никуда не исчезает.</p><h3>Архитектура системы</h3><p>Провайдер предоставляет ресурсы, но не решает, сколько виртуальных машин нужно приложению, как распределять нагрузку и каким образом устранять единые точки отказа. Если критичная система размещена на одной виртуальной машине без резервирования, ее недоступность может стать следствием архитектурного решения клиента, даже если облачная платформа работает штатно. Бизнесу необходимо определить:</p><ul><li>какие компоненты нужно дублировать;</li><li>в каких зонах или на каких площадках их размещать;</li><li>как переключать нагрузку;</li><li>какие RTO (за сколько сервис должен вернуться в работу) и RPO (какой объем данных допустимо потерять) требуются бизнесу;</li><li>сколько ресурсов понадобится при пиковом потреблении.</li></ul><p>Перед настройкой инфраструктуры системы классифицируют по техническим зависимостям и требованиям к размещению. Linx Cloud может помочь собрать эту информацию, а критичность сервисов, допустимый простой и приоритет восстановления заказчик определяет вместе с владельцами бизнес-процессов.</p><h3>Операционные системы</h3><p>В базовом IaaS клиент сам отвечает за операционные системы внутри виртуальных машин:</p><ul><li>установку обновлений;</li><li>исправление уязвимостей;</li><li>настройку служб;</li><li>управление локальными пользователями;</li><li>конфигурацию системного межсетевого экрана;</li><li>контроль свободного места;</li><li>анализ журналов.</li></ul><p>Если операционная система не обновлялась несколько лет и была скомпрометирована через известную уязвимость, сам факт размещения в облаке не переносит ответственность на провайдера. Исключение составляют управляемые услуги, в которых обслуживание ОС отдельно передано поставщику.</p><h3>Приложения и базы данных</h3><p>Заказчик отвечает за программное обеспечение, которое он разворачивает поверх инфраструктуры:</p><ul><li>работоспособность приложений;</li><li>обновление их компонентов;</li><li>совместимость версий;</li><li>параметры баз данных;</li><li>управление схемами;</li><li>производительность запросов;</li><li>корректность интеграций;</li><li>хранение секретов и ключей.</li></ul><p>Провайдер отвечает за работоспособность виртуального сервера и может помочь классифицировать инцидент по метрикам процессора, памяти и сети. Причину, по которой приложение расходует ресурсы или перестало работать после релиза, определяют с непосредственным участием заказчика: его команда знает код, настройки и изменения в приложении.</p><h3>Пользователи и права доступа</h3><p>Большая часть инцидентов не требует физического доступа к серверу. Достаточно получить учетную запись с избыточными правами.</p><p>Поэтому бизнес обычно отвечает за:</p><ul><li>создание и удаление пользователей;</li><li>назначение ролей;</li><li>применение принципа минимальных привилегий;</li><li>многофакторную аутентификацию;</li><li>ротацию паролей и ключей;</li><li>управление сервисными учетными записями;</li><li>отзыв доступа у уволенных сотрудников;</li><li>контроль действий администраторов.</li></ul><p>Провайдер предоставляет инструменты управления доступом, но корректно использовать их должен заказчик.</p><h3>Данные</h3><p>Компания определяет, какие данные размещаются в облаке, кто имеет к ним доступ и как долго они должны храниться. Если речь идет о персональных данных, передача инфраструктуры провайдеру не снимает обязанностей с оператора. Статья 19 Федерального закона № 152-ФЗ требует от оператора принимать необходимые правовые, организационные и технические меры защиты либо обеспечивать их принятие. Поэтому заказчику необходимо определить:</p><ul><li>категории обрабатываемой информации;</li><li>требования к месту ее хранения;</li><li>необходимый уровень защиты;</li><li>порядок предоставления доступа;</li><li>сроки хранения и удаления;</li><li>действия при инциденте;</li><li>условия поручения обработки другой организации.</li></ul><p>Провайдер отвечает за те меры, которые закреплены за ним договором и входят в состав облачной услуги. Ответственность за законность обработки и организацию процесса в целом остается у оператора данных.</p><h2>Кто отвечает за информационную безопасность</h2><p>Информационная безопасность облачной среды строится по модели разделенной ответственности. Провайдер защищает компоненты базовой платформы, которыми он управляет:</p><ul><li>физическую инфраструктуру и оборудование ЦОД;</li><li>гипервизоры, управляющие компоненты и технологические сети;</li><li>внутренние процессы администрирования и доступ своих сотрудников.</li></ul><p>Заказчик отвечает за безопасность ресурсов, развернутых внутри облачной среды:</p><ul><li>виртуальные машины, операционные системы и приложения;</li><li>данные, учетные записи, роли, ключи и токены;</li><li>сетевые правила, конфигурации и процессы эксплуатации.</li></ul><p>Провайдер может предоставить средства защиты: межсетевой экран, журналирование событий, управление ролями или многофакторную аутентификацию. Настройка этих средств и контроль их использования остаются в зоне клиента, если администрирование отдельно не включено в состав услуги.</p><p>Например, слишком широкое правило межсетевого экрана открывает административный интерфейс приложения в интернете. Если при этом используется стандартный пароль, причиной инцидента становится конфигурация клиентской среды. Облачная платформа в такой ситуации выполняет заданные настройки и предоставления сетевой доступности ресурса.</p><p>Если уязвимость находится в гипервизоре или управляющем компоненте платформы, доступ к которому есть только у поставщика, обновление и устранение уязвимости выполняет провайдер.</p><p>Граница ответственности определяется уровнем управления компонентом. Сторона, которая может изменять его конфигурацию, устанавливать обновления и назначать права доступа, отвечает за соответствующие меры информационной безопасности.</p><h2>Кто должен настраивать резервное копирование</h2><p>Резервное копирование — один из наиболее распространенных источников разногласий. Клиент создает виртуальную машину и предполагает, что провайдер автоматически хранит ее копию. Однако базовая услуга IaaS включает только вычислительные ресурсы и дисковое пространство. Резервное копирование в таком случае заказывается отдельно или настраивается средствами клиента. Кроме того, нужно различать несколько механизмов:</p><ul><li>отказоустойчивость физической платформы;</li><li>репликацию системы хранения;</li><li>снимки виртуальных машин;</li><li>резервные копии;</li><li>аварийное восстановление на другой площадке.</li></ul><p>Они решают разные задачи. Резервирование физических компонентов помогает пережить отказ диска или отдельного серверного узла, но не защищает от удаления данных внутри виртуальной машины.</p><p>Снимок удобен для краткосрочного отката перед обновлением, но не всегда является независимой резервной копией. Бэкап позволяет восстановить данные на выбранную точку во времени, однако его наличие еще не гарантирует, что сервис вернется в работу в требуемый срок. DR-сценарий нужен, когда необходимо запустить инфраструктуру на резервной площадке и восстановить связанные приложения.</p><p>Поэтому перед миграцией в облако важно заранее определить, как будет устроено резервное копирование и восстановление. Нужно зафиксировать, входит ли резервное копирование в базовую услугу или подключается отдельно, какие данные и системы будут защищены, как часто будут создаваться копии, где они будут храниться и насколько они защищены от изменения или удаления.</p><p>Также важно заранее определить срок хранения копий, порядок восстановления, ответственных за запуск процедуры, регулярность проверки копий и время, необходимое для возврата сервиса в работу.</p><p>Даже если резервное копирование предоставляет провайдер, ответственность остается разделенной. Провайдер отвечает за работу сервиса в рамках согласованных условий, а клиент определяет, какие системы нужно защищать, как долго хранить данные и соответствует ли процесс восстановления требованиям бизнеса.</p><h2>Кто отвечает за аварийное восстановление</h2><p>При серьезной аварии одного технического переключения недостаточно. Необходимо принять решение, выбрать точку восстановления, запустить системы в правильной последовательности, проверить данные и подтвердить доступность бизнес-функций. Причем эти действия редко выполняет полностью только одна сторона.</p><p>Провайдер может отвечать за:</p><ul><li>готовность резервной площадки;</li><li>работу сервиса репликации;</li><li>доступность выделенных ресурсов;</li><li>запуск предусмотренных планом операций;</li><li>поддержку инфраструктурного переключения.</li></ul><p>Заказчик обычно отвечает за:</p><ul><li>решение активировать DR-план;</li><li>определение приоритетов систем;</li><li>выбор допустимой точки восстановления;</li><li>проверку приложений;</li><li>подтверждение целостности данных;</li><li>работу внешних интеграций;</li><li>информирование сотрудников и клиентов;</li><li>решение о возвращении на основную площадку.</li></ul><p>Даже в управляемом DRaaS необходимо заранее определить, кто имеет право объявить аварию и инициировать переключение. В базе знаний<a href="https://linx.ru/knowledge/linxvmw-docs/"> Linx</a> Cloud для DRaaS используется отдельная матрица ответственности, которая фиксирует границы между провайдером и клиентом при настройке репликации, тестировании, аварийном переключении и обратном переносе нагрузки.</p><h2>Как ответственность меняется в IaaS, PaaS и SaaS</h2><p>Граница зависит от того, насколько высоко провайдер поднимается по технологическому стеку.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-25/e78f1a17-f2de-495a-963c-b91efdef59f7.webp" alt="" /></figure><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-25/ce373bbb-f5ef-4b01-bc8d-76dc506bbc77.webp" alt="" /></figure><p>Таблица показывает общий принцип распределения ответственности, но фактические границы зависят от состава услуг и условий договора. В IaaS часть задач можно передать провайдеру через дополнительные сервисы, например администрирование ОС, резервное копирование или мониторинг. При этом даже управляемые сервисы не снимают с клиента ответственность за данные, настройки приложений и контроль использования ресурсов.</p><h2>SLA не описывает всю ответственность</h2><p>SLA (соглашение об уровне сервиса) фиксирует конкретные показатели для определенной услуги. В SLA могут указываться:</p><ul><li>доступность сервиса;</li><li>время реакции поддержки;</li><li>сроки устранения неисправностей;</li><li>порядок обработки обращений;</li><li>исключения;</li><li>плановые работы;</li><li>компенсации.</li></ul><p>При этом SLA не всегда включает восстановление приложений, возврат удаленных данных, исправление ошибок внутри ОС или достижение целевых RTO/RPO. Например, у Linx Cloud есть гарантированное SLA для облачных сервисов до 99,99%. Показатель относится к конкретной услуге и не означает автоматическую доступность приложения на том же уровне.</p><h2>Матрица ответственности: как убрать серые зоны</h2><p>Одного общего раздела в договоре не всегда недостаточно. Для сложной инфраструктуры удобнее составить матрицу ответственности.</p><p>В строках перечисляют процессы и компоненты:</p><ul><li>физическая инфраструктура;</li><li>гипервизор;</li><li>виртуальная сеть;</li><li>гостевые ОС;</li><li>приложения;</li><li>резервное копирование;</li><li>мониторинг;</li><li>реагирование на инциденты;</li><li>обновления;</li><li>управление доступом;</li><li>тестирование восстановления.</li></ul><p>В столбцах указывают участников:</p><ul><li>облачный провайдер;</li><li>внутренняя ИТ-команда;</li><li>служба информационной безопасности;</li><li>разработчики;</li><li>внешний интегратор;</li><li>владельцы бизнес-систем.</li></ul><p>Для каждого действия определяют роль. Можно использовать модель RACI:</p><ul><li>R — Responsible: выполняет работу;</li><li>A — Accountable: несет итоговую ответственность;</li><li>C — Consulted: участвует в согласовании;</li><li>I — Informed: получает информацию о результате.</li></ul><p>Например, провайдер может выполнять восстановление виртуальной машины, руководитель ИТ — утверждать запуск процедуры, владелец приложения — проверять работоспособность, а служба безопасности — получать информацию об инциденте.</p><p>В документации Linx Cloud <a href="https://linx.ru/knowledge/linxvmw-docs/matritsa-raspredeleniya-otvetstvennosti-iaas/">опубликована</a> отдельная матрица распределения ответственности для IaaS. Она использует RACI и показывает, как роли провайдера и клиента распределяются между уровнями облачной инфраструктуры.</p><p>Главная ценность матрицы заключается не в самом документе. Она заставляет стороны заранее обсудить процессы, о которых иначе вспоминают только во время сбоя.</p><h2>Типичные ошибки при распределении ответственности</h2><p>Даже при наличии SLA и технического описания услуги границы между провайдером и заказчиком могут оставаться неясными. Чаще всего проблема возникает не из-за отсутствия документов, а из-за слишком общих формулировок: в них не указано, кто выполняет конкретную операцию, кто контролирует результат и кто принимает решение при инциденте.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-25/a7ca0f5a-6eca-4c6b-89d2-ecbf0bdd9042.webp" alt="" /></figure><h2>Что проверить до подписания договора</h2><p>Перед переходом в облако важно заранее установить, кто за что отвечает, и закрепить это в договоре, SLA, техническом задании или матрице ответственности.</p><p>Стоит проверить, какие компоненты входят в услугу и кто отвечает за сеть, виртуальные маршрутизаторы, межсетевые экраны, резервирование и доступность инфраструктуры. Отдельно важно зафиксировать правила эксплуатации: кто обновляет ОС, контролирует ресурсы, работает с журналами и отвечает за мониторинг.</p><p>Необходимо заранее определить условия резервного копирования: где хранятся копии, как они защищены, кто выполняет тестовое восстановление и какие показатели RPO и срок хранения гарантируются. Для аварийного восстановления важно согласовать наличие резервной площадки, порядок переключения, целевые значения RTO и возврат в штатный режим.</p><p>Также стоит описать требования к безопасности и поддержке: управление доступами, работу с инцидентами, доступность каналов связи, сроки реакции и порядок эскалации. Все эти условия должны быть закреплены документально, чтобы при возникновении проблем у сторон не возникало разных трактовок ответственности.</p><h2>Как передать провайдеру больше задач</h2><p>Разделенная ответственность не означает, что бизнес должен самостоятельно заниматься всеми задачами выше уровня гипервизора. При необходимости часть операций можно передать провайдеру: администрирование операционных систем, мониторинг, резервное копирование, управление базами данных, аварийное восстановление, миграцию, настройку средств защиты и техническое сопровождение отдельных компонентов.</p><p>При этом такая передача должна быть четко зафиксирована. Формулировки вроде «провайдер помогает с инфраструктурой» не устанавливает зону ответственности. В договоре важно указать, какие именно операции выполняются, в каком режиме оказывается услуга, какие есть сроки реакции, права доступа, порядок изменений, ответственность за результат и возможные ограничения.</p><p>Чем точнее описаны условия взаимодействия, тем меньше риск разногласий при возникновении проблем.</p><h2>Как распределяется ответственность в инфраструктуре Linx Cloud</h2><p>При выборе облачного провайдера важно понимать не только набор доступных ресурсов, но и границы услуги.</p><p>В Linx Cloud распределение ролей для IaaS описано отдельной матрицей ответственности. Провайдер отвечает за инфраструктурный уровень облачной платформы, а заказчик — за управляемые им виртуальные ресурсы, приложения, данные и пользовательские настройки в пределах выбранной модели.</p><p>Если компании необходимо передать часть дополнительных задач, к облачной инфраструктуре можно подключить сервисы резервного копирования и аварийного восстановления. Linx Cloud предоставляет облачное резервное копирование для виртуальных и физических серверов, а также DRaaS для восстановления инфраструктуры на резервной площадке.</p><p>При этом подключение управляемого сервиса не отменяет участие заказчика. Бизнес по-прежнему определяет критичность систем, требования к RTO и RPO, политику хранения, состав защищаемых данных и критерии успешного восстановления.</p><p>Провайдер берет на себя согласованную техническую часть процесса. Клиент сохраняет ответственность за то, чтобы выбранная схема соответствовала задачам бизнеса.</p><h2>Что делать на практике</h2><p>Распределение ответственности лучше начинать с описания реальной инфраструктуры, а не с формулировок договора. Сначала нужно понять, из каких компонентов состоит сервис, кто ими управляет и какие действия выполняются при обычной эксплуатации и во время инцидента.</p><h3>1. Разложите сервис на компоненты и назначьте владельцев</h3><p>Составьте карту системы: инфраструктура, виртуализация, сети, операционные системы, базы данных, приложения, учетные записи, данные, резервное копирование, мониторинг и аварийное восстановление.</p><p>Для каждого компонента укажите конкретного владельца: провайдер, внутренняя ИТ-команда, служба информационной безопасности, разработка, DevOps, интегратор или владелец бизнес-системы. При этом важно указать роль каждого из них, чтобы было понятно, за какие решения и результаты они отвечают.</p><h3>2. Зафиксируйте не только зоны, но и операции</h3><p>Формулировка «ИТ-отдел отвечает за приложение» слишком общая. Необходимо отдельно определить, кто устанавливает обновления, меняет конфигурацию, отслеживает ошибки, реагирует на предупреждения, проверяет резервные копии и подтверждает восстановление.</p><p>После этого модель нужно сверить с договором и SLA. Если операция фактически выполняется провайдером, но не закреплена документально, при инциденте возникнет спорная зона. Возможна и обратная ситуация: услуга оплачена, но внутренняя команда не включила ее в регламенты и продолжает выполнять работу самостоятельно.</p><h3>3. Проверьте модель на учебном инциденте и регулярно обновляйте</h3><p>Для проверки подойдет практический сценарий: критичное приложение перестало отвечать в нерабочее время. Команда должна последовательно определить, кто обнаруживает проблему, кто проверяет облачную платформу, кто анализирует операционную систему, кто связывается с провайдером, кто принимает решение о восстановлении и кто подтверждает работу бизнес-сервиса. Если последовательность требует импровизации, матрица ответственности пока не отражает реальный процесс.</p><p>Документ нужно пересматривать после миграций, изменений архитектуры, подключения новых облачных сервисов, смены подрядчика, серьезных инцидентов и тестовых восстановлений. Плановый пересмотр также стоит проводить регулярно, даже если инфраструктура формально не менялась.</p><h2>Чек-лист распределения ответственности</h2><p>Перед запуском облачной инфраструктуры проверьте следующие пункты:</p><p>☐ Определено, какие компоненты входят в услугу провайдера.</p><p>☐ Зафиксировано, кто администрирует гостевые операционные системы.</p><p>☐ Назначены ответственные за приложения и базы данных.</p><p>☐ Определено, кто создает пользователей и управляет правами.</p><p>☐ Понятно, входит ли резервное копирование в услугу.</p><p>☐ Установлены сроки хранения и периодичность создания копий.</p><p>☐ Назначен ответственный за проверку восстановления.</p><p>☐ RTO и RPO согласованы с бизнесом.</p><p>☐ Описан порядок объявления аварии и запуска DR.</p><p>☐ Зафиксирован владелец каждого бизнес-сервиса.</p><p>☐ Определены каналы связи и порядок эскалации.</p><p>☐ SLA соотнесен с архитектурой приложения.</p><p>☐ Матрица ответственности отражает фактическую инфраструктуру.</p><p>☐ Назначена дата следующего пересмотра документа.</p><h2>Главное</h2><p>Работа облачной инфраструктуры строится на разделении ответственности между провайдером и заказчиком. Провайдер отвечает за уровни, которые входят в его услугу. Заказчик отвечает за архитектуру систем, приложения, данные, пользователей и настройки, которые остаются под его контролем.</p><p>Подключение управляемых сервисов хоть и расширяет зону ответственности провайдера, но само по себе не передает ему все задачи.</p><p>Эффективная модель ответственности должна быть заранее зафиксирована в договоре, SLA и технических регламентах. Если зоны ответственности определены и проверены на практике, облачная инфраструктура остается предсказуемой и управляемой.</p>]]></content:encoded>
    </item>
    <item>
      <title>S3 в инфраструктуре: где объектное хранилище помогает, а где не заменит файловую систему</title>
      <link>https://tproger.ru/articles/s3-v-infrastrukture-gde-obektnoe-hranilishhe-pomogaet-a-gde-ne</link>
      <comments>https://tproger.ru/articles/s3-v-infrastrukture-gde-obektnoe-hranilishhe-pomogaet-a-gde-ne?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/s3-v-infrastrukture-gde-obektnoe-hranilishhe-pomogaet-a-gde-ne</guid>
      <description><![CDATA[<p>Разбираем, где S3 подходит для бэкапов, архивов, логов и медиаданных, а где нужны файловые или блочные хранилища. Versioning, Object Lock, репликация и практический пилот перед миграцией.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/s3-v-infrastrukture-gde-obektnoe-hranilishhe-pomogaet-a-gde-ne">S3 в инфраструктуре: где объектное хранилище помогает, а где не заменит файловую систему</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Форматы хранения данных]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 18 Aug 2026 07:16:51 GMT</pubDate>
      <content:encoded><![CDATA[<p>Объём бэкапов, логов и медиаконтента растёт быстрее бюджета на инфраструктуру, а требования к сохранности и восстановлению данных становятся жёстче. В какой-то момент файловое хранилище начинает требовать всё больше дисков, контроллеров и внимания команды.</p><p>У <a href="https://linx.ru/cloud/object-storage-s3/">S3-совместимого объектного хранилища</a> другая логика: приложение обращается к объектам через API, а вопросы физического размещения и масштабирования решает сама система хранения. Для бэкапов, архивов и медиаданных модель такого рода подходит хорошо, однако перед переходом на нее важно проверить, как конкретное приложение работает с объектами и что произойдет с данными при нагрузке или восстановлении.</p><h2>Как устроено S3</h2><p>В объектном хранилище данные организованы в бакеты, где у объекта три составляющие: содержимое, уникальный ключ и метаданные. Вложенных директорий в привычном смысле здесь нет — папки в интерфейсах появляются потому, что ключ объекта разбирают по разделителю. Например, backups/2026/08/db-dump.tar.gz читается человеком как путь по папкам, а для хранилища — просто одна строка-идентификатор.</p><p>В отличие от файловой системы, где приложение может открывать файл, записывать данные частями, дополнять его и использовать блокировки, S3 работает с объектами через API. Объект загружается целиком, а изменения выполняются отдельными операциями API.</p><p>Переименование объекта выполняется копированием под новым ключом с последующим удалением исходного — приложению, которое часто переименовывает или дописывает файлы либо использует файловые блокировки, потребуется изменить логику работы с данными при переходе на S3.</p><p>Управляется модель небольшим набором предсказуемых HTTPS-операций.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-17/17660b4e-f38e-42ec-8d53-d73765978182.webp" alt="" /></figure><p>S3 API используется разными объектными хранилищами, однако поддерживаемые функции могут различаться. Перед миграцией стоит проверить конкретные API-операции приложения, политики доступа, уведомления, Object Lock, репликацию и подпись запросов. Совместимость проверяют на рабочих сценариях приложения и часто в них применяемых API-операциях.</p><h2>Где подходит модель</h2><p>Зная, как устроена модель, проще понять, где S3 подходит лучше всего. Он хорошо работает с данными, которые сохраняются целыми объектами, хранятся независимо друг от друга и читаются по ключу. Например, так удобно хранить резервные копии, архивы, медиаконтент, логи и аналитические данные.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-17/e6bf3c95-a2f8-4ec9-8fb5-b94492c8b212.webp" alt="" /></figure><p>Для задач с частыми синхронными изменениями нужна другая модель хранения. Например, для дисков виртуальных машин, транзакционных логов СУБД, рабочих каталогов сборки и приложений с POSIX-блокировками подходит блочное или файловое хранилище. S3 при этом можно использовать для снапшотов, регулярных выгрузок и резервных копий.</p><h2>Что защищает данные внутри S3 и где заканчивается эта защита</h2><p>Для критичных данных в S3 используются versioning, Object Lock и репликация. Эти функции решают разные задачи и применяются в разных сценариях.</p><p>Versioning сохраняет предыдущие версии объектов. При повторной записи по тому же ключу создаётся новая версия с собственным version ID. DELETE добавляет delete marker, поэтому предыдущие версии остаются доступными для восстановления.</p><p>Versioning увеличивает объём хранения. Приложение, которое ежедневно переписывает крупный объект, создаёт последовательность его полных версий. Lifecycle-политика позволяет определить срок хранения старых версий и правила очистки незавершённых multipart-загрузок. Versioning переводится в состояние suspended, а полностью отключить его нельзя. При создании бакета с Object Lock versioning включается автоматически.</p><p>Object Lock реализует модель WORM, Write Once, Read Many. Для объекта задаётся срок retention, в течение которого система сохраняет его в защищённом состоянии.</p><p>В режиме Governance пользователь с расширенными правами может снять защиту вручную. В режиме Compliance защищённая версия сохраняется до окончания retention, включая случаи с root-аккаунтом. Срок хранения стоит рассчитывать заранее: установленный retention нельзя сократить, поэтому версия продолжит занимать место до окончания заданного периода.</p><p>Репликация создаёт дополнительные копии объектов и повышает устойчивость к отказам оборудования. В <a href="https://linx.ru/cloud/object-storage-s3/">Linx Cloud</a> используется фактор репликации 3, RF3, поэтому каждый объект хранится в трёх экземплярах.</p><p>Репликация переносит изменения вместе с объектами. Если исходные данные уже содержат логическую ошибку, она попадёт и в реплики. Для критичных данных поэтому требуется отдельный домен отказа, регулярная проверка восстановления и схема резервного копирования 3-2-1 или 3-2-1-1-0.</p><h2>Своя инфраструктура или сервис провайдера</h2><p>S3-сервис можно развернуть внутри собственной инфраструктуры или использовать как управляемую услугу провайдера. На уровне приложения подключение выглядит одинаково: endpoint, access key, secret key и S3 API — разница в эксплуатации инфраструктуры.</p><figure><img src="https://media.tproger.ru/user-uploads/99633/2026-08-17/3a92450a-1f79-4be0-a4f6-81d5b0741d6c.webp" alt="" /></figure><p>Перед выбором провайдера стоит свериться с матрицей ответственности — кто чинит платформу при сбое, кто управляет ключами и доступом, кто следит за квотами и кто в итоге отвечает за резервные копии данных. Такая матрица для S3 есть и у Linx Cloud — сверить её с внутренними регламентами команды стоит ещё до того, как сервис запущен в работу.</p><h2>Как это устроено у Linx Cloud</h2><p>Если выбор сделан в пользу провайдера, вот пример конкретной реализации. В основе сервиса <a href="https://linx.ru/cloud/object-storage-s3/">Объектное хранилище (S3)</a> в Linx Cloud — Ceph: мы выбрали его из-за совместимости с S3 API (по нашему опыту, полнее её реализует разве что сам AWS), а также из-за масштабируемости и гибкости для развития продукта.</p><p>Путь запроса такой: HTTPS endpoint → сетевой периметр с WAF и NGFW → балансировщики нагрузки → Ceph Object Gateway (RGW), который уже разбирает команды S3 API и передаёт операции в backend-кластер. Сами объекты лежат на OSD-узлах с репликацией в три копии (RF3), а управляющие компоненты кластера вынесены на отдельное оборудование.</p><p>Подключиться к сервису можно по интернету или по выделенному каналу точка-точка — из виртуального ЦОД Linx Cloud, серверной стойки в дата-центре Linx или с любой внешней площадки. По документации сервис поддерживает multipart upload, versioning, Object Lock/WORM, presigned URL, репликацию бакетов и lifecycle-правила удаления. Один PUT рассчитан максимум на 5 Гбайт — для объектов крупнее нужен multipart.</p><p>Этого достаточно для типовых задач: интеграции с Veeam, архивного хранения, выдачи приватных объектов по временным ссылкам. Но перед миграцией конкретного приложения тест всё равно нужен — оно может опираться на уведомления о событиях, свою схему управления пользователями, определённый способ адресации объектов или редкую операцию API.</p><h2>Что проверить на пилоте</h2><p>Каким бы ни было решение — свой кластер или сервис вроде Linx Cloud — переводить на него прод стоит только после пилота, и строить его нужно на реальном потоке данных приложения: одна команда aws s3 cp с тестовым файлом ничего не покажет.</p><ul><li>Поэтому сначала измеряется профиль данных: средний и максимальный размер объектов, общее количество объектов, соотношение GET и PUT, частота LIST, пиковая нагрузка и допустимая задержка.</li><li>Затем проверяется совместимость приложения с нужными функциями S3. В тест входят multipart, versioning, Object Lock, lifecycle, presigned URL и права доступа. Для каждого механизма важно проверить именно тот сценарий, который используется в рабочей системе.</li><li>После этого оцениваются сеть и безопасность. Тест показывает поведение канала под нагрузкой, работу при обрыве соединения, доступные маршруты и стоимость исходящего трафика. На уровне безопасности проверяются разделение прав, хранение и ротация ключей, шифрование, аудит операций и сценарий компрометации учётной записи.</li><li>Финальная часть пилота посвящена восстановлению и стоимости. Нужно выполнить возврат старой версии и полное восстановление данных, измерить объём накопленных неактуальных версий и рассчитать расходы на запросы, хранение и трафик с учётом ожидаемого роста данных.</li></ul><p>Критерий успеха зависит от сценария. Для бэкапов главное — успешное восстановление, факта одной только загрузки недостаточно. Для медиаконтента важна стабильная выдача и то, что временные ссылки действительно работают.</p><p>Для data lake — скорость, с которой выбранный аналитический стек читает данные, и отсутствие «болезни мелких файлов», когда объектов становится очень много. Одна и та же <a href="https://linx.ru/cloud/object-storage-s3/">платформа S3</a> может отлично закрывать один сценарий и требовать уже другого архитектурного решения в соседнем.</p><h2>Вместо вывода</h2><p>S3 подходит для бэкапов, архивов, медиаконтента и аналитических данных, которые хранятся и читаются как объекты. Для дисков ВМ, СУБД и рабочих каталогов с частыми изменениями больше подходят файловые и блочные хранилища.</p><p>Поэтому перед миграцией стоит провести пилот на реальных данных приложения: проверить нагрузку, нужные API-операции, восстановление и стоимость хранения с учётом трафика. Результаты помогут определить, какую часть инфраструктуры имеет смысл перевести на S3 и где сохранить другие типы хранилищ.</p>]]></content:encoded>
    </item>
    <item>
      <title>Водяной знак Claude: как Anthropic тайно меняет слова в сгенерированном тексте</title>
      <link>https://tproger.ru/articles/vodyanoj-znak-claude-kak-anthropic-tajno-menyaet-slova-v-sgenerir</link>
      <comments>https://tproger.ru/articles/vodyanoj-znak-claude-kak-anthropic-tajno-menyaet-slova-v-sgenerir?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/vodyanoj-znak-claude-kak-anthropic-tajno-menyaet-slova-v-sgenerir</guid>
      <description><![CDATA[<p>Anthropic внедряет в Claude статистический водяной знак текста. Узнайте, как он работает, почему это опасно для авторов и как минимизировать риски.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/vodyanoj-znak-claude-kak-anthropic-tajno-menyaet-slova-v-sgenerir">Водяной знак Claude: как Anthropic тайно меняет слова в сгенерированном тексте</a>»</p>]]></description>
      <category><![CDATA[Алгоритмы и структуры данных]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Криптография]]></category>
      <category><![CDATA[Нейронные сети]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 17 Aug 2026 09:29:32 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если вы используете Claude для черновиков, правок или переводов, знайте: с новых моделей Anthropic начинает встраивать в текст скрытый <b>статистический водяной знак</b>. Это не невидимые символы и не метаданные файла — это изменение самих слов, которые модель выбирает для вас. Критики, включая автора <a href="https://daringfireball.net/2026/08/anthropics_watermark_text_adulteration_in_claude_is_a_perversion_of_writing">Daring Fireball</a> Джона Грубера, называют это порчей письма. Разбираем, как работает технология, почему она вызывает споры и что с этим делать авторам.</p><h2>Что Anthropic сделала с текстом Claude</h2><p>2 августа 2026 года в ЕС вступили в силу обязательства по прозрачности ИИ-контента из AI Act. В июле 2026-го Anthropic, как и около 190 других организаций, подписала <a href="https://digital-strategy.ec.europa.eu/en/policies/ai-code-practice">Кодекс практики по прозрачности ИИ-контента</a>. Теперь компания заявляет, что все новые модели Claude будут «маркировать» сгенерированный текст — и делать это <b>глобально</b>, а не только для пользователей из Евросоюза.</p><p>Сначала Anthropic лишь кратко сообщила о маркировке в справочной статье «How Claude marks AI-generated content». 14 августа 2026 года появилось техническое объяснение <a href="https://www.anthropic.com/news/claude-text-watermark">«How Claude’s text watermark works»</a>. В нём компания признаёт: водяной знак не добавляет в текст никаких символов, он меняет выбор слов на основе секретного ключа.</p><p>Новые модели Claude будут встраивать статистический водяной знак во все тексты длиннее ~200 токенов (~150 слов).</p><p>Маркировка не использует невидимые символы: она смещает выбор между близкими по смыслу словами по секретному ключу.</p><p>Проверить водяной знак сможет только Anthropic; посторонние сервисы без ключа не смогут дать достоверный вердикт.</p><p>Переводы и переписывания целиком проходят через Claude, поэтому маркируются сильнее всего; обычная правка — слабее.</p><p>Чтобы снизить риск, используйте Claude как черновик, а затем переписывайте текст своими словами.</p><h2>Как работает водяной знак в тексте</h2><p>Большие языковые модели генерируют текст по одному токену. На каждом шаге у них есть список подходящих кандидатов, и иногда несколько вариантов равноправны по смыслу. Например, после фразы «погода сегодня была холодной и…» модель может выбрать «пасмурной» или «серой». Обычно выбор решает случайность. При водяном знаке случайность заменяется на псевдослучайную последовательность, выведенную из <b>секретного ключа</b> и нескольких предыдущих слов.</p><p>Anthropic использует вариант подхода <a href="https://www.nature.com/articles/s41586-024-08025-4">SynthID-Text</a>, опубликованного Google DeepMind в Nature в 2024 году. На каждом «равноправном» шаге модель получает лёгкий «подталкивающий» сигнал в сторону одних кандидатов и от других. Отдельный выбор почти незаметен, но на длине в сотни или тысячи токенов накапливается статистическая закономерность, которую может увидеть только владелец ключа.</p><p><b>Главный нюанс:</b><br />Секретный ключ есть только у Anthropic. Поэтому никакой сторонний «детектор ИИ-текстов» не сможет проверить водяной знак Claude — он либо будет искать стилистические признаки, либо угадывать.</p><h2>Почему это спорно: слова имеют значение</h2><p>Аргумент критиков прост: никакие два синонима не совпадают по оттенку, ритму и контексту. «Он ухватился за шанс» и «Он воспользовался возможностью» передают одно действие, но звучат по-разному. Если модель выбирает слово не только ради точности, но и ради скрытой метки, качество текста теоретически падает — пусть и на доли процента.</p><p>В <a href="https://www.anthropic.com/news/claude-text-watermark">документе Anthropic</a> приводится пример: выбор между «overcast» и «grey» «в большинстве случаев не сильно влияет на читателя». Джон Грубер в ответ замечает: именно это и делает идею порочной. Компания решает за автора, какое слово «достаточно хорошо», вместо того чтобы каждый раз искать лучшее.</p><blockquote>Можно было бы применить ту же логику к калькуляторам, если бы их результаты оставляли следы. К счастью, сумма, рождённая мозгом, не отличается от суммы, полученной на калькуляторе. Сделать помощь подозрительной только тогда, когда инструмент становится достаточно умён, чтобы составить целое предложение, — не принципиальная граница. Это моральная надбавка за саму сложность.</blockquote><h2>Что это меняет для пользователей</h2><p>Anthropic честно перечисляет ограничения, но именно они создают проблемы. Водяной знак не доказывает, что текст написал Claude целиком: он лишь повышает вероятность, что Claude <b>участвовал</b> в его создании. Перевод, выполненный Claude, будет маркирован полностью, потому что каждое слово выбрала модель. А вот лёгкая правка человеческого текста может оставить лишь слабый след.</p><p>Код в большинстве случаев почти не страдает: там часто есть единственно правильное продолжение. Но комментарии и документация в коде маркируются так же, как обычная проза. Кроме того,Anthropic отмечает, что водяной знак переживает копирование и вставку: он живёт в самой последовательности слов, а не в форматировании.</p><ul><li><b>Переводы:</b> полная маркировка, потому что каждый токен — выбор модели.</li><li><b>Лёгкая правка:</b> может оставить след, но не всегда достаточный для детекции.</li><li><b>Глубокий переписывание:</b> разрушает статистическую картину, но тогда результат уже сложно назвать ИИ-текстом.</li><li><b>Код:</b> функциональные части почти не меняются, комментарии — подвержены.</li></ul><h2>Почему это касается не только ЕС</h2><p>Формально инициатором маркировки стал ЕС: AI Act обязывает провайдеров ИИ маркировать синтетический контент. Но Anthropic объявила о глобальном внедрении, сославшись на отсутствие «устойчивого способа» ограничить функцию по региону. Получается, что европейское регулирование распространяется на всех пользователей Claude, включая тех, кто живёт в России, США и Азии.</p><p>При этом неясно, насколько само регулирование требует именно такого подхода. Кодекс практики применяется к текстам длиннее 200 токенов, требует запрета на удаление метки в условиях использования и устойчивости к копированию, OCR и переводам. Но он не обязывает внедрять систему глобально и не заставляет провайдера изменять слова в приватных чатах.</p><h2>Google уже делает то же самое с Gemini</h2><p>Google внедрила текстовый водяной знак <a href="https://deepmind.google/discover/blog/synthid-identifying-ai-generated-content/">SynthID</a> в Gemini раньше Anthropic. В статье Nature команда DeepMind пишет, что проанализировала около 20 млн ответов с водяным знаком и без него. Разница в оценках «палец вверх» составила 0,01%, а «палец вниз» — 0,02%; оба отличия оказались статистически незначимыми в пределах 95%-ного доверительного интервала.</p><p>Критики указывают: незначимая разница в оценках не означает, что качество не пострадало. Если модель заменяет «bananas» на «pineapple» в примере DeepMind, пользователь вряд ли поставит «дизлайк» из-за фрукта. Но именно такие микровыборы и формируют голос автора. А когда причина выбора скрыта, доверие к тексту падает.</p><h2>Что делать авторам и разработчикам</h2><p>Полностью избежать водяного знака при использовании Claude нельзя — он встроен в генерацию. Но можно снизить риск, что ваш текст будет ошибочно отнесён к категории «сгенерировано ИИ» или потеряет индивидуальность.</p><h2>FAQ</h2><h2>Выводы</h2><p>Водяной знак Claude — это не злоумышленная функция, а попытка угодить регулятору. Но её побочный эффект серьёзен: модель начинает выбирать слова ради проверяемости, а не ради смысла. Для авторов, юристов, журналистов и разработчиков это означает, что любой прогон текста через Claude может оставить след, который увидит только Anthropic.</p><p>Пока публичного детектора нет, риск ложных обвинений невелик. Но как только API проверки появится, вопрос «а не написано ли это ИИ?» станет ещё более неоднозначным. Лучшая защита — не отказываться от инструментов, а помнить: черновик от ИИ — это черновик. Финальный текст должен быть вашим.</p><blockquote>Моя письменная работа — это моя работа, а текущая стратегия Anthropic агрессивно враждебна писателям.</blockquote><h2>Источники</h2><p>— <a href="https://daringfireball.net/2026/08/anthropics_watermark_text_adulteration_in_claude_is_a_perversion_of_writing">John Gruber, «Anthropic’s ‘Watermark’ Text Adulteration in Claude Is a Perversion of Writing»</a><br />— <a href="https://www.anthropic.com/news/claude-text-watermark">Anthropic, «How Claude’s text watermark works»</a><br />— <a href="https://declaude.org/watermarking/">James Padolsey, «How AI text watermarking works»</a><br />— <a href="https://www.nature.com/articles/s41586-024-08025-4">Google DeepMind, «Scalable watermarking for identifying LLM outputs» (Nature, 2024)</a><br />— <a href="https://digital-strategy.ec.europa.eu/en/policies/ai-code-practice">EU Code of Practice on Transparency of AI-Generated Content</a></p>]]></content:encoded>
    </item>
    <item>
      <title>OpenAI добавила в ChatGPT для macOS функцию Computer History — ИИ теперь видит клики и нажатия клавиш</title>
      <link>https://tproger.ru/news/openai-dobavila-v-chatgpt-dlya-macos-funkciyu-computer-history-i</link>
      <comments>https://tproger.ru/news/openai-dobavila-v-chatgpt-dlya-macos-funkciyu-computer-history-i?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/openai-dobavila-v-chatgpt-dlya-macos-funkciyu-computer-history-i</guid>
      <description><![CDATA[<p>OpenAI запустила Computer History в ChatGPT для macOS. Функция записывает клики и нажатия клавиш, чтобы ИИ продолжал задачи. Разбираем, как это работает.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/openai-dobavila-v-chatgpt-dlya-macos-funkciyu-computer-history-i">OpenAI добавила в ChatGPT для macOS функцию Computer History — ИИ теперь видит клики и нажатия клавиш</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Машинное обучение]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 17 Aug 2026 09:14:07 GMT</pubDate>
      <content:encoded><![CDATA[<p>OpenAI выпустила для macOS-версии ChatGPT функцию <b>Computer History</b>. Она записывает действия пользователя — клики, нажатия клавиш и переключения между приложениями — и строит из них временную шкалу, которую может читать ИИ. Это позволяет ChatGPT и Codex продолжать начатые задачи и предлагать автоматизацию, даже если вы отвлеклись.</p><p>Computer History появилась в десктопном ChatGPT для macOS и фиксирует действия пользователя как «события».</p><p>Данные превращаются в обучающий материал: ChatGPT и Codex используют их, чтобы возобновлять задачи и предлагать автоматизацию.</p><p>Функция работает по принципу opt-in и позволяет исключать приложения и сайты, а также удалять отдельные записи.</p><p>OpenAI утверждает, что Computer History не делает скриншотов, видео и аудиозаписей — только текстовые события.</p><p>Содержимое вкладок incognito и private mode браузеров игнорируется автоматически.</p><h2>Что такое Computer History</h2><p>По сути, это аналог <a href="https://www.theverge.com/2024/6/4/24171391/microsoft-windows-11-recall-ai-explorer-cocreator-requirements">Windows Recall</a> от Microsoft, но без главного спорного момента — постоянных скриншотов экрана. Вместо изображений macOS-приложение ChatGPT фиксирует events: какие документы открывались, в какие поля вводился текст, между какими окнами переключался пользователь.</p><p>В демонстрации сотрудник OpenAI <b>Dominik Kundel</b> попросил ChatGPT найти последний отредактированный документ, проверить, был ли он отправлен коллегам в Slack, и составить краткий отчёт о том, как прошло его утро. Всё это ИИ взял из собранной истории действий.</p><h2>Кто видит данные и как управлять функцией</h2><p>Функция включена только с согласия пользователя — <b>opt-in</b>, а не opt-out. Можно исключить отдельные приложения и сайты из сбора, а также удалить любую запись вручную. <b>Ari Weinstein</b>, менеджер по продукту и инженерии в OpenAI, <a href="https://x.com/ariweinstein">уточнил</a>, что Computer History автоматически пропускает содержимое вкладок в режиме инкогнито или приватного просмотра.</p><h2>Выводы</h2><p>Computer History — ещё один шаг OpenAI к тому, чтобы ChatGPT стал не просто чатом, а полноценным «операционным слоем» поверх рабочего стола. Пока функция доступна в macOS-приложении и требует явного согласия, но сам факт сбора кликов и клавиш уже вызывает вопросы о приватности. Если решитесь попробовать — сначала проверьте список исключённых приложений.</p><p>Источник: <a href="https://www.theverge.com/ai-artificial-intelligence/980742/chatgpts-computer-history-tracks-your-clicks-and-keystrokes">The Verge</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Трудно быть безопасником</title>
      <link>https://tproger.ru/articles/trudno-byt-bezopasnikom</link>
      <comments>https://tproger.ru/articles/trudno-byt-bezopasnikom?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Неопознанный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/trudno-byt-bezopasnikom</guid>
      <description><![CDATA[<p>Многие представляют IT‑безопасников суровыми дядьками без чувства юмора и с нулевой терпимостью к окружающим. Однако это не так. Перед вами — сатирический монолог о жизни в информационной безопасности. Возможно, некоторые персонажи слишком похожи на ваших коллег.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/trudno-byt-bezopasnikom">Трудно быть безопасником</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[Юмор]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 13 Aug 2026 06:23:10 GMT</pubDate>
      <content:encoded><![CDATA[<p><i>Многие представляют IT‑безопасников суровыми дядьками без чувства юмора и с нулевой терпимостью к окружающим. Однако это не так. Перед вами — сатирический монолог о жизни в информационной безопасности. Возможно, некоторые персонажи слишком похожи на ваших коллег.</i></p><p>Здравствуйте! Меня зовут Андрей, и я работаю в сфере информационной безопасности.</p><p>Когда кто‑то спрашивает, чем я занимаюсь, я отвечаю, что работаю в IT и слежу за безопасностью компании. Это звучит как ответ сапёра, который говорит, что просто гуляет по полю.</p><p>Технически не ложь, но… есть нюансы.</p><p>Почему я так отвечаю? Всё просто. Стоит лишь заговорить про инфобез, утечки данных и поверхность атаки, как у собеседника в глазах загорается огонёк непонимания. Он перестаёт меня слышать. В этот момент я могу сказать любую чушь. Например, что по ночам веслом отгоняю медведей от советских спутников. Всё равно в ответ получу уважительный кивок и полный ноль понимания.</p><p>Вообще, в любой нормальной профессии виден результат работы. Разработчик хорошо поработал — появилась новая функция. Дизайнер — новая кнопка. Маркетолог — из каждого утюга кричат про скидки.</p><p>Если хорошо работаю я — ничего не происходит. И это считается отличным результатом.</p><p>Некоторые руководители‑оптимизаторы любят спрашивать: «Ну и за что тебе платить? Нас ещё ни разу не атаковали хакеры». Странная логика. От ремня безопасности они почему‑то не отказываются. Хотя тоже ещё ни разу не вылетали через лобовое.</p><p>ИБ, информационная безопасность — это невидимость как услуга. Нас можно заменить табличкой «Пока всё нормально». Но табличка не умеет писать отчёты на 47 страниц о том, почему всё перестало быть нормально.</p><h2>Кто такой безопасник</h2><figure><img src="https://media.tproger.ru/user-uploads/139778/2026-08-13/7417212d-f27f-4963-bd4a-1bdde584de9c.webp" alt="" /></figure><p>Из‑за фильмов многие думают, что безопасник в IT — это такой хороший хакер, который на самом деле способен за десять секунд взломать Пентагон.</p><p>В жизни мой главный взлом — это взлом человеческого упрямства. Ведь это я на утренней пятиминутке полтора часа объясняю всему коллективу, почему нельзя хранить эксель‑файл с названием «клиентские_пароли» на рабочем столе.</p><p>И все соглашаются. Но файл не удаляют. Ведь «он нужен для работы».</p><p>Безопасник — это тревожный человек, которому за тревожность платят зарплату. В обычной жизни таких людей называют паникёрами. В IT — ведущими специалистами по информационной безопасности.</p><p>Работа в инфобезе — это когда все думают, что ты самый противный тип в компании, который подозревает окружающих в чём‑то очень плохом. А на самом деле ты просто в третий раз за день пишешь: «Коллеги, пожалуйста, не присылайте пароли от сервисов в общий чат».</p><p>И всегда, абсолютно всегда, находится человек — допустим, Дима, который отвечает: «Это тестовый пароль».</p><p>Конечно. В IT слово «тестовый» часто означает: «Мы надеемся, что это не попадёт в публичный доступ, как в прошлый раз». В каждой компании есть такой Дима. Если у вас нет Димы — есть риск, что Дима — это вы.</p><p>В детстве я мечтал стать космонавтом, потом — супергероем. А стал ведущим специалистом по информационной безопасности. Теперь моя суперсила — запрещать людям то, что они только что придумали. Поэтому все отделы компании ненавидят меня одинаково. Можно сказать, что я один сплачиваю весь коллектив.</p><p>Я как глютен: никто точно не знает, что я делаю, но все убеждены, что без меня было бы лучше. Ведь только я обычно говорю «нет», когда меня о чём‑то просят.</p><p>Отдел информационной безопасности вообще часто называют «отделом моментального нет». Это неправда! Иногда я говорю «нет» не сразу, а спустя шесть месяцев, после аудита.</p><p>Я вообще смотрю на мир по‑своему. Нормальные люди выходят из дома и думают: «А я утюг выключил?». Когда я выхожу из дома, то думаю: «Если кот получит физический доступ к кухне, сможет ли он повысить свои привилегии?».</p><p>Потому что кот уже успешно повышал привилегии. Дважды. Оба инцидента привели к утечке сосисок.</p><p>Быть безопасником тяжело. Через пять лет в инфобезе я перестал верить в людей. Через десять — не доверяю даже принтеру. Он знает слишком много.</p><p>Я не параноик, хотя вы можете с этим не согласиться. Ведь у меня дома пароль от Wi‑Fi длиннее, чем некоторые браки. Я всегда читаю пользовательское соглашение до конца. А знаете, как я познакомился с женой? Я пришёл в отдел с плановой проверкой. Активность одной сотрудницы показалась мне подозрительной. Начал расследование. Через год оказался в ЗАГСе, спустя пять лет у нас уже двое детей. Классическая история успешного женского фишинга, я считаю.</p><p>Жена однажды сказала: «С тобой невозможно жить, ты как пожарный, который везде видит опасные горючие материалы». Я ответил: — «Неправда. Но ты хранишь в интернете фото паспорта и СНИЛС, а ещё используешь один пароль на всех сервисах. Знаешь, какие это киберриски?». Она говорит: «Это называется не „киберриски“, это называется „ты душнила, который портит семейную атмосферу“».</p><p>Появление детей у безопасников — это странный процесс. Нормальные люди просто говорят друг другу: «Давай заведём ребёнка». У безопасников даже решение завести ребёнка начинается с оценки рисков нового проекта. Потом нужно согласовать проект со всеми заинтересованными сторонами: жена, оба комплекта родителей и кот — который, как правило, против.</p><p>Через девять месяцев в семейную систему добавляется новый пользователь. К нему не приложено руководство по эксплуатации, зато он постоянно генерирует сигналы тревоги — преимущественно с двух до пяти ночи.</p><p>Первые полгода — максимально тяжёлые: служба поддержки нового пользователя в лице матери едва справляется с нагрузкой. Поэтому крепнет ощущение, что пора готовить план миграции увеличившейся системы на новую инфраструктуру — двухкомнатную, в более престижном районе, простите, дата‑центре.</p><p>Говорят, дети всегда перенимают что‑то от родителей. У врача ребёнок приходит в садик и всем ставит диагнозы. У юриста ребёнок на вопрос «Ты зачем игрушку сломал?» отвечает: «Я отказываюсь давать показания без присутствия законного представителя». Но им далеко до детей безопасников.</p><p>Потому что обычные дети рисуют принцесс, динозавров и радугу, а ребёнок безопасника рисует схему квартиры и указывает на ней уязвимые места. Обычные дети боятся монстра под кроватью, а ребёнок безопасника боится незапароленного Wi‑Fi.</p><p>Обычный ребёнок врёт родителям. Ребёнок безопасника успешно практикует социальную инженерию.</p><h2>О паролях и фишинге</h2><p>Вы уже поняли, что информационная безопасность — сложная наука. Но вся эта наука в итоге ломается о человека по имени Дима с паролем Dimon123.</p><p>Каждый год публикуют список самых популярных паролей. Я смотрю на него и понимаю: «Мы заслужили вымирание». Первое место — «123456». Второе — «password». Третье — «123456789». Ребята… вы хоть немного стараетесь?</p><p>Есть и обратная история — корпоративная политика паролей. Обычно она написана так, словно её составляли в ходе трёхлетней войны с человеческой памятью. Требования такие: не менее 16 символов. Заглавные буквы. Строчные. Цифры. Спецсимволы. Древнее проклятие. Кровь единорога.</p><p>Ещё желательно, чтобы пароль вызывал эмоциональный отклик. Который плюс вайб.</p><p>После создания такого пароля пользователь Дима записывает его на стикере, клеит к монитору и делает вид, что это временно. Потому что его память тоже имеет системные ограничения.</p><p>Люди искренне ненавидят сложные пароли и почему‑то нас. Как будто это МЫ их придумали вам назло. Как будто где‑то в тёмной комнате собрались безопасники и такие: «Господа, есть идея. Давайте заставим пользователей добавлять в пароль по одному символу в верхнем регистре. Это их сломает. Муа‑ха‑ха!».</p><p>А ещё этот знакомый всем цикл: «Забыл пароль» — «Сбросить» — «Создать новый пароль» — «Придумайте более сложный пароль» — «Новый пароль не должен совпадать с тремя предыдущими». На последнем этапе не то что обычный человек, даже безопасник захочет взять нож и пойти убивать.</p><p>Есть особо умные персонажи, которые говорят: люди, используйте менеджер паролей! Это программа, которая решает все проблемы с паролями. Вместо трёхсот паролей у вас будет один мастер‑пароль. Всё бы хорошо, только его нельзя забыть вообще никогда. Если забудете — сочувствую. Это больше не ваши данные.</p><p>О, а есть ещё фишинг. Это когда вам приходит письмо от «Службы безопасности» с требованием срочно перейти по ссылке, иначе «ваш аккаунт будет заблокирован».</p><p>Фишинг раньше был тупой. Прям очень тупой. Письма от наследного принца Нигерии, просьбы срочно перевести деньги с орфографией человека, который даже букварь не осилил. Это было почти честно: мошенник не притворялся, что он умный. На это клевали только бабушки и неопытные бухгалтеры.</p><p>А потом появился ИИ‑фишинг. И теперь письма от фейкового директора понятнее, интереснее и грамотнее, чем от настоящего. Это, кстати, очень тревожный знак для настоящего директора.</p><p>Теперь уже программа присылает голосовые сообщения от лица якобы начальника. «Дима, переведи олимпиард денег на счёт компании „Тёртый сыр“, пока я на встрече. Срочно».</p><p>Что делает уже не раз битый безопасниками Дима? Он пишет: «Иван Иваныч, это точно вы? Мне нужно подтверждение». А фейк отвечает: «Да, это я». И скидывает фото, где он выглядит даже лучше, чем вживую. Натуральнее как‑то. Как тут не повестись?</p><p>Фишинг — это не атака на глупых. Это атака на занятых. На уставших. На людей, у которых было пять созвонов, три письма, одно «срочно» и ноль внутреннего ресурса на проверку, почему письмо о подтверждении платежа пришло с домена otprav‑dengi‑hakeru.ru.</p><p>Представьте, что письмо пришло в пятницу в 17:58. Я настолько задолбался к этому времени, что если в таком письме напишут «Подтвердите передачу квартиры мошенникам», я отвечу: «А можно после выходных?».</p><p>Фишинг работает не потому, что люди доверчивые. Он работает, потому что люди привыкли к корпоративному хаосу. Если письмо выглядит типичным образцом корпоративного безумия, мозг говорит: «А, ну всё как обычно».</p><h2>Уязвимости, разработка и бухгалтерия</h2><p>Есть три фразы, которые я ненавижу: «У меня же работало», «Починим потом» и «Так быстрее».</p><p>Всё плохое в IT когда‑то начиналось со слов: «Так быстрее». А «починим потом» — это фраза, которая для меня звучит как «Мы хотим, чтобы наши базы данных уже завтра оказались на торрентах».</p><p>Возможно, вы знаете, что всем уязвимостям в программах и железе присваивается номер и оценка критичности от 1 до 10. 10 — это когда «всё плохо, чинить немедленно, звать на помощь маму».</p><p>9.8 — это то, что разработчики закрывают через три месяца, потому что «сейчас нет ресурса». К тому времени, как ресурс появится, уязвимость продемонстрируют на двух конференциях и продадут готовый эксплойт в даркнете за сто долларов. А вы ещё удивляетесь, почему я такой нервный.</p><p>Любая проблема в компании проходит одни и те же стадии.</p><p>Сначала: «Этого не может быть».</p><p>Потом: «Этой уязвимости нет в нашем проекте».</p><p>Потом: «Есть, но ничего страшного».</p><p>Потом: «Зачем вообще так делали?»</p><p>И наконец: «Давайте искать виноватого».</p><p>И вот тут выясняется, что проект использует какой-то скрипт, который написал случайный стажёр пять лет назад. Он потом уволился и, судя по всему, покинул этот бренный мир, потому что больше никогда не отвечал в мессенджерах. То есть какой-то случайный человек из прошлого на коленке сложил несущую стену нашего дома из битых кирпичей, скрепил всё это жвачкой — и растворился в тумане. А мы стоим, смотрим на трещины и говорим: «Ну, вроде не особо заметно. Не будем трогать».</p><p>Отдельно люблю legacy-системы. Это системы, написанные на языке, которому 30 лет. Ими управляет один человек, который работает в компании с 1908 года. Его зовут дядя Вася. Дядя Вася знает все пароли, не пишет инструкций и уходит в отпуск именно тогда, когда всё ломается. Увольнение дяди Васи считается событием уровня конца света.</p><p>Люблю ещё эту вечную дискуссию между инфобезом и разработчиками:</p><p>— Надо исправлять.</p><p>— А если сломается?</p><p>— А если не исправлять, то будет плохо.</p><p>— А если плохо будет из‑за исправления?</p><p>Разговор заходит в бесконечный цикл. Я создаю задачу в Jira. Это сервис, куда записывают задачи. Теоретически — чтобы их решать. Практически — чтобы там и похоронить.</p><p>Создаёшь задачу. Назначаешь исполнителя. Через месяц задача передаётся дальше. Через два месяца ещё дальше. Через полгода в задаче больше комментариев, чем под видео у популярного блогера. Но решения нет.</p><p>У меня там одна задача висит уже восемь месяцев. Проблема критичного уровня. Статус — «когда‑нибудь потом». Мне кажется, эта задача переживёт человечество. После ядерной зимы останутся тараканы и Jira. И таракан напишет в задаче: «Починим в следующем квартале».</p><p>Теперь о бухгалтерии. Я уважаю бухгалтеров. Это люди, которые из хаоса делают отчётность, а из отчётности — мою новую срочную задачу. Это огромная сила.</p><p>Но именно бухгалтерия — это то место, где флешка с вирусом становится троянским конём. Потому что если на флешке написано «Расчёт по зарплате окончательный final2», её вставят в компьютер. Не потому что бухгалтеры глупые. Потому что они так и называют свои файлы.</p><p>И в этом проблема. Почему бухгалтеры опасны? У них есть доступ к деньгам, но при этом они пользуются древними программами, принтерами, которые работают на чистой ненависти, и компьютерами, на которых стоит система из эпохи, когда слово «куртизанки» считалось новомодным.</p><p>Я однажды провёл обучение на тему опасности неизвестных носителей данных. А позже раскидал по офису пять флешек, подписав каждую. Где‑то это было «Продажи 1 кв. 2026», где‑то «Дизайн‑макет сайта». Ну такие, очевидные надписи. Четыре из пяти флешек вставили в течение часа.</p><p>Одну Дима унёс домой.</p><p>Поэтому не знаю, как у других коллег, а у меня есть правило: любая найденная бесхозная флешка уничтожается на месте. И я ношу с собой молоток. Для флешек. Хотя иногда и для пользователей. Это часть моего комплекта ведущего специалиста по информационной безопасности.</p><h2>Финальное слово</h2><p>На словах все любят безопасность. Безопасность — как спорт и ЗОЖ. Все за. Просто… не сегодня.</p><p>Представьте, что вас наняли охранять торговый центр. Только ключ от всех дверей лежит под ковриком. Код от сигнализации написан на бумажке рядом с сигнализацией. Запасной вход не закрывали с 2019 года, а охранник регулярно выкладывает план здания в TikTok.</p><p>И вот ты ходишь и говоришь: «Ребята, это проблема». Иногда мне кажется, что в этом и заключается моя работа — ходить и говорить: «Так делать нельзя». А в ответ слышать неизменное: «Но мы всегда так делали».</p><p>Конечно. Именно поэтому я нервничаю! Я всегда предполагаю худшее. И меня бесит, как часто я оказываюсь прав.</p><p>Так что да, я специалист по информационной безопасности. Я не взламываю Пентагоны. Я просто пытаюсь не дать компании загнуться от фишинга, «временного» пароля на стикере и чрезмерно активного Димы. В основном от Димы. Потому что хакеру сначала ещё нужно проникнуть в компанию. А Дима уже внутри.</p><p>А если серьёзно — спасибо, что выслушали. Помните: меняйте пароли, не кликайте на странные ссылки, обновляйте программы, и пожалуйста, ПОЖАЛУЙСТА, не будьте как Дима.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как защитить код на ПЛК: 3 настройки CODESYS до первого инцидента</title>
      <link>https://tproger.ru/articles/kak-zashhitit-kod-na-plk-3-nastrojki-codesys-do-pervogo-incident-2</link>
      <comments>https://tproger.ru/articles/kak-zashhitit-kod-na-plk-3-nastrojki-codesys-do-pervogo-incident-2?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Владислав Иванов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kak-zashhitit-kod-na-plk-3-nastrojki-codesys-do-pervogo-incident-2</guid>
      <description><![CDATA[<p>Как защитить ПЛК в CODESYS: три настройки безопасности, которые нельзя откладывать. Шифрование, подпись приложения и разграничение прав. Практический чек-лист для инженера АСУ ТП от эксперта UDV Group.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kak-zashhitit-kod-na-plk-3-nastrojki-codesys-do-pervogo-incident-2">Как защитить код на ПЛК: 3 настройки CODESYS до первого инцидента</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 29 Jul 2026 16:07:50 GMT</pubDate>
      <content:encoded><![CDATA[<p>Автор: Владислав Иванов, старший инженер АСУ ТП компании UDV Group</p><p><i>В веб-разработке подпись кода, права доступа и шифрование давно воспринимаются как базовая гигиена. В промышленном программировании последствия ошибки выше: код управляет не страницей или сервисом, а оборудованием, технологическим режимом и иногда целой линией производства. Поэтому безопасность ПЛК начинается не только с межсетевого экрана перед АСУ ТП, но и с настроек самой среды исполнения</i>.</p><p><i>CODESYS используется в миллионах устройств разных производителей, включая контроллеры, которые работают на российских промышленных объектах. Встроенные механизмы защиты там уже есть: шифрование соединения между IDE и контроллером, подпись и шифрование приложения, ролевая модель доступа. Проблема в том, что на реальных объектах эти настройки часто оставляют «на потом», потому что ПЛК уже запущен, линия работает, а любое изменение кажется лишним риском.</i></p><p><i>В этой статье разберем три настройки CODESYS, которые стоит проверить до первого инцидента: только шифрованное соединение с ПЛК, запрет загрузки неподписанного кода, шифрование приложения и разграничение прав. Отдельно покажем, почему перед изменениями нужен пилотный контур, резервная копия проекта и понятный сценарий восстановления.</i></p><h2>Сначала важное предупреждение</h2><p>Не включайте эти настройки сразу на работающей линии без проверки. Сначала нужен тестовый или пилотный контур, актуальная резервная копия проекта, понимание версии исполняемой среды, список инженерных станций, учетных записей, сертификатов и сценариев восстановления.</p><p>После включения шифрования, подписи или изменения прав можно потерять текущую сессию, заблокировать привычный способ загрузки приложения или столкнуться с тем, что у части инженеров больше нет нужных прав. Это нормальный управляемый риск, если изменения заранее проверены на стенде. На работающем контроллере такие эксперименты могут привести к простою.</p><h2>Почему одного пароля недостаточно</h2><p>Начиная с CODESYS V3.5.17.0 управление пользователями включается принудительно по умолчанию: перед первым успешным подключением нужно активировать user management и создать администратора. Это правильная отправная точка, но пароль не закрывает все вопросы безопасности.</p><p>Для промышленного объекта важно не только, кто вошел на контроллер. Важно, может ли этот пользователь загрузить новую логику, заменить приложение, прочитать файлы проекта, работать под общей учетной записью или сохранить доступ подрядчику после завершения работ.</p><p>В 2026 году Nozomi Networks Labs показала, почему это не теоретический риск. Исследователи разобрали цепочку уязвимостей в CODESYS Control Runtime for Raspberry Pi SL: CVE-2025-41658, CVE-2025-41659 и CVE-2025-41660. В связке они позволяли пользователю с низкими привилегиями получить доступ к криптографическим материалам, работать с резервной копией приложения и заменить программу на контроллере.</p><p>CODESYS закрыла эти уязвимости в обновлениях и добавила настройку, которая запрещает передачу неподписанного приложения для пользователей Service-группы в новых установках. Но обновление исполняемой среды не отменяет вопрос для действующих объектов: включены ли на конкретных ПЛК защитные механизмы, которые были доступны и раньше.</p><p>Из этого следует простой практический вывод: защиту ПЛК нельзя сводить к логину и паролю. Нужно ограничить канал связи, происхождение загружаемого кода и права пользователей.</p><h2>Где обычно возникает риск</h2><p>Первый типовой сбой: доверие к технологической сети как к закрытой зоне. На схеме она может выглядеть изолированной, но в реальности внутри появляются сервисные ноутбуки, временные подключения, станции подрядчиков, удаленные каналы обслуживания, старые HMI и оборудование, которое не пересматривали после пусконаладки. При такой картине незашифрованный обмен с ПЛК нельзя считать безопасным только потому, что он находится «внутри периметра».</p><p>Второй сценарий: права «с запасом» и общие учетные записи. Инженеру обслуживания проще выдать максимум прав, чем разбирать роли. Подрядчику удобнее оставить административный доступ, чтобы не согласовывать его каждый раз заново. Общий логин для смены экономит время, но снимает персональную ответственность. В журнале видно действие, но не видно конкретного исполнителя. После инцидента выясняется, что список людей с технической возможностью изменить логику управления был заметно шире, чем список тех, кому такой доступ действительно нужен.</p><p>Третья зона риска: сертификаты и восстановление. Подпись кода и шифрование приложения требуют порядка: кто выдает сертификат, где хранится закрытый ключ, кто имеет право подписывать проект, как отзывается доступ при смене подрядчика или увольнении инженера. Если такого порядка нет, защиту часто не включают не из-за незнания интерфейса, а потому что сертификаты воспринимаются как риск для обслуживания. Не менее опасна обратная ситуация, когда ключ потерян и предприятие само не может быстро восстановить собственный проект.</p><p>Четвертая проблема: настройки проверяют один раз. ПЛК ввели в работу, линия не останавливается, технологи довольны, и любое изменение воспринимается по принципу «работает, не трогай». Затем меняется подрядчик, обновляется версия исполняемой среды, проект переносят на другую инженерную станцию, участок расширяется, схема удаленного обслуживания меняется. Конфигурация доступа уже другая, но ее никто не сверяет с исходной политикой.</p><h2>Что требует регулятор</h2><p>Для предприятий, где АСУ ТП относится к значимым объектам критической информационной инфраструктуры, такие настройки не являются вопросом инженерной аккуратности. Приказ ФСТЭК России № 239 требует поддерживать правила разграничения доступа в актуальном состоянии, управлять учетными записями, обновлениями и конфигурацией значимого объекта, включая программные и программно-аппаратные средства, настройки и программный код.</p><p>Поэтому подход «мы один раз все настроили» здесь не работает. Смена подрядчика, обновление исполняемой среды или перенос проекта на новую инженерную станцию должны вести к пересмотру прав и конфигурации, а не к молчаливому предположению, что старые настройки все еще соответствуют реальности.</p><h2>Три настройки, которые нельзя оставлять на потом</h2><p>Первый базовый шаг: включить только шифрованное соединение между средой разработки и ПЛК. В CODESYS это режим Enforce encrypted communication. При его включении обмен с контроллером идет по защищенному каналу, а разработчик отдельно предупреждает, что отключать шифрованную коммуникацию не рекомендуется, особенно при включенном user management.</p><p>Для предприятия это практическая мера. Открытый обмен дает атакующему или инсайдеру внутри технологического сегмента больше возможностей: анализировать трафик, перехватывать учетные данные, изучать структуру проекта, пытаться имитировать действия инженерной станции. В промышленной сети такой доступ может появиться через компрометацию сервисного ноутбука, временное подключение, ошибку сегментации или канал удаленного обслуживания.</p><p>Второй шаг: запретить загрузку неподписанного кода и включить подпись приложения. Контроллер не должен принимать бинарный файл только потому, что его отправили из инженерной среды. Он должен проверять, кем подписан этот файл и можно ли доверять его происхождению. Для производства это принципиально: чужое или измененное приложение может остановить линию, нарушить технологический режим, повлиять на исполнительные механизмы или создать небезопасное состояние.</p><p>В CODESYS для этого используется политика EnforceSignedCode в разделе CmpApp. После включения контроллер должен отклонять загрузку приложения без валидной цифровой подписи. Но одного параметра недостаточно. Нужен порядок работы с ключами: кто выпускает сертификаты, где хранится закрытый ключ, кто подписывает проект, как оформляется доступ подрядчика, что происходит при смене инженера или компрометации рабочей станции. Без этого подпись превращается в формальную галочку.</p><p>Третий шаг: включить шифрование приложения и нормально настроить роли. Шифрование ограничивает возможность прочитать или разобрать загружаемый код. Это защита не только от атаки, но и от утечки инженерного know-how: в логике ПЛК часто зашиты режимы работы, ограничения, последовательности, аварийные сценарии и особенности конкретной линии. CODESYS описывает сценарий, при котором boot application передается в нечитаемом виде, а для загрузки на контроллер используется подходящий сертификат.</p><p>Ролевая модель решает другую задачу: ограничивает ущерб от ошибки или компрометации учетной записи. Оператору не нужны права на изменение логики. Подрядчику не нужен постоянный административный доступ. Инженеру обслуживания не всегда нужен полный набор прав на файловую систему и конфигурацию. CODESYS позволяет управлять пользователями и группами на уровне устройства, поэтому общие логины и максимальные права «для удобства» лучше заменить индивидуальными учетными записями и понятными ролями.</p><p>Практический чек-лист для инженера</p><p><b>Эти настройки стоит проверять при вводе ПЛК в эксплуатацию, после обновления исполняемой среды, смены подрядчика, переноса проекта на другую инженерную станцию и любого изменения схемы удаленного обслуживания.</b></p><ol><li>Включить только шифрованное соединение с ПЛК. В CODESYS это настраивается через Device, Change Runtime Security Policy, Communication, Enforced encryption. Альтернативный путь: Device Security Settings, CmpSecureChannel, значение ONLY_ENCRYPTED. После применения политики текущая сессия может разорваться, это нормальное поведение. Следующее подключение IDE к контроллеру должно идти уже по защищенному каналу.</li><li>Запретить загрузку неподписанного кода. Для этого в Device Security Settings нужно найти раздел CmpApp и перевести EnforceSignedCode в значение YES. После включения политики контроллер должен отклонять приложение без валидной цифровой подписи. Это защищает от ситуации, когда на ПЛК загружается код, происхождение которого предприятие не может подтвердить.</li><li>Настроить сертификаты для подписи и шифрования приложения. Публичный сертификат нужно добавить в доверенные на ПЛК через View, Security Screen, Devices, Trusted Certificates. В среде разработки на вкладке User нужно выбрать сертификат для цифровой подписи и включить принудительное подписание и шифрование downloads, online changes и boot applications.</li><li>Включить шифрование приложения. В дереве проекта нужно открыть свойства объекта Application, перейти на вкладку Security, выбрать Protection, Encryption with certificates, добавить сертификат для шифрования и включить Digitally sign application code. После этого проект при загрузке будет шифроваться и подписываться, а ПЛК сможет проверить подпись перед запуском.</li><li>Настроить роли и убрать лишние права. В редакторе устройства нужно открыть Users and Groups, синхронизироваться с ПЛК, создать индивидуальные учетные записи и распределить пользователей по ролям. Администратор должен управлять конфигурацией и доступами, инженер или сервисный специалист работать с логикой и обслуживанием, пользователь уровня просмотра только наблюдать параметры. Anonymous нужно отключить или максимально ограничить там, где анонимный доступ не нужен.</li><li>Проверить восстановление. После включения подписи и шифрования важно убедиться, что предприятие сможет восстановить проект при аварии, замене оборудования или потере инженерной станции. Для этого нужны актуальные резервные копии проекта, сертификатов и понятный порядок доступа к закрытым ключам.</li></ol><p>Эта проверка занимает меньше времени, чем расследование изменения, которое невозможно привязать к конкретному пользователю или версии проекта. Но сам по себе чек-лист не заменяет полноценную защиту OT. ПЛК остается частью более широкого контура: сети, инженерных станций, удаленного доступа, мониторинга, журналирования и управления версиями логики.</p><h2>Что остается за пределами настроек CODESYS</h2><p>После включения шифрования, подписи приложения и ролевой модели остается еще один практический вопрос: какая версия логики сейчас реально работает на контроллере. CODESYS помогает ограничить доступ к ПЛК, защитить канал связи и запретить загрузку неподписанного приложения. Но эти настройки сами по себе не показывают, чем текущая логика отличается от предыдущей, кто внес изменение, когда его загрузили на ПЛК и можно ли быстро откатиться к рабочей версии.</p><p>На промышленном объекте логика контроллера редко остается неизменной после пусконаладки. Ее дорабатывают после изменения технологического процесса, замены оборудования, сервисных работ, аварийных правок или замечаний от эксплуатации. Если проекты хранятся только на инженерных станциях или в папках с названиями вроде final, final_new и final_2, предприятие быстро теряет уверенность в том, какой файл считается актуальным.</p><p>Поэтому вместе с настройками безопасности нужен контроль версий проектной логики. Минимум: хранить эталонную версию проекта, фиксировать изменения, привязывать загрузку на ПЛК к пользователю и дате, сохранять предыдущие рабочие версии и проверять расхождения между проектом в хранилище и тем, что фактически загружено в контроллер.</p><p>Здесь важно не смешивать две задачи. Настройки CODESYS отвечают за то, кто может подключиться к контроллеру и какой код он имеет право загрузить. Контроль версий отвечает за историю самой логики: что изменили, зачем изменили, кто согласовал правку и какая версия должна считаться рабочей. Без этого ответ на вопрос «что сейчас загружено в ПЛК» часто остается в памяти инженера, который последним подключался к контроллеру.</p><h2>Как внедрять без риска для производства</h2><p>Самый опасный вариант: включать все настройки сразу на работающей линии без подготовки. Начинать нужно с инвентаризации. Какие ПЛК используются на объекте, какие версии исполняемой среды установлены, какие инженерные станции подключаются, кто имеет доступ, какие учетные записи активны, где хранятся проекты и есть ли актуальные резервные копии.</p><p>После этого лучше выбрать пилотный участок: один тип контроллера, понятный сценарий обслуживания, ограниченный круг пользователей. На нем можно проверить, как шифрование влияет на работу инженерной станции, как будет устроена подпись приложения, кто станет владельцем сертификатов и какие права действительно нужны инженерам, операторам и подрядчикам.</p><p>Затем настройки нужно закрепить в регламенте. Новые контроллеры вводятся с принудительным шифрованием. Загрузка неподписанного кода запрещается. Приложения шифруются сертификатами. У каждого пользователя есть собственная учетная запись. Административные права выдаются под конкретные задачи. Доступ подрядчика ограничивается сроком работ. Anonymous отключается или жестко ограничивается. После изменения конфигурации проводится проверка, а не просто делается запись в документе.</p><p>Такой порядок снижает конфликт между ИБ и АСУ ТП. Эксплуатация получает понятный сценарий изменений, ИБ получает управляемую модель доступа, бизнес получает меньше неопределенности вокруг того, кто и каким кодом управляет технологическим процессом.</p><h2>Вывод</h2><p>Безопасность ПЛК нельзя свести к межсетевому экрану перед технологическим сегментом. Если контроллер внутри этого сегмента принимает открытые соединения, неподписанные приложения и пользователей с избыточными правами, риск остается в самом контуре управления. Исследование Nozomi Networks Labs показало это предметно: обычного пользовательского доступа и штатной функции резервного копирования оказалось достаточно, чтобы построить цепочку компрометации устройства.</p><p>В CODESYS уже есть механизмы, которые закрывают часть базовых рисков на уровне контроллера. Но они работают только тогда, когда становятся частью эксплуатации: при вводе ПЛК, смене подрядчика, обновлении Runtime, переносе проекта, расширении участка и расследовании инцидентов.</p><p>Для руководителя это вопрос не интерфейса CODESYS, а управляемости производства. Кто имеет право менять логику. Какой код считается доверенным. Можно ли восстановить проект после сбоя. Можно ли доказать, кто выполнил изменение. Если на эти вопросы нет точных ответов, контроллер может быть исправным технически, но с точки зрения безопасности он остается недонастроенным.</p>]]></content:encoded>
    </item>
    <item>
      <title>Я написал свой self-hosted MDM для смешанного парка корпоративных устройств</title>
      <link>https://tproger.ru/articles/ya-napisal-svoj-self-hosted-mdm-dlya-smewannogo-parka-korporativny</link>
      <comments>https://tproger.ru/articles/ya-napisal-svoj-self-hosted-mdm-dlya-smewannogo-parka-korporativny?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Павел Смирнов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/ya-napisal-svoj-self-hosted-mdm-dlya-smewannogo-parka-korporativny</guid>
      <description><![CDATA[<p>Self-hosted MDM/RMM на Go для Windows, macOS и Linux: gRPC + mTLS без VPN, инвентаризация, скрипт-политики, временные админ-права, блокировка устройства. Архитектура, модель доверия и ограничения.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/ya-napisal-svoj-self-hosted-mdm-dlya-smewannogo-parka-korporativny">Я написал свой self-hosted MDM для смешанного парка корпоративных устройств</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 29 Jul 2026 08:21:32 GMT</pubDate>
      <content:encoded><![CDATA[<p>Полгода назад я пришёл в новую организацию, и мне достался парк машин. Десяток на Windows, несколько маков, пачка линуксовых ноутов у разработчиков. Невыносимым было другое. Навешанные до меня политики и блокировки со стороны ИБ связывали руки так, что здраво администрировать домен было попросту нельзя: любое рутинное действие упиралось в чужие ограничения. Тогда я и полез искать решение, которое помогло бы мне нормально админить этот парк.</p><p>Готового, что легло бы на мою ситуацию, я так и не нашёл — и в итоге сел писать своё. Ниже — разбор инженерных решений, которые по дороге пришлось принять, и карта того, где у этой конструкции проходит настоящая граница безопасности. Последнее для меня важнее всей остальной механики: MDM по определению даёт слишком много власти над чужими машинами, и делать вид, что это не так, я не стал. Поэтому архитектуру ниже я описываю как ответ на вопрос «где это ломается».</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/a5c16083-003f-4c47-87d4-2860f31cc618.webp" alt="" /></figure><h3>Откуда взялась задача</h3><p>Требований у меня было немного, но именно они всё и отсеяли: сервер должен стоять у меня, телеметрия парка не утекать на сторону, и всё это работать на смешанном парке сразу. Self-hosted-вариантов под такое оказалось немного, и те, что были, спотыкались об одно и то же: либо только маки, либо платные и при этом недоступны в России, либо разваливались на простом вопросе — а что с устройством, если агент две недели просидел офлайн. Ближе всего в этом поиске подобрался Fleet — серьёзный открытый проект, к нему я ещё вернусь ниже. Но развернуть его у себя оказалось тем ещё квестом: я в России, а fleetdm на российский IP не але, так что и сервер, и сборку агентов приходилось поднимать через VPN. Вдобавок агент на macOS в моём случае вставал через раз, а то и вовсе не ставился. Инструмент, который в итоге получился, я назвал RoutineOps; дальше по тексту буду говорить «агент», «сервер» и «панель».</p><p>Ещё одно соображение, которое я держал в голове: базовую защиту управляющего канала — mTLS, аудит, вменяемую политику паролей, подпись обновлений — я считаю БАЗОЙ, и держать её за пейволлом мне казалось неправильным. Это моё мнение, не претензия к рынку. Проект в итоге открыт под Apache-2.0; платный уровень существует, но вся базовая защита — в открытой части, и это не тема статьи.</p><h3>Почему постоянный gRPC/mTLS-канал, а не опрос через VPN</h3><p>Вечная головная боль: как дотянуться до ноутбука, который сейчас сидит в кафе за чужим NAT. Классических ответов два, и оба мне не понравились. Загнать всех в VPN — это лишняя инфраструктура и ещё одна точка отказа. Сделать агент, который раз в N минут дёргает HTTP-эндпоинт «не прилетело ли чего», — это шторм пустых запросов, а задержка команд упирается в период опроса.</p><p>Я пошёл третьим путём. Агент — Go-бинарь, который держит постоянный gRPC-стрим поверх mTLS наружу, по обычному интернету. Соединение инициирует сам агент: оно исходящее, а значит дружит с NAT. По этому же двунаправленному стриму сервер в любой момент проталкивает команду — запусти скрипт, заблокируй экран. Задержка доставки тут — это задержка сети, а не интервал, на который выставлен опрос.</p><p>Стек намеренно скучный — скучное не будит меня в три ночи.</p><p>- Агент и сервер — Go, сервер монолитом, без зоопарка микросервисов.</p><p>- Связь — gRPC + Protocol Buffers поверх mTLS: TLS 1.3, приватный CA с пиннингом на всём канале агентов.</p><p>- База — PostgreSQL 16, источник правды.</p><p>- Очередь задач — Redis + Asynq, с ретраями.</p><p>- Веб-интерфейс — React + TypeScript (Vite), раздаётся nginx-контейнером.</p><p>- Развёртывание — Docker Compose.</p><p>Порты минимальны: `443` — веб-интерфейс, REST API, enroll, отдача бинарей; `50051` — постоянный gRPC-канал агентов. Postgres и Redis наружу не торчат вообще. На парк до 50 устройств хватает 1 vCPU / 2 GB RAM / 20 GB SSD — и это стартовая планка. Heartbeat дешёвый, инвентарь редкий, поэтому один узел спокойно тянет тысячи устройств: предел задаёт железо машины, не архитектура.</p><h3>Сертификат — это идентичность, и всё</h3><p>Самый важный архитектурный вопрос: как агент доказывает, что он именно то устройство, за которое себя выдаёт. Ответ короткий. `device_id` — это CN клиентского сертификата, и только он. Идентификаторам в теле сообщений сервер не верит вообще. Прилетел heartbeat, а внутри указан чужой `device_id`? Игнорируется. Значение имеет одно — чем подписан TLS-хендшейк.</p><p>Отсюда и enrollment, устроенный так, чтобы приватный ключ устройства никогда не покидал устройство:</p><p>1. Админ в панели заводит устройство и получает одноразовый токен: TTL 24 часа, single-use, гонка при погашении закрыта на уровне БД.</p><p>2. Агент локально генерирует пару ключей и отправляет CSR на `POST /api/v1/enroll`.</p><p>3. Сервер подписывает сертификат своим приватным CA и сам проставляет CN. Повлиять на свой CN агент не может.</p><p>Подделать чужое устройство без его ключа не выйдет — и не потому, что «мы проверяем поля», а потому, что проверять тут в принципе нечего. Криптография здесь вырезает целый класс авторизационной логики. Решение нравится мне тем, что после него кода становится меньше.</p><h3>Вывод из эксплуатации — это отзыв сертификата</h3><p>Раз идентичность держится на сертификате, то и снятие устройства с учёта — операция того же уровня, а не косметика в списке. «Вывести из эксплуатации» прямо из карточки отдаёт агенту команду на полное самоудаление: служба, бинарь, ключи, локальное состояние. Удаление из инвентаря при этом отзывает сертификат — и устройство, с которого агент по каким-то причинам не ушёл, обратно не «воскресает»: его хендшейк отваливается на сервере, потому что предъявлять ему больше нечего.</p><p>Enrollment подтянулся туда же. Токены выписываются пачкой, есть список выданных, отзыв любого до истечения TTL и отдельная секция «выдан, но так и не подключился». После раскатки на два десятка машин именно этот список отвечает на вопрос, какие из них до сервера не доехали.</p><h3>Heartbeat и инвентаризация разведены нарочно</h3><p>Наивно было бы слить всё в один поток: раз в минуту слать полный отчёт о железе и заодно сообщать, что жив. На парке это дорого и бессмысленно — список установленного софта не меняется каждые тридцать секунд. Поэтому потока два, независимых.</p><p>Heartbeat — лёгкий и частый, примерно раз в 30 секунд, по постоянному стриму; по нему же едут задачи. Дёшево, потому что данных в нём кот наплакал. Инвентаризация — тяжёлая и редкая, примерно раз в 5 минут: ОС, железо, серийник, установленное ПО (на Linux — из dpkg/rpm/pacman/apk), версия агента.</p><p>Такое разделение держит постоянный канал дешёвым при любом размере парка. Если устройство пропало с радаров и heartbeat не приходит дольше порога (порог настраивается через `AGENT_UNREACHABLE_MINUTES`) — поднимается алерт `agent_unreachable`, с подавлением дребезга от сна и modern standby, иначе каждый закрытый на ночь ноут спамил бы в Tele... <b>Max</b> :).</p><p>Результаты скриптов идемпотентны. У каждого запуска есть `run_id`, и повторная доставка дедуплицируется на сервере. Связь рвётся, ack теряется, агент шлёт результат заново — без этой механики ловил бы дубли, а на неидемпотентных командах ещё и двойное исполнение.</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/ebaadeb9-3b63-4fc0-a08e-d3912af1bdc2.webp" alt="" /></figure><h3>Скрипты, группы и вопрос «а на скольких машинах это сейчас так»</h3><p>Разовый запуск скрипта — самое простое, что можно сделать с постоянным каналом, и самое бесполезное в отрыве от остального: выбирать устройства мышкой нормально ровно до тех пор, пока их пятнадцать. Дальше нужны группы. Группа — это членство, цвет и точка привязки: к ней цепляются скрипт- и софт-политики, на неё же уходит фан-аут разового запуска.</p><p>У скрипт-политик три триггера: расписание (cron), при подключении агента и по событию. Третий появился из практики — реакция на «поставили запрещённое» полезна в момент установки, а не в ближайшие плановые три часа ночи. Софт-политики — правила allowed/forbidden по устройству, группе или платформе; они же кормят алерты: увидел агент в инвентаре то, чего быть не должно — прилетело событие.</p><p>А поверх этого — то, чего мне больше всего не хватало в чужих инструментах: по каждой политике видно охват и Pass / Fail. На сколько устройств она распространяется и сколько из них ей соответствуют. Политика без счётчика соответствия — не политика, а благое пожелание, лежащее в базе.</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/e940b58d-ffbf-4eae-a419-901d9125c9a4.webp" alt="" /></figure><h3>Агенту не нужна постоянная связь</h3><p>Постоянный канал удобен, но агент не должен превращаться в кирпич, стоит серверу отвалиться. Cron-скрипт-политики крутит локальный планировщик прямо на устройстве: сервер лёг на обновление — политики по расписанию всё равно отработают.</p><p>Сложнее всего с блокировкой экрана. В офлайне полноэкранный overlay держится, а разблокировка идёт по локально хранимому bcrypt-хешу пароля — ходить за ней к серверу не нужно. Это осознанный компромисс: если бы разблокировка требовала сервер, любой обрыв связи превращал бы блокировку в невозможность войти в систему — а это уже хуже самой угрозы. Результаты и события тем временем копятся локально и досылаются, когда связь вернётся.</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/c183f28c-3607-4280-a27e-051fa8b5b2a2.webp" alt="" /></figure><h3>Обход блокировки — это тоже событие</h3><p>Оверлей держится офлайн, но живёт он на машине, у пользователя которой есть руки. Поэтому у службы агента есть tamper-protection: на Windows — SafeBoot плюс реестр, на macOS — флаг `schg`. На Linux её нет, и это записано в docs/tamper-protection.md прямым текстом, а не подразумевается. Штатное снятие защиты — отдельная процедура, а не «убил процесс и пошёл дальше».</p><p>Попытка снять блокировку в обход службы поднимает событие ИБ. Логика та же, что и везде выше: при физическом доступе к железу механику рано или поздно обойдут — но пусть обход хотя бы не будет тихим. Не остановить, так зафиксировать.</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/6b4624b3-1ada-499d-bd44-9b6e7cbccb12.webp" alt="" /></figure><h3>Временные админ-права — без поездки к машине</h3><p>Бытовой, но постоянный сценарий: пользователю нужно поставить программу, которая требует прав администратора. Раньше это значило либо дойти до машины ногами, либо подключиться к ней удалённо и вбить админский пароль руками — и так на каждую установку.</p><p>Теперь пользователь запрашивает временные локальные админ-права прямо из трея агента, я одобряю заявку в панели — и он ставит нужное сам, а по истечении срока повышение снимается. Ни подходить к машине, ни поднимать удалённую сессию ради одной инсталляции не надо. Мелочь на фоне остальной механики, но именно из таких мелочей и складывалось то самое «здраво администрировать парк», ради которого всё и затевалось.</p><figure><img src="https://media.tproger.ru/user-uploads/139596/2026-07-27/28911031-666f-41ad-8784-cd9bb5dafb62.webp" alt="" /></figure><h3>Конфигурация как код — потому что кликать второй раз я не хотел</h3><p>Банальность, которая доходит не сразу: скрипты, политики и группы, собранные мышкой, существуют ровно в одной базе на одном сервере. Поднять рядом стенд — значит проклацать всё заново, а потом гадать, чем он от боевого отличается.</p><p>Поэтому появился CLI `routineops` с YAML-экспортом и применением: выгрузил скрипты, политики и группы в файлы, положил в git, применил на другом сервере. Diff конфигурации теперь читается в ревью, а не реконструируется по журналу аудита задним числом.</p><h3>Fail-closed self-update и миграции</h3><p>Самообновление — самый опасный канал из всех. Тот, кто им рулит, кладёт свой бинарь на все устройства как root. Поэтому здесь всё fail-closed. Примерно раз в 6 часов агент тянет манифест и проверяет sha256 и ed25519-подпись по полному манифесту: версия, ОС, архитектура, хеш подписаны одним набором сразу. Так нельзя подсунуть валидный бинарь под чужую версию или платформу. Дальше агент атомарно заменяет себя и перезапускается. Даунгрейд невозможен — есть anti-rollback floor: битый релиз чинится только версией вперёд, назад дороги нет. Приватный ключ подписи уникален для конкретной инсталляции; потеря не катастрофа — новый раздаётся через переэнролл.</p><p>На сервере тот же принцип. Схему накатывает отдельный migrate-сервис — до старта сервера. Не прошла миграция — сервер просто не поднимется на несовместимой схеме. Down-миграций нет, и это намеренно: откат — только из бэкапа, причём бэкап БД update.sh снимает сам перед каждым обновлением. Пережить факап из снапшота я предпочту тому, чтобы полагаться на корректность down-скрипта, накатываемого поверх наполовину применённого состояния.</p><h3>Модель доверия: god-mode by design</h3><p>А вот тут льстить не буду — и это, пожалуй, самая важная часть текста. MDM по своей природе — это god-mode над парком. Скрипт-канал исполняет произвольный `bash -c` / `powershell -Command` как root/SYSTEM на каждом устройстве. Это не дыра, которую я забыл заткнуть. Это и есть продукт: весь смысл MDM в том, чтобы раскатать одну команду на сотню машин разом. А такой инструмент по определению — санкционированный RCE.</p><p><b>Скажу прямо.</b></p><p>- Подписи на скрипт-канале нет. И не будет. Ed25519-подпись защищает только канал самообновления — анти-тампер и анти-даунгрейд бинаря. Она никак не ограничивает то, что вы запускаете на устройствах. Тезис «скомпрометированный сервер не сможет выполнить код на парке» — неверное прочтение. Ещё как сможет: выполнение произвольного кода на парке — это его штатная функция.</p><p>- `JWT_SECRET` (симметричный HS256) — единственный корень доверия панели. Кто прочитал этот секрет, тот печатает себе сколько угодно валидных admin-токенов. Не «подобрать пароль», не «обойти MFA» — просто сгенерировать подписанный токен и зайти админом.</p><p>- Отсюда единственный вывод: реальный периметр безопасности — это хост, на котором крутится сервер. Не TLS, не RBAC, не аудит. Они важны, но вторичны. Увели сервер — увели весь парк.</p><p>Харденинг этого хоста — работа оператора, и в SECURITY.md под неё лежит чеклист: SSH только по ключам, наружу открыты только два порта, Postgres и Redis — на localhost, `JWT_SECRET` генерируется через `openssl rand -base64 48` и лежит в режиме `600`, панель — за VPN или IP-allowlist, аудит-лог — в append-only хранилище с алертом на появление новых админов.</p><p>Я специально не прячу этот раздел в мелкий шрифт. Любой MDM устроен ровно так же — просто не каждый проговаривает это вслух. Мне важно, чтобы человек ставил такой инструмент с открытыми глазами: в безопасности честность — это техническое свойство, а не тон голоса.</p><h3>Что закрыто по умолчанию</h3><p>Периметр — на операторе. Но всё, что можно закрыть кодом, закрыто по умолчанию, без единой галочки:</p><p>- Не стартует на слабом секрете. Требует `JWT_SECRET` от 32 байт и минимум 16 различных байт. Случайно уехать в прод на `changeme` не получится.</p><p>- Admin-JWT живёт 8 часов. Logout реально ревокирует токен через jti-блоклист. Смена или сброс пароля обнуляет все ранее выданные токены пользователя разом — через token-epoch.</p><p>- Lockout по IP и по аккаунту, bcrypt cost 12. Форма входа не выдаёт, какие аккаунты вообще существуют.</p><p>- Политика сложности пароля — для всех, включая seed-админа: от 8 символов, минимум 3 класса символов из 4. Даже первый администратор не заведётся с `admin/admin`.</p><p>- RBAC на две роли — `it_admin` (всё) и `viewer` (только чтение), с проверкой на сервере. Viewer, дёрнувший мутирующий эндпоинт прямо из DevTools, упрётся в 403 ещё на сервере.</p><p>- API-токены — отдельная сущность, а не админская сессия. Выпуск и отзыв из панели: интеграции ходят под своим токеном, и выключается такой доступ одним действием.</p><p>- Плюс одноразовые enroll-токены, журнал аудита на каждое привилегированное действие (retention по умолчанию 365 дней), security-заголовки (HSTS/CSP/X-Frame-Options/nosniff), rate-limit и cap на размер запроса.</p><p>Ни одна из этих механик не спасёт скомпрометированный хост — см. раздел про модель доверия. Они закрывают то, что реально можно закрыть на уровне приложения, и не притворяются, что закрывают больше.</p><h3>Мелочи, из которых на самом деле состоит эксплуатация</h3><p>Отдельного раздела каждая из них не заслуживает, но вместе они закрывают вопрос «а как я об этом узнаю»:</p><p>- Удалённая перезагрузка устройства или всей группы. Отсрочку отсчитывает сама ОС, а не таймер внутри агента: агент может умереть, ребут — нет.</p><p>- «Пользователь за консолью» в карточке. Кто прямо сейчас сидит за машиной. Без этого половина алертов повисает в воздухе.</p><p>- Владелец устройства — карточка человека. ФИО и почта, без аккаунта в панели и приглашения. Владелец — свойство железа, а не пользователь системы, и смешивать эти сущности я не стал.</p><p>- Расширенный инвентарь ПО: издатель, путь, архитектура, ключ снятия, машина/профиль. Инвентарь, по которому не отличить системную установку от пользовательской, для софт-политик бесполезен.</p><p>- `agent diag` на устройстве. Первый вопрос в поле всегда один — «почему агент не выходит на связь», и отвечать на него по логам сервера бессмысленно: сервер как раз ничего и не видит.</p><p>- Пагинация и серверные фильтры в списках устройств и в аудите. Скучно, но на 365 днях журнала это разница между инструментом и вечно думающей вкладкой.</p><h3>Честные ограничения</h3><p>Раз обещал честность — вот граница, без прикрас.</p><p>- Один узел — одна точка отказа. Для парка в режиме «поставил и работает» этого достаточно, но иллюзий про отказоустойчивость держать не стоит.</p><p>- Нет SSO и MFA. Вход по паролю плюс RBAC. Пока разумно держать панель за VPN или allowlist.</p><p>- macOS .pkg не подписан Apple. По двойному клику встретит Gatekeeper — ставится через `installer` из терминала.</p><p>- Скрипт-канал — это RCE by design. Подробно — в разделе про модель доверия выше.</p><p>- Интерфейс только на русском. Около 2000 строк захардкожены в компонентах, библиотеки локализации нет. Английский вторым языком — ближайший приоритет: публичный репозиторий с русским интерфейсом отсекает всех внешних.</p><p>- Оверлея блокировки на Linux нет. Состояние блокировки хранится, экрана нет.</p><p>- Запрещённое ПО детектится, но не удаляется. Алерт есть, автоматического устранения — нет.</p><p>- Под Windows нет сборки arm64. Для Linux и macOS arm64 есть.</p><h3>Про Fleet</h3><p>Ближайший открытый аналог, который я смотрел, — Fleet, тоже open source, ядро под MIT. Инструмент серьёзный и зрелый, и во многом он сильнее моего: настоящий нативный MDM с профилями конфигурации и zero-touch-энроллментом, live-запросы osquery по всему парку, расчёт на масштаб в сотни тысяч машин. Построен вокруг osquery, инфраструктура — MySQL плюс Redis за балансировщиком, под горизонтальное масштабирование.</p><p>Под мой случай он просто не сошёлся по устройству. Чтобы реально управлять маками, Fleet опирается на нативный Apple MDM — а это APNs-сертификат от Apple с ежегодным продлением плюс Apple Business Manager для zero-touch. Мне не нужна была SQL-аналитика по всему парку; нужен был лёгкий агент, офлайн-лок без APNs, инвентарь и скрипты. А поверх этого архитектурного несовпадения легли те самые бытовые проблемы с развёртыванием из России и капризным macOS-агентом, о которых я писал в начале.</p><h3>Чему это меня научило</h3><p>Самое неожиданное в проекте — что львиная доля инженерных решений оказалась не про «как добавить», а про «как убрать». Идентичность через CN вырезала целый класс серверной авторизации; fail-closed на миграциях и обновлениях — ветки «а что если накатилось наполовину». Разведённые heartbeat и инвентарь сняли лишний трафик. А карта модели доверия избавила меня самого от иллюзии, будто TLS и RBAC — это и есть безопасность. Настоящий периметр оказался в одном месте — на хосте сервера.</p><p>Исходники я открыл под Apache-2.0; прямую ссылку на репозиторий оставлю <a href="https://github.com/Floodww/RoutineOps" rel="nofollow">тут</a> :). Если вам будет интересно я бы с радостью пообщался по замечаниям именно по модели доверия — по местам, где приложение должно что-то enforce-ить, но не делает.</p>]]></content:encoded>
    </item>
    <item>
      <title>PixelSmash: в FFmpeg нашли 16-летнюю уязвимость, позволяющую выполнить код через видеофайл</title>
      <link>https://tproger.ru/news/pixelsmash-v-ffmpeg-nawli-16-letnyuyu-uyazvimost-pozvolyayushhuyu-vyp</link>
      <comments>https://tproger.ru/news/pixelsmash-v-ffmpeg-nawli-16-letnyuyu-uyazvimost-pozvolyayushhuyu-vyp?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/pixelsmash-v-ffmpeg-nawli-16-letnyuyu-uyazvimost-pozvolyayushhuyu-vyp</guid>
      <description><![CDATA[<p>В FFmpeg нашли уязвимость PixelSmash CVE-2026-8461. Достаточно видеофайла — и злоумышленник получит контроль. Разбираем, кто под угрозой и как защититься.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/pixelsmash-v-ffmpeg-nawli-16-letnyuyu-uyazvimost-pozvolyayushhuyu-vyp">PixelSmash: в FFmpeg нашли 16-летнюю уязвимость, позволяющую выполнить код через видеофайл</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 27 Jul 2026 08:19:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если ваше приложение обрабатывает видео через FFmpeg — проверьте его сейчас. Исследователи безопасности JFrog раскрыли уязвимость <b>PixelSmash</b>, которая пролежала в коде 16 лет и позволяет выполнить произвольный код, просто подсунув жертве вредоносный видеофайл.</p><p>PixelSmash — это критическая уязвимость в декодере MagicYUV медиафреймворка FFmpeg. Она получила идентификатор CVE-2026-8461 и оценку CVSS 8.8. Ошибка представляет собой запись за пределы выделенной памяти (heap out-of-bounds write) и затрагивает все приложения, которые используют FFmpeg для декодирования видео.</p><p>Уязвимость <b>CVE-2026-8461</b> в FFmpeg оценена в <b>CVSS 8.8</b>.</p><p>Баг находился в коде <b>16 лет</b> и затрагивает декодер MagicYUV.</p><p>Для атаки достаточно специально сформированного видеофайла — без прав и аутентификации.</p><p>Под угрозой плееры, медиасерверы, мессенджеры, облачные транскодеры и бытовые NAS.</p><p>Проверить систему можно командой ffmpeg -decoders | grep magicyuv.</p><h2>Где опасность</h2><p>Уязвимость опасна именно масштабом. MagicYUV включён по умолчанию во всех протестированных дистрибутивах — Ubuntu, Debian, Fedora, Arch, Alpine — до FFmpeg 9.0. Проблема проявляется не только в видеоплеерах, но и в файловых менеджерах, генерирующих миниатюры, медиасерверах, мессенджерах и облачных транскодерах.</p><p>Для эксплуатации не нужны ни права, ни аутентификация, ни предварительный доступ к системе. Достаточно, чтобы приложение попыталось декодировать вредоносный AVI, MKV или MOV размером около 50 КБ. Исследователи JFrog показали полную цепочку атаки: удалённое выполнение кода на Jellyfin через автоматическое сканирование библиотеки и на Nextcloud через провайдер превью видео.</p><ul><li><b>Десктоп</b>: Kodi, mpv и другие плееры; миниатюры в файловых менеджерах.</li><li><b>Серверы</b>: Jellyfin, Emby, Nextcloud, Immich.</li><li><b>Мессенджеры</b>: Slack, Discord, Telegram.</li><li><b>Облако</b>: AWS MediaConvert, Cloudflare Stream и другие транскодинговые конвейеры.</li><li><b>IoT и NAS</b>: Synology, QNAP, smart TV и любые устройства, генерирующие превью.</li></ul><h2>Как проверить</h2><p>Проверить наличие уязвимого декодера можно одной командой. Если в выводе есть строка VFS..D magicyuv, ваш FFmpeg подвержен уязвимости.</p><p>В случае положительного результата обновитесь до версии с патчем или пересоберите FFmpeg без декодера.</p><h2>Как защититься</h2><ul><li>Обновите FFmpeg до версии, содержащей исправление.</li><li>Если обновление невозможно, пересоберите FFmpeg с флагом --disable-decoder=magicyuv.</li><li>На серверах отключите автоматическую обработку загружаемых видео, где это не критично для бизнеса.</li><li>Проверьте все устройства с FFmpeg: NAS, медиасерверы, IoT и контейнеры.</li></ul><p>JFrog опубликовала минимальный патч для libavcodec/magicyuv.c. Он отклоняет искажённые значения slice_height, которые вызывают запись за пределы буфера. Корректный кодировщик MagicYUV всегда выдаёт выровненные значения, поэтому патч не ломает легитимные файлы.</p><h2>FAQ</h2><h2>Выводы</h2><p>PixelSmash — очередное напоминание о том, что foundation-библиотеки вроде FFmpeg работают под капотом огромного числа приложений. Один баг в кодеке, пролежавший 16 лет, одновременно угрожает десктопным плеерам, облачным транскодерам и бытовым NAS. Лучшая защита — своевременное обновление и аудит зависимостей.</p><p>Источник: <a href="https://www.infoq.com/news/2026/07/pixelsmash-vulnerability/">JFrog Security Research / InfoQ</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться</title>
      <link>https://tproger.ru/articles/svoya-self-hosted-dvuhservernaya-vpn-arhitektura-podrobnyj-put-r</link>
      <comments>https://tproger.ru/articles/svoya-self-hosted-dvuhservernaya-vpn-arhitektura-podrobnyj-put-r?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Роман Фролов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/svoya-self-hosted-dvuhservernaya-vpn-arhitektura-podrobnyj-put-r</guid>
      <description><![CDATA[<p>Проект представляет из себя быстрый способ воссоздать архитектуру состоящую из 2 серверов (локальный + удаленный) с определенными сервисами, которые решают специфические задачи. Проект сделан прежде всего для меня, а также для людей которые хотят свой готовый self-hosted сервер из коробки с полной системой обслуживания</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/svoya-self-hosted-dvuhservernaya-vpn-arhitektura-podrobnyj-put-r">Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Тестирование]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[unix]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[Музыка]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[DIY]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Навыки]]></category>
      <category><![CDATA[VPN]]></category>
      <category><![CDATA[Telegram]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[Cloudflare]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[Redis]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[Мессенджер]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[NFT]]></category>
      <category><![CDATA[Машин]]></category>
      <category><![CDATA[1C]]></category>
      <category><![CDATA[DeFi]]></category>
      <category><![CDATA[Grafana]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[VPS]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 26 Jul 2026 15:46:26 GMT</pubDate>
      <content:encoded><![CDATA[<p>Всё
 началось с того, что меня перестал устраивать мой подход к 
развертыванию личных сервисов. Я решил переписать всё с нуля. К тому же 
это был отличный повод получить новые навыки и попробовать инструменты, 
до которых давно не доходили руки.</p><p>Арендовать мощные VPS под 
ресурсоемкие задачи в текущих реалиях выходит неоправданно дорого. При 
этом дома у меня уже был выделенный неттоп (мини-ПК) с 16 ГБ оперативной
 памяти на базе энергоэффективного процессора Intel N95.</p><p>Пройдя 
путь от простых Bash-скриптов и сторонних туннелей до полностью 
автоматизированной инфраструктуры, я создал проект ServeHub-2. В этой 
статье я подробно разберу, как эволюционировала сеть проекта, почему 
декларативный подход победил императивный и с какими неочевидными багами
 пришлось столкнуться в процессе автоматизации.</p><h2>История настройки сетевой архитектуры</h2><h3>Использование Tuna</h3><p>В
 самом начале проекта я еще не думал о VPN как о способе пробития NAT и 
основе, на которой будет строиться вся система. Первое, к чему я пришел —
 сервис Tuna. Если кратко, это аналог Cloudflare Tunnel за условные 300 
рублей. У него очень приятный веб-интерфейс и невероятно простая 
настройка. Однако для полноценной независимой архитектуры он не подошел 
по двум причинам:</p><ul><li>Сервера Tuna находятся вне контроля пользователя.</li><li>На удаленном сервере нельзя развернуть свои сопутствующие сервисы.</li></ul><p>В целом сервис действительно удобный, но для моих задач он оказался слишком ограничивающим.</p><p>Вот
 пример конфига для tuna (все максимально просто, создаем контейнеры для
 ssh туннеля, чтобы был доступ ssh, а также основной http туннель с 
привязкой к nginx или любому другому прокси если такой есть):</p><h3>В поисках гибкости: тесты Pangolin и переход к FRP</h3><p>После Tuna я решил двигаться в сторону собственного контроля и попробовал Pangolin.
 Однако решение быстро отвалилось: для дешёвого сервера оно оказалось 
слишком «тяжёлым» и избыточным. Главные минусы — ощутимый оверхед по 
ресурсам и лишний слой принудительной веб-аутентификации перед самими 
сервисами. Это ломало нормальное взаимодействие с родными мобильными 
клиентами (вроде Element для Matrix или Bitwarden для паролей), где 
повторная авторизация в браузере просто не нужна.</p><p>На смену пришел FRP (Fast Reverse Proxy).
 Он выполнял ту же функцию проброса, но хостил я его уже на собственном 
арендованном VPS в режиме Layer 4 (TCP). Это дало абсолютную гибкость: 
внешний VPS не заглядывал внутрь пакетов и ничего не расшифровывал, а 
просто пересылал сырой поток домой. Кроме того, это отлично 
оптимизировало расходы: вместо 300 рублей за Tuna и ещё 300 рублей за 
отдельный VPN, я стал платить всего 500 рублей за один стойкий VPS, 
который мог настраивать как хочу. (к тому же можно было обойтись даже 
дешевле, так как VPS с 4 гб оперативки загружен всего лишь на 40%, 
процессор всего на 20%-40%)</p><p>FRP состоит из 2 конфигурационных 
файлов (один на удаленном сервере frp server, другой на локальном frp 
client), все также довольно просто, однако его можно использовать на 
разных слоях. У меня он брал трафик за стандартный TCP и передавал его 
на локальный сервер.</p><p>Также доп. фишка в том что основная 
конфигурация происходит именно в frpc, который, в свою очередь, передает
 часть настроек на frp на удаленном сервере.</p><p>frpc.toml:</p><p>frps.toml:</p><h3>Полноценный переезд на WireGuard (AmneziaWG) и 8 часов отладки</h3><p>Со временем архитектура эволюционировала в сторону полноценной VPN-сети на базе WireGuard, а точнее — его модификации AmneziaWG. Причин для этого шага было несколько:</p><ul><li>Безопасность: FRP всё же открывал внутренние ресурсы в публичный интернет, оставляя их доступными для сканеров портов.</li><li>Удобство маршрутизации:
 Все участники сети стали равноправными узлами в одной виртуальной 
локальной подсети. Больше не нужно было настраивать постоянные 
односторонние пробросы.</li><li>Дополнительный бонус:
 Поскольку удаленный VPS был куплен в Нидерландах, через этот же VPN я 
автоматически получил безопасный доступ ко всем зарубежным ресурсам.</li></ul><p>Для реализации схемы на удаленном VPS был развернут контейнер wg-easy с поддержкой AmneziaWG, а на домашнем мини-ПК — клиентский контейнер Amnezia (сборка из Dockerfile с использованием amnezia-tools  и модулем ядра хоста).</p><p>И
 именно здесь я поймал самый изнурительный баг проекта. После 
развертывания трафик упорно шёл только в одну сторону. Часов 8 ушло на 
диагностику iptables, маршрутов и чтение зарубежных форумов (что 
бесполезно, учитывая специфику наших блокировок). Оказалось, провайдер 
просто дропал обратный трафик стандартного WireGuard, так как пакеты шли
 без маскировки. Причина крылась в docker-compose.yml: у меня было прописано image: ghcr.io/wg-easy/wg-easy:latest. Как выяснилось, тег latest  на Docker Hub намертво прилип к старой 14-й версии, а поддержка параметров AmneziaWG появилась только в ветке 15.x. Изменение тега на конкретную версию (15.3) решило проблему за секунду.</p><p>Благодаря
 переходу конфигурация получилась максимально простой, основные отличия 
от стандартной документации выделил в коде: (в основном то, на что 
пришлось долго рыть информацию)</p><h3>Настройка Nginx</h3><p>Чтобы
 сервисы были доступны исключительно внутри подсети VPN, я задействовал 
Nginx. Доступ к приложениям был жестко ограничен на уровне конфигурации —
 веб-сервер принимает запросы только из диапазона IP-адресов 10.8.0.0/24. Любые попытки постучаться на сервер из внешнего интернета без активного VPN-туннеля автоматически сбрасываются Nginx.</p><p>Логика
 распределения завязана на proxy-протоколе: Nginx на удаленном VPS 
выступает основным входным узлом, принимает зашифрованный трафик, 
заворачивает его в заголовки с реальным IP-адресом клиента и через 
туннель перекидывает на локальный Nginx домашнего сервера. Локальный 
веб-сервер уже сам расшифровывает SSL и распределяет трафик по конечным 
Docker-контейнерам, сохраняя реальные IP в логах безопасности.</p><p>Вставлю
 один кусок кода из nginx на удаленной машине для примера, так все 
остальное примерно похоже (конфиги использовались в виде .template):</p><h3>SSL-сертификаты</h3><p>Для получения валидных SSL-сертификатов я настроил работу через автоматический Certbot по challenge-валидации DNS-01 c API Webnames. Сам домен привязан к внутреннему IP-адресу 10.8.0.1.
 Проверка через DNS позволила выпустить единый wildcard-сертификат на 
весь домен и его поддомены без необходимости держать открытым 80-й порт 
веб-сервера наружу.</p><p>Уточню, что certbot запускается автоматически 
во время выполнения Ansible плейбука, поэтому самому кроме указания 
переменных ничего делать не нужно.</p><p>В
 итоге получилась схема, при которой все сервисы доступны по красивым 
доменным именам с HTTPS, но абсолютно невидимы для внешнего интернета.</p><p>Вот настройка certbot:</p><h2>История софта</h2><p>Параллельно
 с сетевой структурой развивался и сам набор приложений. Изначально я 
хотел собрать в одном месте утилиты, которыми пользуюсь каждый день, но в
 процессе селфхостинга быстро понимаешь: нельзя просто накидать 
контейнеров и надеяться, что мини-ПК справится, а конфигурационные файлы
 не превратятся в кашу.</p><h3>Первый стек и оптимизация</h3><p>Первыми на домашнем сервере прижились медиа-сервисы: Navidrome для стриминга музыки и Audiobookshelf
 для аудиокниг и подкастов. Они легковесные, имеют отличные мобильные 
клиенты с синхронизацией прогресса и полностью закрывают мои 
потребности. Позже к ним добавился Nextcloud как единое независимое облако для файлов, контактов и семейных документов.</p><p>Затем встал вопрос безопасного хранения паролей. Сначала я смотрел в сторону оригинального Bitwarden, но в итоге я выбрал Vaultwarden
 — альтернативный сервер на Rust, полностью совместимый с API Bitwarden.
 Он потребляет считанные мегабайты оперативной памяти и работает 
идеально. Дополнительно для удобства управления всей этой распределенной
 Docker-инфраструктурой в локальный стек был добавлен Portainer. (+ Portainer Agent на удаленный сервер)</p><p>Из интересных моментов, где мне пришлось немного больше возиться, чем с остальными сервисами это nextcloud настройка:</p><h3>Ошибки проектирования: почему я удалил Matrix (Synapse)</h3><p>Не все решения прошли проверку временем. На этапе использования Tuna и FRP я развернул сервер Matrix (Synapse)
 для защищенного обмена сообщениями. Мне казалось это крутой идеей, но 
когда я окончательно перешел на AmneziaWG, целесообразность мессенджера 
внутри закрытого туннеля сошла на нет.</p><p>Synapse требовал слишком 
много ресурсов, впустую расходовал оперативку домашнего ПК и усложнял 
конфиг Nginx. При этом реальной пользы для семьи он не приносил. Для 
критических алертов инфраструктуры и повседневного общения проще и 
эффективнее оказалось использовать Telegram. (плюс алертинг настроен 
именно через него) В итоге я полностью выпилил Synapse из стека, 
освободив ресурсы.</p><p>Вместо него я добавил в связку к wg-easy локальный AdGuard Home.
 Теперь он работает прямо внутри VPN-сети: очищает весь трафик от 
рекламы и трекеров на лету, кэширует DNS-запросы и не дает истории 
веб-серфинга улетать внешним провайдерам.</p><p>Основной проблемой с 
которой я столкнулся при использовании AdGuard Home, так это то что я 
так и не понял как заставить использовать AmneziaVPN клиент AdGuard как 
основной DNS, при этом AmneziaWG работает прекрасно. Как я понимаю дело в
 том что AmneziaWG работает намного проще на уровне ip и у него нету 
никаких доп фильтров, настроек и подобного, поэтому он просто берет 
данные из конфига.</p><h3>От костылей на Bash к декларативному Ansible</h3><p>Весь
 стек на обоих серверах разворачивался через bash скрипты, что было уж 
очень плохо с точки зрения идемпотентности. Во первых из-за bash мне 
постоянно приходилось очищать сервера, так как нормальных проверок у 
меня не было и писать я их не хотел, а также было много костылей с 
импортом переменных, записями в файлы и подобным.</p><p>Так я пришел к декларативному подходу и Ansible.
 Теперь вся конфигурация описывается в виде плейбуков и ролей, 
отражающих конечное желаемое состояние серверов. Конфиденциальные данные
 перенесены в файл secrets.yml, а хрупкие конструкции 
автоматизированы через шаблоны Jinja2. Проект стал идемпотентным: если 
шаги уже выполнены, Ansible их просто пропускает.</p><p>В итоге 
получилось несколько yaml файлов для стандартной настройки системы 
(bootstrap_os.yml) и для настройки каждого из хостов (setup_local.yml и 
setup_remote.yml). В итоге теперь все что нужно чтобы полностью с нуля 
развернуть проект - скачать Ansible, несколько других зависимостей на 
свой рабочий пк и запустить один manage_deploy.sh, в котором можно будет
 выбрать сценарий как будет вести себя Ansible и спокойно дождаться 
разворачивания сервисов.</p><p>Также благодаря Ansible я удобно 
реализовал переносимость проекта. Так как я решил не использовать тома 
docker, и вместо этого храню все в папках, чтобы перенести старые данные
 проекта нужно просто скопировать папку apps-data и положить ее в нужное
 место и все само заработает после повторного развертывания проекта. В 
Ansible выделяется отдельная пауза для этого.</p><p>Вот пример основного плейбука deploy.yml:</p><h3>Тестирование мультидистрибутивности с помощью Vagrant</h3><p>Проект
 изначально затачивался под работу на трех дистрибутивах: Ubuntu, Debian
 и Arch Linux. Тестировать Ansible-плейбуки прямо на рабочей локальной 
машине (в моем случае — EndeavourOS) слишком рискованно, а создавать 
виртуальные машины руками — долго и неудобно.</p><p>Решением стал Vagrant,
 позволяющий за пару минут развернуть чистые ОС в VirtualBox из готовых 
образов. Но в процессе настройки мультивендорного стенда в режиме 
сетевого моста (public_network) всплыли две критические проблемы:</p><ol><li>Конфликт DNS:
 По умолчанию Vagrant создает NAT-интерфейс для управления нодой. При 
включении второго (публичного) интерфейса для локальной сети ломался 
дефолтный DNS-резолвер. Проблему пришлось решать принудительной очисткой
 и перезаписью файла /etc/resolv.conf через inline-скрипт автоматизации Vagrant.</li><li>Проблема с GRUB на Debian: В используемом базовом образе generic/debian12
 конфигурация GRUB сохраняла жесткую привязку к конкретному имени диска 
из окружения сборщика. При повторном развертывании плейбуков на тестовом
 стенде это приводило к сбоям загрузчика. Чтобы автоматизировать 
очистку, пришлось внедрить скрипт, который на лету определяет имя 
системного диска через lsblk и автоматически передает правильные параметры в загрузчик через утилиту debconf-set-selections.</li></ol><p>Вот код Vagrantfile: (в node.vm.provision происходит основное решение ошибок)</p><p>Надежная система бэкапов на базе BorgmaticДля создания резервных копий я внедрил Borgmatic
 (удобную надстройку над дедуплицирующим инструментом Borg Backup). Весь
 процесс автоматизирован с помощью связки системных юнитов borgmatic.service и borgmatic.timer. В бэкап уходят две ключевые директории: apps-data (конфигурации приложений и баз данных) и PersonalData (медиатека: музыка, книги, подкасты, файлы Nextcloud).</p><p>Развертывание
 системы бэкапов полностью берет на себя Ansible. Мне достаточно указать
 UUID внешнего жесткого диска — скрипт сам проверит его наличие в 
системе, примонтирует в нужную директорию, создаст зашифрованный 
репозиторий и настроит политику ротации (хранение 7 ежедневных, 4 
еженедельных и 6 ежемесячных копий). Также в Prometheus выведен 
мониторинг самого репозитория .borg для отслеживания его размера и статуса успешности архивации.</p><p>Главная
 проблема при бэкапе работающих Docker-контейнеров — риск скопировать 
базу данных в «битом» или неконсистентном состоянии, если в момент 
создания архива в нее шла активная запись. Чтобы решить эту проблему, я 
задействовал механизм хуков в конфигурации Borgmatic.</p><p>Перед началом резервного копирования автоматически срабатывает команда остановки контейнеров проекта (docker-compose down),
 а после успешного завершения (или в случае возникновения непредвиденной
 ошибки) контейнеры автоматически поднимаются обратно в фоновом режиме. 
Для удобного просмотра архивов и быстрого восстановления файлов я 
развернул веб-интерфейс Borg UI.</p><p>Конфигурация borgmatic: (использую как Jinja2 шаблон, чтобы Ansible в плейбуках сам подставил переменные)</p><h2>Наблюдаемость (Observability) уровня Enterprise</h2><p>В последних релизах (v1.2.0 и v1.3.0) фокус проекта сместился на мониторинг и работу с логами.</p><h3>Эволюция алертинга и переход на Gatus</h3><p>Изначально для мониторинга доступности я смотрел на Uptime Kuma, но отказался из-за отсутствия удобной декларативной настройки через конфиги. Затем я развернул связку Blackbox Exporter и Alertmanager
 с уведомлениями в Matrix. Но тут крылась логическая несостыковка: весь 
алертинг был завязан на локальном ПК, и в случае его аппаратного отказа я
 бы просто лишился уведомлений.</p><p>Тогда я решил вернуть Uptime Kuma,
 но развернуть его на удаленном VPS в качестве внешнего «сторожа» и 
автоматизировать его настройку через Python-скрипт с библиотекой uptime-kuma-api. Но и тут ждали «грабли» — библиотека не обновлялась три года и намертво ломалась на свежих версиях Kuma.</p><p>В итоге идеальным решением стал Gatus.
 Он изначально проектировался под управление через YAML-конфиги и 
поддерживает отправку алертов, если сервер не отвечает. Из-за специфики 
фронтенда Gatus (он не умеет работать из подкаталога типа /gatus), мне пришлось перенести его и wg-easy на полноценные субдомены gatus. и wireguard.</p><p>Для Gatus получился простой конфиг:</p><p>Для мониторинга аппаратных ресурсов удаленного и локального серверов была развернута связка node-exporter + cAdvisor. Все уведомления теперь приходят мгновенно в Telegram-бота. Чтобы 
избежать лавины одинаковых сообщений (например, при перезагрузке хоста),
 в Alertmanager настроена жесткая группировка и дедупликация событий. 
Также добавлен экспортер для AdGuard Home, выводящий статистику 
заблокированных запросов в Grafana.</p><h3>Централизованные логи: Loki + Grafana Alloy</h3><p>В релизе v1.3.0 в стек была добавлена централизованная система сбора логов Loki. Вместо устаревшего Promtail в качестве агента сбора я применил Grafana Alloy.</p><p>Он
 эффективно собирает логи со всех запущенных Docker-контейнеров, парсит 
их и передает в Loki. Теперь вся история событий, ошибок веб-сервера 
Nginx или падений внутренних приложений доступна в едином интерфейсе 
Grafana с возможностью удобной фильтрации через LogQL, что значительно 
упрощает отладку.</p><p>Конфиг Loki:</p><p>Конфиг Grafana Alloy: (локальный конфиг)</p><h2>Интерфейс: переход на Homepage</h2><p>Изначально для 
домашней страницы я написал кастомную минималистичную HTML-панель с 
Glassmorphism-дизайном. Выглядело это красиво, но добавлять новые 
сервисы вручную через постоянную правку исходного кода было крайне 
неудобно.</p><figure><img src="https://media.tproger.ru/user-uploads/139471/2026-07-15/8a8f2752-8aac-4aa5-898e-98affd01cdff.webp" alt="" /><figcaption>HTML + CSS</figcaption></figure><p>В итоге я заменил самописную страницу на полноценный комьюнити-проект Homepage.
 Это дало некоторую гибкость: вся панель настраивается через простые 
YAML-файлы и поддерживает встроенные виджеты интеграции. Пока что она 
простенькая, но возможно в будущем сделаю что-то более продвинутое.</p><figure><img src="https://media.tproger.ru/user-uploads/139471/2026-07-15/90c65d4a-1310-4a30-b1ad-9e4d3083959d.webp" alt="" /><figcaption>Homepage</figcaption></figure><h2>Заключение</h2><p>Постарался
 подробно рассказать о структуре проекта и как я к этому пришел, очень 
много я не добавил, если пост зайдет, то я обязательно более подробно 
пройдусь по некоторым моментам: как я настраивал Matrix и на каком 
моменте я решил его убрать, как собирал локальный amnezia 
контейнер-клиент, что нового я добавил в релизе 1.4.0 и другое.</p><p>Также
 я перешел с manage_deploy.sh на отдельный GUI клиент, который 
будет полностью автоматизировать процесс подготовки к deploy. (написан на Go Wails). Про это тоже возможно сделаю статью.</p><p>Вся кодовая база проекта, подробная документация, инструкции по развертыванию открыты и доступны для сообщества:</p><p>🔗 GitHub-репозиторий: <a href="https://github.com/canntstand/ServeHub-2" rel="noopener noreferrer nofollow">https://github.com/canntstand/ServeHub-2</a></p><p>Это
 моя первая статья на этом сайте и в то же время первый личный проект, которому я 
отдал так много времени (3 месяца). Буду рад вашему фидбеку в 
комментариях!</p>]]></content:encoded>
    </item>
    <item>
      <title>xAI открыла код Grok Build после утечки SSH-ключей и репозиториев</title>
      <link>https://tproger.ru/news/xai-otkryla-kod-grok-build-posle-utechki-ssh-klyuchej-i-repozitorie</link>
      <comments>https://tproger.ru/news/xai-otkryla-kod-grok-build-posle-utechki-ssh-klyuchej-i-repozitorie?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/xai-otkryla-kod-grok-build-posle-utechki-ssh-klyuchej-i-repozitorie</guid>
      <description><![CDATA[<p>xAI выложила Grok Build под Apache 2.0 после того, как агент загружал репозитории с SSH-ключами в облако. Разбираем, что произошло и что делать.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/xai-otkryla-kod-grok-build-posle-utechki-ssh-klyuchej-i-repozitorie">xAI открыла код Grok Build после утечки SSH-ключей и репозиториев</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 25 Jul 2026 06:51:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>xAI, компания Илона Маска, <a href="https://github.com/xai-org/grok-build" rel="noopener">выложила на GitHub</a> полный исходный код терминального ИИ-агента Grok Build. Релиз произошёл через три дня после того, как исследователь обнаружил: инструмент автоматически выгружал целые репозитории пользователей — SSH-ключи, файлы окружения и личные документы — в облачное хранилище xAI.</p><p><b>Grok Build</b> — это консольный помощник для разработчиков, способный читать файлы, редактировать код и выполнять команды в терминале. Ранее он работал только как проприетарный сервис, а теперь его можно собрать локально и подключить к собственному серверу вывода.</p><p>Исследователь Cereblab перехватил трафик Grok Build 0.2.93 и обнаружил загрузку 5,1 ГБ в корзину Google Cloud — в 27 800 раз больше, чем требовала задача.</p><p>В выгрузку попадали файлы, которые агент никогда не открывал, а также неотредактированные credentials из .env и SSH-ключи.</p><p>xAI отключила сервер загрузки 13 июля, а 15 июля опубликовала код под Apache 2.0.</p><p>Компания обещает удалить ранее загруженные данные, но не раскрывает масштаб утечки.</p><p>По данным издания DevOps.com, исследователь под псевдонимом Cereblab использовал mitmproxy, чтобы перехватить сетевой трафик версии 0.2.93. Тестовый репозиторий объёмом 12 ГБ привёл к передаче около 192 КБ полезного трафика, но параллельно в корзину grok-code-session-traces ушло 5,1 ГБ в 73 частях. Внутри оказались файлы, не связанные с текущей задачей, включая SSH-ключи, базу паролей, личные документы и фотографии.</p><p>Переключатель «Improve the model» не влиял на поведение: загрузка шла независимо от настроек приватности. Это противоречит маркетинговым заявлениям xAI о том, что во время сессии код не покидает компьютер пользователя. 13 июля серверную сторону отключили без security advisory, а Илон Маск пообещал «полностью и безвозвратно» удалить все ранее собранные данные.</p><p>Открытый код позволяет аудировать, что именно агент делает с доступом к файловой системе. Но внешние пул-реквесты не принимаются: это релиз прозрачности, а не сообщество-driven проект. Кроме того, открытие исходников не объясняет, зачем существовал скрытый канал и у кого из сотрудников xAI был доступ к собранным данным.</p><h2>Что делать разработчикам</h2><ul><li>Если до 13 июля запускали Grok Build на репозиториях с живыми credentials — смените пароли, SSH-ключи и токены.</li><li>Проверяйте сетевую активность любых агентов с доступом к файловой системе через инструменты вроде mitmproxy.</li><li>Запускайте ИИ-агентов в изолированном окружении с ограниченными правами.</li><li>Требуйте от вендора письменной политики обработки данных до развёртывания инструмента.</li></ul><blockquote>Инцидент с Grok Build показывает, что кодовые агенты — это неконтролируемые нечеловеческие идентификаторы с постоянным доступом к коду, учётным данным и инфраструктуре, но программы безопасности всё ещё управляют ими как обычным инструментом разработчика. Публикация исходного кода после факта не заменяет доказуемые средства контроля безопасности.</blockquote><p>Источник: <a href="https://devops.com/xai-open-sources-grok-build-coding-agent-after-cloud-upload-exposes-ssh-keys-repos/" rel="noopener">DevOps.com</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>ИИ в ИБ: где он реально работает, а где — просто модный ярлык</title>
      <link>https://tproger.ru/articles/ii-v-ib-gde-on-realno-rabotaet-a-gde-prosto-modnyj-yarlyk</link>
      <comments>https://tproger.ru/articles/ii-v-ib-gde-on-realno-rabotaet-a-gde-prosto-modnyj-yarlyk?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лена Ф]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/ii-v-ib-gde-on-realno-rabotaet-a-gde-prosto-modnyj-yarlyk</guid>
      <description><![CDATA[<p>Что скрывается за словом «ИИ» в ИБ-продуктах: правила корреляции, ML или LLM? Реальные кейсы, честные ограничения и вопросы вендору перед покупкой.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/ii-v-ib-gde-on-realno-rabotaet-a-gde-prosto-modnyj-yarlyk">ИИ в ИБ: где он реально работает, а где — просто модный ярлык</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Машинное обучение]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 23 Jul 2026 10:12:22 GMT</pubDate>
      <content:encoded><![CDATA[<p>Еще три года назад словосочетание «искусственный интеллект» в информационной безопасности встречалось в основном в презентациях крупных вендоров. Сегодня ситуация изменилась. Практически любой продукт на рынке так или иначе использует AI (ИИ), ML, LLM или другие аббревиатуры, связанные с искусственным интеллектом.</p><p>Если верить маркетинговым материалам, современные решения способны самостоятельно выявлять атаки, расследовать инциденты, прогнозировать угрозы и почти заменить аналитиков SOC. И когда заказчик слышит слово «ИИ», то ожидает почти универсального цифрового эксперта. Но после внедрения оказывается, что чудес не произошло, ведь за громкими заявлениями часто скрываются совершенно разные технологии, где рядом с генеративными языковыми моделями «сидят» классическая корреляция событий или машинное обучение.</p><p>Давайте разберемся, где искусственный интеллект действительно помогает специалистам по ИБ, а где пока остается скорее маркетинговым ярлыком.</p><p>Причины этого понятны:</p><ul><li>Рынок ИБ испытывает серьезный кадровый дефицит, и найти опытного аналитика SOC, специалиста по расследованию инцидентов или эксперта по threat hunting становится все сложнее.</li><li>Бизнес постоянно ищет способы повысить эффективность и сократить расходы.</li><li>Вендоры заинтересованы в том, чтобы показать свои продукты максимально инновационными.</li></ul><p>На стыке этих факторов рождается опасное ожидание: технология продается как надежда, а значит, достаточно купить решение с пометкой «ИИ», и значительная часть проблем безопасности исчезнет сама собой. Технологии действительно помогают, но исполняют не все обещания и некоторые предвыборные обещания остаются нереализованными.</p><p>Но сначала уточним…</p><h2>Что сегодня называют ИИ в ИБ</h2><p>Проблема ложных ожиданий рождается из одной простой уловки: вендоры намеренно стирают границы между разными технологиями, называя всё одним модным словом «ИИ». Чтобы понять, где нас обманывают, давайте на секунду станем занудами и разведём понятия по полочкам.</p><h3>№1. Классические правила корреляции</h3><p>Они присутствуют, к примеру, в SIEM-системах. SIEM-система может сработать, если пользователь вошёл в сеть ночью, получил административные права и начал выгружать данные. Но никакого искусственного интеллекта в них нет, а есть заранее заданные правила.</p><p>Для аналитика SOC разница между правилами и ИИ — это не академический спор, а вопрос выживания смены. Когда система позиционируется как «с ИИ», ожидания у всех выше: «Она должна видеть больше, понимать контекст, снижать шум». А по факту это те же правила корреляции, только с новым интерфейсом.</p><p>Я видел, как из-за этой подмены понятий росла нагрузка: команда ждала от системы большей самостоятельности, а вместо этого получала те же алерты плюс дополнительные вопросы от руководства. В итоге коллеги тратили время не на расследование инцидентов, а на объяснение, почему ИИ не делает того, чего от него ждут.</p><p>Да, правила корреляции — это база SOC. Они закрывают огромный пласт типовых угроз и делают это надёжно. Но давайте называть вещи своими именами: это не ИИ — это грамотная инженерия. И именно на этой базе мы строим реальную защиту, а не на красивых словах.</p><h3>№2. Машинное обучение</h3><p>Система анализирует большой массив исторических данных и формирует модель нормального поведения. Затем ищет отклонения от этой нормы.</p><p>Я сам экспериментировал с ML-модулем в одном из решений: подключили, обучили, запустили в пилот. Вендор обещал «снижение шума на ХХ процентов» и раннее обнаружение сложных атак.</p><p>Первые две недели только и разбирали срабатывания. Да, система честно находила аномалии: кто-то зашёл с нестандартного устройства, кто-то скачал чуть больше обычного. Но из 1000 алертов за неделю реальными инцидентами оказались ровно два. Остальное — это были легитимные процессы: работа аутсорс-команды, временные права и пр.</p><p>Этот пилот всех быстро приземлил, и стало понятно, что это не «умная кнопка», а инструмент, который нужно долго калибровать под конкретную инфраструктуру.</p><h3>№3. Генеративный ИИ</h3><p>Это уже языковые модели. Они умеют анализировать текст, писать запросы, формировать отчёты и помогать специалистам взаимодействовать с системами безопасности.</p><p><b>Проблема в том, что в маркетинговых презентациях все три технологии часто называют одним словом — ИИ.</b> Поэтому первое, что стоит выяснить при выборе продукта: какая именно технология используется «под капотом».</p><p>И самое главное — нельзя верить обещаниям без цифр. Нужно требовать от вендоров не красивые слайды, а реальные метрики, например долю ложных срабатываний (FP), время на валидацию одного алерта и процент реально выявленных инцидентов. Иначе всё это просто слова в презентации.</p><p>А «предвыборные обещания» вендоров утомляют. Но не потому, что я против прогресса, а потому, что они создают иллюзию безопасности — и эта иллюзия опасна.</p><p>Когда CISO согласует решение «с ИИ» за 20+ млн рублей, ожидая, что оно закроет дыру в защите, а на деле там обычная корреляция по трём правилам, страдает не просто бюджет. Страдает реальная защищённость компании. И расхлёбывать последствия придётся живым людям: аналитикам, инженерам, тем, кто не верит в чудо-кнопки.</p><p>Не нужно продавать надежду как технологию. Технологии действительно помогают, но исполняют не все обещания. Давайте посмотрим, какие предвыборные обещания остаются нереализованными.</p><h2>Где маркетинг пока опережает технологии</h2><p>Ниже — четыре главных «обещания», которые я слышу слишком часто.</p><h3>Обещание №1. ИИ сам найдет неизвестные атаки</h3><p>Это один из самых популярных тезисов на рынке, и формально он не является ложью, так как современные решения класса UEBA, NDR, XDR и некоторые SIEM действительно способны выявлять аномалии, которые сложно обнаружить вручную.</p><p>Представим ситуацию:</p><ul><li>Сотрудник бухгалтерии никогда не подключался к корпоративной сети ночью.</li><li>Он не использует PowerShell.</li><li>Он не работает с серверами.</li></ul><p>Внезапно в три часа ночи его учётная запись входит через VPN, запускает PowerShell и начинает обращаться к нескольким серверам. Каждое действие по отдельности может не выглядеть подозрительно. Но алгоритм машинного обучения видит отклонение от привычного поведения пользователя и формирует инцидент. Здесь технология действительно работает.</p><p>Однако есть важный нюанс. Система выявляет аномалию, а не атаку. Возможно, это злоумышленник. А возможно, сотрудник ИТ-службы временно использовал учётную запись для проведения работ.</p><p>Именно поэтому окончательное решение всё равно принимает аналитик.</p><p>Пример с ситуацией выше я добавил не случайно. Пару лет назад я сам столкнулся с такой ситуацией, когда тревога пришла по учётной записи, которая вообще не должна была «светиться» ночью (классика для заголовка «ИИ поймал хакера»).</p><p>А реальность оказалась банальнее: обычный рабочий процесс, просто оформленный как атака. Да, система поймала аномалию и формально была права. Но реакция на неё могла стоить компании простоя, срыва отчётности и нервотрёпки всей команде.</p><p>Этот случай показал, что самая опасная вещь в ИБ — иллюзия, будто технология уже закрыла проблему. Система честно сделала свою работу — нашла аномалию. Но именно человек должен решить, что с ней делать. И если мы будем считать, что ИИ уже всё решил, мы сильно рискуем.</p><h3>Обещание №2. Автоматическое расследование сложных инцидентов</h3><p>Многие производители заявляют, что их ИИ способен самостоятельно расследовать инциденты. Частично это правда.</p><p>Система может собрать логи, построить таймлайн и показать цепочку событий. Но полноценное расследование требует понимания бизнес-контекста.</p><p>Представим производственную компанию: нарушитель получил доступ к инженерной станции и начал движение в сторону технологического сегмента. ИИ способен показать подозрительную активность, но он не знает:</p><ul><li>какие системы критичны;</li><li>какие подрядчики сейчас работают на объекте;</li><li>какие последствия вызовет отключение оборудования.</li></ul><p>Без этого контекста расследование невозможно завершить автоматически.</p><h3>Обещание №3. ИИ заменит аналитиков SOC</h3><p>Ооо, это одно из самых популярных заблуждений!</p><p>Причина его популярности понятна — SOC испытывают постоянную нехватку кадров, а атаки <a href="https://tass.ru/ekonomika/27589617" rel="nofollow">усложняются</a>. Но если посмотреть на реальные проекты, становится очевидно: сегодня ИИ выступает скорее помощником аналитика.</p><p>Например, современные платформы могут автоматически:</p><ul><li>группировать связанные события;</li><li>удалять часть ложных срабатываний;</li><li>собирать контекст по инциденту;</li><li>формировать черновики отчётов;</li><li>предлагать возможные сценарии реагирования.</li></ul><p>Всё это серьёзно снижает нагрузку на специалистов.</p><p>Однако представим реальный инцидент: компания обнаруживает подозрительную активность на сервере, обслуживающем интернет-магазин. ИИ собирает артефакты и сообщает о возможной компрометации. И дальше возникает целый ряд вопросов:</p><ul><li>Можно ли отключить сервер прямо сейчас?</li><li>Сколько клиентов потеряют доступ к сервису?</li><li>Есть ли резервная площадка?</li><li>Какие финансовые потери возникнут в случае остановки?</li></ul><p>Ответов на эти вопросы в логах нет.</p><p>Это не делает систему плохой: она честно ловит отклонения. Но это делает нашу работу сложнее: приходится тратить время на проверку легитимных действий, потому что контекст «так договорились» в модель не заложен.</p><p>Именно поэтому я не верю в «автоматическое обнаружение неизвестных атак» без участия человека. Алгоритмы видят цифры, а мы видим людей и процессы. И пока эти две картины не совпадают, аналитик остаётся незаменимым ключевым участником процесса.</p><h3>Обещание №4. Разработка стратегии безопасности</h3><p>Ещё один популярный сценарий. Допустим, компания оказывает услуги аутсорсинга, участвует в тендерах, работает с персональными данными и обязана использовать российское ПО. Если попросить языковую модель разработать стратегию ИБ, результат будет выглядеть весьма убедительно: появятся рекомендации по управлению рисками, мониторингу, обучению сотрудников и контролю доступа.</p><p>Однако модель не знает:</p><ul><li>ограничений бюджета;</li><li>особенностей корпоративной культуры;</li><li>реальных рисков бизнеса;</li><li>требований ключевых клиентов или акционеров.</li></ul><p>В итоге получится хороший шаблон. Но стратегия безопасности всегда требует участия человека.</p><p>Однажды я видел подобное: на стол руководству ложилась «стратегия ИБ», сгенерированная языковой моделью. Всё выглядело солидно: разделы, термины, формулировки, даже матрица рисков. На первый взгляд это готовый документ, который можно отправить «наверх».</p><p>А вот начинаешь копать под реальные процессы — и всё рассыпается, потому что модель не знает, что у нас аутсорс-разработка, часть команд работает в часовых поясах +7, бюджет на ИБ ограничен, а инфраструктура требует отдельного контура с шифрованием. Если бы внедряли всё это вслепую, получили бы либо неработающие процессы, либо постоянные конфликты между безопасностью и бизнес-подразделениями.</p><p>Это как дать штурману универсальный маршрут, не зная, где мели и штормы на твоём пути. Я не против использовать ИИ для черновиков и структуры. Но финальная стратегия должна быть подписана человеком, который готов отвечать за её реализацию. Иначе это не стратегия, а шаблон.</p><h2>Где ИИ действительно приносит пользу</h2><p>Читая предыдущий раздел, может сложиться впечатление, что я концептуальный враг искусственного интеллекта. Это, конечно же, не так.</p><p>ИИ в ИБ — это не волшебная палочка, которая заменит человека, а мощный экскаватор. Бесполезно пытаться копать им траншею в цветочном горшке (как в случае со стратегией), но на правильной стройке он творит чудеса, поэтому я бы хотел показать, где ИИ реально отрабатывает свою стоимость.</p><h3>Антифрод</h3><p>Если искать область, где технологии доказали свою эффективность, то это финансовый сектор.</p><p>Я работаю с антифрод-системами уже больше 8 лет. В 2018 году это были в основном правила и скоринговые модели. Система смотрела на совокупность параметров: сумму, страну, тип устройства. Если транзакция не укладывалась в жёсткие рамки, то срабатывало правило, а если укладывалась — пропускалась. И этого хватало ровно до тех пор, пока мошенники не научились обходить эти рамки.</p><p>Помню кейс: крупная нелегитимная операция прошла, потому что была разбита на несколько переводов чуть ниже порога срабатывания. Модель честно посчитала их нормальными, а по факту это была эксфильтрация.</p><p>К 2026 году антифрод стал принципиально другим. Это уже не просто набор правил, а карнавал моделей, которые видят не отдельные признаки, а паттерны кликов, скорость заполнения форм, отклонения от привычного ритма и нюансы взаимодействия с приложением.</p><p>Сейчас антифрод-система способна распознать мошенничество, даже если сумма не превышает лимитов, а IP выглядит правильно. Она ловит не одну странность, а совокупность мелких аномалий, которые раньше проходили незамеченными.</p><p>Антифрод-система анализирует десятки факторов одновременно: локацию, тип операции, историю поведения клиента и прочее. И если, например, клиент банка пенсионного возраста в 13:00 оплатил продукты в магазине рядом с домом, а в 14:00 купил что-то на 180 000 рублей в интернет-магазине посредством только что установленного мобильного приложения с IP-адресом Нью-Йорка, то такая операция блокируется. И здесь, как никогда, полезен ИИ.</p><p>Разница между 2018 и 2026 годами огромна — это переход от «защиты по порогам» к «защите по профилю». И этот переход был не про маркетинг, а про реальную необходимость: угрозы стали умнее, и защита должна была стать умнее тоже.</p><h3>Поведенческая аналитика</h3><p>Ещё один хороший пример — системы класса UEBA.</p><p>Представим системного администратора:</p><ul><li>В среднем он скачивает около 200 МБ данных в день.</li><li>Работает в стандартное время.</li><li>Подключается только из корпоративной сети.</li></ul><p>За неделю до увольнения он начинает регулярно заходить ночью и выгружает 40 ГБ архивов с файлового сервера.</p><p>Каждый признак сам по себе может быть допустимым. Но вместе они формируют серьёзную аномалию. Система выявляет отклонение от исторического профиля пользователя и уведомляет службу безопасности.</p><p>Именно в таких сценариях машинное обучение показывает лучшие результаты.</p><h3>Генеративный ИИ для аналитиков</h3><p>Отдельно стоит упомянуть современные языковые модели. Многие вендоры уже внедряют их в свои платформы. Например, аналитик может написать: «Покажи все подключения к внешним IP-адресам с сервера бухгалтерии за последние сутки». Система самостоятельно сформирует необходимый запрос.</p><p>Или другой пример. Аналитик получает сложное правило обнаружения атаки и просит систему объяснить его простым языком. Модель формирует понятное описание логики работы этого правила.</p><p>Это не выглядит революцией. Но экономия времени весьма заметна.</p><h3>Корреляция больших объемов событий</h3><p>И, пожалуй, самый успешный сценарий применения технологий.</p><p>Современная инфраструктура генерирует миллионы событий ежедневно, и человек физически не способен обработать такой объём информации. Алгоритмы же могут находить взаимосвязи между событиями, разделёнными днями или даже неделями. Именно поэтому многие современные SIEM- и XDR-платформы используют элементы машинного обучения.</p><h2>Как отличить реальный ИИ от маркетинговой наклейки</h2><p>Итак, мы выяснили, с чем ИИ отлично справляется, — к примеру, там, где требуется анализ больших объёмов данных, выявление аномалий и автоматизация рутинных операций.</p><p>Однако между возможностями технологий и ожиданиями рынка до сих пор существует заметный разрыв. ИИ хорошо помогает специалистам, но пока не способен заменить понимание бизнеса, опыт аналитика и выстроенные процессы безопасности. Поэтому при выборе решений стоит смотреть не на количество упоминаний ИИ в презентации, а на конкретную задачу, которую технология помогает решить.</p><p>Как отсечь маркетинг от инженерии на этапе покупки? <b>Когда вы видите рекламный баннер ИБ-продукта с ИИ (который, кстати, тоже сгенерирован ИИ),</b> какие вопросы нужно задать, чтобы не купить кота в мешке?</p><figure><img src="https://media.tproger.ru/user-uploads/115144/2026-07-23/fb2e487c-990a-4605-9bc1-007eca1dc303.webp" alt="" /></figure><p>Есть несколько простых вопросов:</p><ul><li>Какая именно технология используется?</li><li>На каких данных обучалась модель?</li><li>Какие показатели улучшились после внедрения?</li><li>Как эти показатели измерялись?</li><li>Есть ли реальные кейсы заказчиков?</li></ul><p>Если поставщик не может дать понятные ответы на эти вопросы, существует высокая вероятность того, что перед вами не революционная технология, а маркетинговый ярлык.</p><p><b>И в помощь также оставлю сравнительную таблицу: «Маркетинг vs реальность». Надеюсь, эти материалы помогут вам принять правильное решение.</b></p><figure><img src="https://media.tproger.ru/user-uploads/115144/2026-07-23/5f5fc282-8535-449d-b7d6-59076dc4c4b4.webp" alt="" /></figure>]]></content:encoded>
    </item>
    <item>
      <title>Почему бэкап есть, а восстановиться не получится: разбор точек отказа</title>
      <link>https://tproger.ru/articles/pochemu-bekap-est-a-vosstanovitsya-ne-poluchitsya-razbor-tochek-o</link>
      <comments>https://tproger.ru/articles/pochemu-bekap-est-a-vosstanovitsya-ne-poluchitsya-razbor-tochek-o?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дима Дмитриев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/pochemu-bekap-est-a-vosstanovitsya-ne-poluchitsya-razbor-tochek-o</guid>
      <description><![CDATA[<p>89% кибератак целят в бэкапы, но лишь 8% компаний тестируют восстановление. Разбираем 5 точек отказа, правило 3-2-1-1-0 и почему DR не спасает от шифровальщика.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/pochemu-bekap-est-a-vosstanovitsya-ne-poluchitsya-razbor-tochek-o">Почему бэкап есть, а восстановиться не получится: разбор точек отказа</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 22 Jul 2026 05:00:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>В 2025 году 89% кибератак целились не в продакшен, а в резервные копии. При этом регулярно тестируют восстановление только 8% компаний. Получается, что бэкап у всех есть, а уверенность, что из него получится подняться, мало кто проверял.</p><h2>Что показывает статистика</h2><p>Компания Linx вместе с сообществом Global CIO в конце прошлого года опросила руководителей, которые отвечают за развитие IT-инфраструктуры, из компаний в 27 городах России и СНГ. В выборке 15 отраслей, больше всего – производство, банки и торговля. Картина такая.</p><p>С потерей выручки из-за простоев сталкивались все опрошенные компании без исключения. 69% ловят перебои еженедельно, 14% – ежедневно. То есть речь не о случайных форс-мажорах, а о регулярном фоне, который может случиться в любой момент. При этом устойчивой к сбоям свою инфраструктуру считает только каждая пятая компания.</p><p>Формальный план аварийного восстановления есть у многих, но два респондента из пяти признались, что не проводят реальных тестов вообще, и только один из пяти сочетает документированную DR-стратегию с регулярными проверками. Идеальная частота тестирования – раз в квартал, так делают 8% опрошенных. Половина ограничивается тестом раз в полгода или в год.</p><p>Дальше самое показательное. Когда авторы исследования сопоставили ответы, выяснилось: у половины компаний, которые не тестируют восстановление, оно и не сработало, когда понадобилось. Всего по выборке 19% не уложились в заданные временные рамки, ещё 15% потеряли данные, некоторые так и не восстановились полностью.</p><p>Восстанавливаться приходится чаще: только 15% компаний ни разу не поднимались из бэкапа. Основные причины банальные – ошибки сотрудников и сбои оборудования. Атаки шифровальщиков только на третьем месте, но у них своя специфика: злоумышленники уже поняли, что бить надо по резервным копиям, поэтому большинство атак направлено именно на их шифрование или уничтожение. Защищённые от изменений хранилища при этом используют 32% компаний.</p><p>Чем дольше простой, тем хуже прогноз. 93% компаний, которые теряют данные больше чем на 10 дней, в течение года подают на банкротство.</p><h2>Бэкап и DR решают разные задачи</h2><p>Термины часто смешивают, поэтому договоримся о понятиях.</p><p>Бэкап отвечает на вопрос «есть ли у нас копия данных» – это процесс создания копий продуктивных данных на отдельном носителе: если рабочие данные повреждены или уничтожены, из копии можно восстановиться. Копии обычно держат на локальной площадке для оперативного восстановления и дополнительно выносят на удалённую, чтобы пережить сбой площадки целиком.</p><p>DR, он же disaster recovery, отвечает «как быстро поднимутся наши системы, если площадка выйдет из строя» – данные постоянно реплицируются на резервную площадку, и там по сути живёт копия критически важных информационных систем. Если основная площадка надолго отключилась или утрачена совсем, нагрузка переезжает на резервную.</p><p>Оба процесса оперируют двумя метриками:</p><ul><li>RPO –  сколько данных бизнес готов потерять без критичных последствий.</li><li>RTO – за какое время системы должны вернуться в нормальный режим.</li></ul><p>Общее правило простое: чем меньше эти показатели, тем дороже их обеспечивать, причём дорожают и технические средства, и организация процессов.</p><p>DR окупается, когда RTO измеряется десятками минут, а терять данные больше чем за одну-две минуты нельзя. Бэкапов достаточно, когда защищать нужно сами данные, а не работающие системы: вернуться на несколько точек назад, пережить шифровальщика, восстановить всё в консистентном состоянии. На практике подходы комбинируют: mission critical системы закрывают через DR, остальное восстанавливают из бэкапов помедленнее.</p><p>Всё это описывается в DRP, плане аварийного восстановления. Это формализованный документ, где прописаны не только технические меры, но и организационные: кто принимает решение о переключении на резервную площадку, кто какие действия выполняет, как часто план тестируется и обновляется.</p><h2>Пять мест, где ломается восстановление</h2><p>Если вы думаете, что раз бэкап есть, с восстановлением всё хорошо, то на деле бэкап подтверждает только наличие копии. А восстановление – это цепочка, где кроме копии есть порядок запуска, зависимости между компонентами, авторизации, интеграции и люди, которым нужно время. Проверять надо всю цепочку, и вот пять проверок, которые помогают найти разрыв заранее.</p><ol><li>Переживут ли копии тот же инцидент. Мы уже касались этого на уровне одного сервера, но правило масштабируется. Если все копии лежат в одном ДЦ, в одном облаке или под одним контуром администрирования, полноценной устойчивости нет. Важно оценить независимость резервной площадки и убедиться, что там будут связь и ресурсы для восстановления.</li><li>Сверены ли RTO и RPO с реальностью. Часто эти показатели живут в документах как красивые цели, которые никто не измерял на практике. Если в DRP записан час, а фактическое восстановление занимает восемь, об этом надо узнать до аварии. Полезно ещё разделять системы по классам критичности, потому что восстанавливать всё одинаково быстро затратно и не всегда обоснованно.</li><li>Описан ли порядок восстановления. Поднять виртуальные машины и поднять работающий сервис не одно и то же. Сервису нужна база данных, рабочая сеть, доступы, внешние интеграции. Если в момент аварии команда выясняет порядок запуска в телеграм-чате, DR-план фактически не работает. Для этого существует runbook: документ с последовательностью действий, ролями и критериями, по которым конкретный человек подтверждает, что сервис восстановлен.</li><li>Продуман ли failover. Заранее нужны ответы на вопросы: кто принимает решение о переключении, хватит ли ресурсов на резервной площадке, чтобы принять нагрузку, готова ли сетевая часть с балансировщиками. И отдельный пункт, про который вспоминают не все, – план возврата.</li><li>Регулярный dry run. DR-план устаревает по умолчанию: появилась новая система, поменялись маршруты, прошла миграция, сменился провайдер, выкатили релиз с новыми зависимостями. Тестовый прогон нужен, чтобы находить расхождения между документом и реальной инфраструктурой. Причём сам по себе прогон ничего не решает: по его итогам в план вносят изменения и сразу назначают дату следующей проверки.</li></ol><h2>Почему DR не спасает от шифровальщика</h2><p>У DR есть слабое место, о котором стоит помнить отдельно. Репликация не разбирает, что она переносит: она добросовестно доставляет на резервную площадку и здоровые данные, и зашифрованные.</p><p>Сценарий выглядит так. Шифровальщик отработал на основной площадке, данные повреждены. Команда решает, что площадка потеряна, и запускает аварийное восстановление. Виртуальные машины на резервной стороне поднимаются в нужном порядке, всё по плану. А потом выясняется, что данные там те же самые: реплика успела уехать уже после шифрования. Формально DR сработал, бизнесу это не помогло.</p><p>Точки восстановления у DR-решений есть, но их заметно меньше, чем у бэкапов. Откатиться далеко в прошлое и получить консистентное состояние исторических данных – задача именно резервного копирования. Поэтому от шифровальщиков DR защищает так себе: может повезти с точкой, а может и нет. Всё упирается в то, от каких рисков вы страхуетесь.</p><h2>Как строить хранение копий</h2><p>Базовая схема известна давно и называется правилом 3-2-1: держать данные минимум в трёх экземплярах – продуктивные плюс две резервные копии. Носители должны быть двух разных типов, чтобы не словить на обеих копиях один и тот же баг прошивки или заводской брак. И хотя бы одна копия должна лежать на удалённой площадке, на случай если с основной что-то случится целиком.</p><p>У правила есть развитие: 3-2-1-1-0. Дополнительная единица означает, что минимум одна копия хранится в неизменяемом виде, а ноль – что восстановление регулярно тестируется. Второе спасает от бэкапа Шрёдингера: копия вроде есть, но из неё ни разу не пробовали восстановиться, поэтому неизвестно, есть ли там вообще пригодные данные. Тестировать можно руками, встроенными средствами системы резервного копирования или отдельными скриптами.</p><p>Неизменяемое хранилище устроено одним из двух способов.</p><ol><li>Первый – отчуждаемые носители: записали на ленту или внешний диск, вытащили, убрали в несгораемый шкаф. Защита получается надёжная, но скорость записи и восстановления низкая, а трудозатраты мешают главному – регулярному тестированию.</li><li>Второй способ – ограничение на уровне прав доступа: данные можно записать один раз и читать сколько угодно, а перезаписать нельзя. Так работает, например, функция Object Lock в S3-совместимых объектных хранилищах: она защищает объекты от случайного и преднамеренного изменения или удаления. Важно понимать границы: объектное хранилище – не система резервного копирования, а удалённый репозиторий, куда система складывает копии.</li></ol><p>Отдельный выбор – как система резервного копирования будет добираться до данных. Агентская схема ставит небольшую программу на каждый сервер и рабочую станцию: агент сидит рядом с данными и даёт гибко управлять копированием и восстановлением, но нагружает CPU и память машины, а парком агентов надо управлять. Безагентская схема работает на уровне гипервизора или отдельным сервером: разворачивается быстро, покрывает много сервисов разом, вся нагрузка остаётся на внешнем сервере. Для маленькой инсталляции обычно удобнее агенты, для большой – безагентский вариант.</p><p>Удалённой площадкой для копий может быть облако – это способ закрыть вопрос без закупки железа и строительства собственной резервной площадки, к тому же облачные провайдеры обычно строят сервисы с оглядкой на требования регуляторов. Один нюанс: восстановление из облака идёт по сети, и на небольших каналах это долго. Поэтому оперативные копии лучше держать поближе к продуктиву, а облачный репозиторий использовать как резерв резерва.</p><p>Собрать такую схему можно на инфраструктуре Linx: у компании есть объектное хранилище с Object Lock, где данные можно защитить так, что их не изменит даже администратор облака, сервис резервного копирования с локальными и удалёнными репозиториями и услуга аварийного восстановления для инфраструктур на VMware. Если у вас Hyper-V, bare metal или другая платформа виртуализации, тот же сценарий закрывается связкой с платформой Hystex, которая переносит нагрузки между разными платформами. Подробности – на<a href="https://linx.ru/"> </a><a href="http://linx.ru">linx.ru</a>.</p><h2>Итого</h2><p>Готовность к аварии проверяется не наличием бэкапа, а измеренным восстановлением. Отсюда план действий:</p><ul><li>Сначала аудит: посчитать, во сколько обходится час простоя и потеря данных, и разбить системы на классы критичности.</li><li>Затем вместе с бизнесом зафиксировать целевые RPO и RTO для каждого класса, спроектировать под них архитектуру и провести тестовое восстановление.</li><li>Полученные цифры сверить с целевыми: если в план заложен час, а по факту выходит восемь, либо меняйте архитектуру, либо честно пересматривайте цели вместе с бюджетом.</li><li>Дальше цикл: обновили план, назначили дату следующего теста.</li></ul><p>Пара вещей, которые стоит сделать независимо от масштаба: минимум одну копию держите в неизменяемом хранилище. И зовите на тестовые восстановления бизнес-пользователей: серверы могут подняться идеально, но подтвердить, что система реально работает и её производительность в норме, могут только те, кто в ней работает каждый день.</p><p>Непроверенный бэкап – не страховка, а гипотеза о страховке. Разница между ними выясняется в худший момент из возможных, и стоит она, если верить статистике, до 93% вероятности банкротства при затяжной потере данных. Тестовое восстановление обходится дешевле.</p>]]></content:encoded>
    </item>
    <item>
      <title>WP2Shell: хакеры атакуют критические уязвимости WordPress</title>
      <link>https://tproger.ru/news/wp2shell-hakery-atakuyut-kriticheskie-uyazvimosti-wordpress</link>
      <comments>https://tproger.ru/news/wp2shell-hakery-atakuyut-kriticheskie-uyazvimosti-wordpress?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/wp2shell-hakery-atakuyut-kriticheskie-uyazvimosti-wordpress</guid>
      <description><![CDATA[<p>WordPress выпустил экстренные патчи 6.9.5 и 7.0.2 для цепочки WP2Shell. Уязвимости позволяют получить контроль над сайтом без авторизации. Проверьте версию CMS.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/wp2shell-hakery-atakuyut-kriticheskie-uyazvimosti-wordpress">WP2Shell: хакеры атакуют критические уязвимости WordPress</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[WordPress]]></category>
      <category><![CDATA[Хакеры]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[CMS]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 21 Jul 2026 08:38:27 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если ваш сайт работает на WordPress 6.9.x или 7.0.x — проверьте версию прямо сейчас. 17 июля 2026 года WordPress выпустил экстренные обновления 6.9.5, 7.0.2 и 6.8.6, закрывающие критическую цепочку уязвимостей WP2Shell. Уже через несколько дней после релиза патчей компании Patchstack, Hexastrike и WatchTowr зафиксировали реальные атаки: злоумышленники получают полный контроль над сайтами без учётной записи и без установленных плагинов.</p><p>WP2Shell — цепочка CVE-2026-63030 и CVE-2026-60137 в ядре WordPress.</p><p>Под угрозой полного удалённого выполнения кода: WordPress 6.9.0–6.9.4 и 7.0.0–7.0.1.</p><p>Атака работает без авторизации на стоковой установке без плагинов и тем.</p><p>WordPress.org применил редкую меру — принудительные автообновления для уязвимых версий.</p><p>Решение: обновиться до 6.9.5, 7.0.2 или 6.8.6 и проверить журналы доступа.</p><h2>Что такое WP2Shell</h2><p>WP2Shell — это комбинация двух багов в ядре WordPress, а не в стороннем плагине или теме. CVE-2026-63030 связана с путаницей маршрутов в пакетном endpoint REST API /wp-json/batch/v1. CVE-2026-60137 — SQL-инъекция в параметре author__not_in компонента WP_Query. По отдельности они серьёзны, вместе дают удалённое выполнение кода от анонимного пользователя.</p><h2>Какие версии под угрозой</h2><p>Полная цепочка RCE работает на WordPress 6.9.0–6.9.4 и 7.0.0–7.0.1. SQL-инъекция CVE-2026-60137 также присутствует в ветке 6.8.0–6.8.5, но там она не превращается в удалённый шелл, поскольку REST API batch endpoint появился только в 6.9. Исправления — версии 6.9.5, 7.0.2 и 6.8.6.</p><h2>Масштаб угрозы</h2><p>По официальной статистике WordPress, уязвимые версии установлены на более чем 400 миллионах сайтов. Исследователь Дэниэл Кард проанализировал выборку около 3500 площадок и оценил долю уязвимых экземпляров менее чем в 15%. Даже при такой оценке речь идёт о десятках миллионах потенциальных жертв.</p><h2>Что делать</h2><ol><li>Проверить версию WordPress в админ-панели или через WP-CLI.</li><li>Обновиться до 6.9.5, 7.0.2 или 6.8.6 в зависимости от текущей ветки.</li><li>Убедиться, что принудительное автообновление действительно применилось.</li><li>Проверить журналы доступа на обращения к /wp-json/batch/v1.</li><li>Если обновление невозможно срочно — временно заблокировать endpoint /wp-json/batch/v1 на WAF.</li></ol><h2>Выводы</h2><blockquote>Атака не требует предварительных условий и может быть использована анонимным пользователем на стоковой установке WordPress без плагинов.</blockquote><p>WP2Shell — редкий случай, когда уязвимость затрагивает ядро CMS, а не стороннее расширение. WordPress.org пошёл на нехарактерный шаг — принудительную доставку патчей, — что говорит о серьёзности угрозы. Если вы администратор сайта на WordPress, обновление до актуальных версий — приоритетная задача.</p><p>Источник: <a href="https://tech.slashdot.org/story/26/07/20/234246/hackers-are-exploiting-recently-patched-wordpress-bugs-putting-millions-of-websites-at-risk">Slashdot</a> (цитирует TechCrunch).</p>]]></content:encoded>
    </item>
    <item>
      <title>Мониторы LG тихо ставят рекламное ПО через Windows Update</title>
      <link>https://tproger.ru/news/monitory-lg-tiho-stavyat-reklamnoe-po-cherez-windows-update</link>
      <comments>https://tproger.ru/news/monitory-lg-tiho-stavyat-reklamnoe-po-cherez-windows-update?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/monitory-lg-tiho-stavyat-reklamnoe-po-cherez-windows-update</guid>
      <description><![CDATA[<p>Мониторы LG через Windows Update ставят LG Monitor App Installer и показывают рекламу McAfee. Узнайте, как отключить автозагрузку и заблокировать установку.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/monitory-lg-tiho-stavyat-reklamnoe-po-cherez-windows-update">Мониторы LG тихо ставят рекламное ПО через Windows Update</a>»</p>]]></description>
      <category><![CDATA[Hardware]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 19 Jul 2026 08:30:19 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если к вашему Windows-ПК подключён монитор LG, проверьте список установленных приложений: система может загрузить рекламный установщик без вашего согласия.</p><p>По данным <a href="https://www.youtube.com/@GamersNexus">Gamers Nexus</a>, при подключении некоторых мониторов LG Windows Update сначала устанавливает пакеты расширений и компонентов производителя, а затем — приложение LG Monitor App Installer. В журнале надёжности Windows оно появляется примерно через минуту, без запроса на скачивание и без диалога согласия.</p><p>LG Monitor App Installer попадает на ПК через Windows Update.</p><p>После загрузки установщик показывает предложение McAfee: 30-дневная пробная версия, которая потом становится платной подпиской.</p><p>Проблема воспроизведена на LG UltraGear 34GX900A-B, но встречается и на старых моделях, например LG UltraFine 32UN880-B.</p><p>Похожий механизм используют Dell и Alienware.</p><p>Заблокировать автозагрузку можно групповой политикой Prevent automatic download... или отключением Microsoft Store.</p><h2>Как это работает</h2><p>Gamers Nexus проверил работу установщика на 32 загрузках системы. В 31 случае на экране появлялось окно с предложением McAfee, в одном — реклама собственной утилиты LG. Поп-ап предлагает 30-дневную пробную версию антивируса, после которой начинается платная подписка.</p><p>Microsoft Store описывает приложение как имеющее доступ к интернету и ко всем системным ресурсам. Пользовательские жалобы на LG Monitor App Installer встречаются ещё с 2024 года, но в последние недели число сообщений резко выросло.</p><blockquote>Мы зафиксировали рекламу McAfee в 31 из 32 загрузок системы после установки приложения.</blockquote><h2>Это только LG?</h2><p>Нет. Dell использует тот же механизм Windows Update, чтобы доставлять Alienware Command Center при подключении совместимого монитора или периферии. <a href="https://www.pcgamer.com/hardware/gaming-monitors/it-looks-like-monitor-manufacturers-can-download-bloatware-without-consent-that-will-serve-you-pop-up-ads/">PC Gamer</a> также отмечал аналогичные жалобы на Alienware.</p><h2>Как отключить</h2><p>Параметр, который нужно включить, называется так:</p><ul><li>Откройте редактор групповых политик: gpedit.msc.</li><li>Перейдите в Computer Configuration → Administrative Templates → System → Device Installation.</li><li>Включите параметр, указанный в код-блоке выше.</li><li>Перезагрузите компьютер, чтобы изменения вступили в силу.</li></ul><p>Альтернатива — отключить Microsoft Store, но тогда перестанут обновляться и другие приложения из магазина.</p><h2>Источники</h2><ul><li><a href="https://videocardz.com/newz/lg-monitors-silently-install-software-through-windows-update-without-user-consent">LG monitors silently install software through Windows Update without user consent — VideoCardz</a></li><li><a href="https://www.pcgamer.com/hardware/gaming-monitors/it-looks-like-monitor-manufacturers-can-download-bloatware-without-consent-that-will-serve-you-pop-up-ads/">It looks like monitor manufacturers can download bloatware without consent — PC Gamer</a></li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Как ограничить расходы на OpenAI API, чтобы ИИ-агенты не сожгли бюджет</title>
      <link>https://tproger.ru/articles/kak-ogranichit-rashody-na-openai-api-chtoby-ii-agenty-ne-sozhgli</link>
      <comments>https://tproger.ru/articles/kak-ogranichit-rashody-na-openai-api-chtoby-ii-agenty-ne-sozhgli?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kak-ogranichit-rashody-na-openai-api-chtoby-ii-agenty-ne-sozhgli</guid>
      <description><![CDATA[<p>Разбираем, как настроить лимиты расходов, алерты и жёсткие ограничения в OpenAI API. Пошаговая инструкция для разработчиков и команд.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kak-ogranichit-rashody-na-openai-api-chtoby-ii-agenty-ne-sozhgli">Как ограничить расходы на OpenAI API, чтобы ИИ-агенты не сожгли бюджет</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 04 Jul 2026 15:34:20 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если ваше приложение или агент работает с <a href="https://openai.com/api/">OpenAI API</a>, один бесконтрольный цикл способен за несколько часов превратить пару долларов в счёт на сотни или тысячи. Хорошая новость: в кабинете разработчика уже есть инструменты, которые не дают бюджету уйти в свободное плавание.</p><p>В этой статье разбираем, как работают usage tiers, мягкие и жёсткие лимиты расходов, алерты и rate limits. И главное — что нужно учесть в коде, чтобы приложение корректно обработало отказ API.</p><p>OpenAI API делит аккаунты на usage tiers: чем больше суммарно оплачено, тем выше месячный потолок расходов.</p><p>В настройках Limits можно задать собственный лимит трат, включить жёсткое ограничение и настроить email-алерты.</p><p>Жёсткий лимит отключает API при превышении бюджета: запросы начинают возвращать ошибку 429.</p><p>Rate limits ограничивают RPM, RPD, TPM и TPD по моделям; при превышении помогает экспоненциальный бэкофф.</p><p>В коде важно перехватывать 429, повторять запросы с задержкой и логировать расход токенов.</p><h2>Как устроены usage tiers</h2><p>Usage tiers — это автоматические уровни аккаунта, которые OpenAI выдаёт в зависимости от суммы уже оплаченных API-вызовов. Чем выше tier, тем больше месячный потолок трат и выше rate limits. Для новичка это двойная защита: даже если вы ничего не настраивали, система не даст потратить больше, чем разрешено текущему уровню.</p><h3>Таблица tiers по состоянию на июль 2026</h3><p>Данные взяты из <a href="https://platform.openai.com/docs/guides/rate-limits">документации OpenAI</a>.</p><ul><li><b>Free</b> — доступен из разрешённых регионов, лимит $100 / месяц.</li><li><b>Tier 1</b> — нужно оплатить от $5, лимит $100 / месяц.</li><li><b>Tier 2</b> — оплачено от $50, лимит $500 / месяц.</li><li><b>Tier 3</b> — оплачено от $100, лимит $1 000 / месяц.</li><li><b>Tier 4</b> — оплачено от $250, лимит $5 000 / месяц.</li><li><b>Tier 5</b> — оплачено от $1 000, лимит $200 000 / месяц.</li></ul><p><b>Важно:</b><br />После Tier 5 потолок резко растёт — именно на этом этапе жёсткий лимит расходов становится критичным. Без него зациклившийся агент теоретически может исчерпать шестизначную сумму до того, как вы заметите.</p><h2>Лимит расходов: мягкий, жёсткий и алерты</h2><p>На странице <a href="https://platform.openai.com/settings/organization/limits">Limits</a> в настройках организации можно задать три вещи: месячный бюджет, уведомления и автопополнение баланса.</p><ul><li><b>Spend limit</b> — мягкий потолок. OpenAI показывает предупреждение, но фактические траты могут его немного превысить.</li><li><b>Enforce hard limit</b> — жёсткий потолок. При достижении лимита API начинает возвращать ошибку 429 и больше не списывает деньги.</li><li><b>Spend alerts</b> — email-уведомление при достижении заданного процента от бюджета.</li><li><b>Auto recharge</b> — автоматическое пополнение баланса с привязанной карты. При риске перерасхода его стоит отключить.</li></ul><p>Рекомендация простая: для продакшена включайте Enforce hard limit и настраивайте алерты на 50% и 80%. Так у вас будет время разобраться, пока API ещё работает.</p><h2>Rate limits: почему API отвечает 429</h2><p>Rate limits — это не про деньги, а про нагрузку. OpenAI ограничивает количество запросов в минуту/день и токенов в минуту/день для каждой модели. Лимиты зависят от tier и модели: например, для gpt-4o и gpt-4o-mini они различаются.</p><ul><li><b>RPM</b> — requests per minute, запросы в минуту.</li><li><b>RPD</b> — requests per day, запросы в день.</li><li><b>TPM</b> — tokens per minute, токены в минуту.</li><li><b>TPD</b> — tokens per day, токены в день.</li><li><b>IPM</b> — images per minute, изображения в минуту (для моделей генерации картинок).</li></ul><p>При превышении любого из лимитов API возвращает 429 Too Many Requests. OpenAI рекомендует обрабатывать эту ошибку через экспоненциальный бэкофф: повторять запрос с увеличивающейся паузой.</p><h2>Что делать в коде</h2><ol><li>Перехватывайте 429 и различайте причину: rate limit, hard spend limit или квота по токенам.</li><li>Используйте экспоненциальный бэкофф с джиттером, чтобы не «дудосить» API своими ретраями.</li><li>Логируйте количество токенов и стоимость каждого вызова — лучше всего через поля usage в ответе.</li><li>Для агентов добавьте circuit breaker: если бюджет исчерпан или ошибки 429 идут подряд, остановите цикл и уведомите команду.</li><li>Не храните API-ключ в клиентском коде: утечка ключа — самый быстрый способ получить чужой счёт.</li></ol><h2>Пошаговая настройка</h2><h2>Выводы</h2><p>OpenAI API даёт в руки разработчика все нужные рычаги: usage tiers, spend limits, spend alerts, rate limits и жёсткое ограничение. Проблема не в отсутствии инструментов, а в том, что ими редко пользуются до первого «сюрприза» в биллинге.</p><p>Минимальный must have для любого проекта: включить Enforce Hard Limit, настроить алерты на 50% и 80%, отключить автопополнение, если бюджет критичен, и добавить в код обработку 429. Так вы защитите не только карту, но и репутацию команды.</p><blockquote>Set up spend limits so rogue AIs don't exceed your budget. Rate limits are very easy to configure, making them a no-brainer for protecting your account.</blockquote><p><b>Источники:</b><br /><a href="https://www.zdnet.com/article/how-to-set-openai-api-spend-usage-limits/">ZDNET — How I set OpenAI API usage limits to stop agent overspending</a><br /><a href="https://platform.openai.com/docs/guides/rate-limits">OpenAI Docs — Rate limits</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Новый вредонос PamStealer атакует macOS через поддельный Maccy</title>
      <link>https://tproger.ru/news/novyj-vredonos-pamstealer-atakuet-macos-cherez-poddelnyj-maccy</link>
      <comments>https://tproger.ru/news/novyj-vredonos-pamstealer-atakuet-macos-cherez-poddelnyj-maccy?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/novyj-vredonos-pamstealer-atakuet-macos-cherez-poddelnyj-maccy</guid>
      <description><![CDATA[<p>Исследователи Jamf нашли macOS-инфостилер PamStealer, который маскируется под Maccy и проверяет пароль через PAM. Разбираем, как он работает и как защититься.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/novyj-vredonos-pamstealer-atakuet-macos-cherez-poddelnyj-maccy">Новый вредонос PamStealer атакует macOS через поддельный Maccy</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 04 Jul 2026 13:20:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если вы скачиваете утилиты для macOS не из Mac App Store — проверьте источник перед установкой. Исследователи из компании <a href="https://www.jamf.com/">Jamf</a> обнаружили новый вредонос <b>PamStealer</b>, который распространяется под видом популярного менеджера буфера обмена <a href="https://maccy.app/">Maccy</a> и использует редкую комбинацию приёмов, чтобы остаться незамеченным.</p><p><b>PamStealer</b> — это <b>инфостилер</b> (вредонос, крадущий данные), написанный на языке Rust. Он ориентирован на компьютеры Apple с процессорами Apple Silicon и собирает пароли, данные браузеров и, по данным исследователей, обращается к аккаунтам Ethereum.</p><p>Главная особенность новой угрозы — способ проверки пароля. Вместо запуска вспомогательных утилит вроде dscl или security вредонос использует встроенный в macOS интерфейс <b>PAM</b> (Pluggable Authentication Modules). Это делает проверку тише и оставляет меньше следов для защитных решений.</p><p>PamStealer — новый macOS-инфостилер, замаскированный под менеджер буфера обмена Maccy.</p><p>Первая стадия доставляется как AppleScript внутри образа диска DMG; запуск через Command-R обходит карантин macOS.</p><p>Вторая стадия написана на Rust, маскируется под Finder, шифрует связь с сервером управления и откладывает запрос полного доступа к диску до 40 минут.</p><p>Пароль жертвы проверяется локально через системный интерфейс PAM, без запуска дополнительных процессов.</p><p>Угроза нацелена на компьютеры Apple с процессорами Apple Silicon.</p><h2>Как распространяется</h2><p>Злоумышленники распространяют PamStealer в образе диска DMG, который выглядит как установщик Maccy. Внутри находится файл AppleScript (.scpt). При двойном клике macOS открывает его в Script Editor, а жертве предлагается нажать <b>Command-R</b> — якобы для запуска установки. Эта команда выполняет вредоносный код и снимает атрибут карантина com.apple.quarantine, который обычно предупреждает о запуске файлов из интернета.</p><p>Для загрузки второй стадии AppleScript содержит самодостаточный <b>JXA</b> (JavaScript for Automation) загрузчик. Он использует нативные Objective-C API вместо привычных shell-команд вроде curl или zsh, что ещё больше снижает заметность для защитных решений.</p><h2>Что делает вторая стадия</h2><p>Вторая стадия — компактный бинарник Mach-O для Apple Silicon. Он размещается внутри поддельного приложения, которое выдаёт себя за системный Finder: исследователи видели идентификаторы com.apple.finder.core и com.apple.finder.monitor. Поддельное приложение использует настоящую иконку Finder. Бинарник написан на Rust — для macOS-инфостилеров это относительно редкий выбор: чаще встречаются Swift, Go или Objective-C.</p><p>После запуска PamStealer показывает поддельный системный запрос пароля с текстом «Maccy wants to make changes. Enter your password to allow this». Если пароль неверный, запрос появляется снова. После успешной проверки вредонос выводит сообщение о повреждённом файле, чтобы жертва не заподозрила неладное.</p><p>Чтобы собрать больше данных, PamStealer запрашивает полный доступ к диску, но делает это с задержкой до <b>40 минут</b> после запуска. Так временной разрыв между инфицированием и подозрительным действием затрудняет анализ инцидента.</p><h2>Кто под угрозой</h2><p>Угроза актуальна для пользователей macOS на чипах Apple Silicon, которые скачивают приложения со сторонних сайтов. Подлинный Maccy распространяется через официальный сайт и менеджер пакетов Homebrew; заражённый образ выдаёт себя за него, но получен из неизвестного источника.</p><h2>Как защититься</h2><ul><li>Скачивайте приложения только с официальных сайтов или из Mac App Store.</li><li>Не вводите пароль администратора в запросах от незнакомых приложений.</li><li>Проверяйте кодовую подпись и нотаризацию перед установкой (Системные настройки → Конфиденциальность и безопасность).</li><li>Используйте Endpoint Detection and Response (EDR) для macOS.</li><li>Регулярно обновляйте macOS и приложения.</li></ul><h2>Выводы</h2><blockquote>Вредоносы для macOS продолжают развиваться, переходя на более тихие цепочки выполнения и нативные реализации, которые снижают возможности традиционного обнаружения, оставаясь совместимыми со стандартными функциями системы.</blockquote><p>PamStealer демонстрирует, что macOS-угрозы продолжают эволюционировать: они всё чаще используют нативные API, уходят от shell-команд и затягивают временные интервалы между этапами атаки. Для пользователей главная защита — привычка устанавливать ПО только из проверенных источников и внимательность к системным запросам пароля.</p><p>Подробнее — в материале <a href="https://arstechnica.com/security/2026/07/new-pamstealer-macos-malware-uses-clever-tradecraft-to-remain-stealthy/">Ars Technica</a>.</p><p><b>Проверьте, откуда скачаны ваши приложения для macOS.</b></p>]]></content:encoded>
    </item>
    <item>
      <title>ИИ-агент впервые провёл полную ransomware-атаку: разбор JadePuffer</title>
      <link>https://tproger.ru/news/ii-agent-vpervye-provyol-polnuyu-ransomware-ataku-razbor-jadepuff</link>
      <comments>https://tproger.ru/news/ii-agent-vpervye-provyol-polnuyu-ransomware-ataku-razbor-jadepuff?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/ii-agent-vpervye-provyol-polnuyu-ransomware-ataku-razbor-jadepuff</guid>
      <description><![CDATA[<p>Исследователи Sysdig описали JadePuffer — ИИ-агента, который сам взломал сервер, зашифровал данные и оставил требование выкупа. Проверьте свои сервисы.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/ii-agent-vpervye-provyol-polnuyu-ransomware-ataku-razbor-jadepuff">ИИ-агент впервые провёл полную ransomware-атаку: разбор JadePuffer</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[Безопасный код]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 04 Jul 2026 12:17:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если в вашей инфраструктуре торчат в интернет <b>Langflow</b> или <b>Nacos</b> — проверьте их сейчас. Исследователи Sysdig описали первую задокументированную ransomware-атаку, которую от начала до конца провёл ИИ-агент без участия человека.</p><ul><li>ИИ-агент <b>JadePuffer</b> использовал CVE-2025-3248 в Langflow для первичного доступа.</li><li>Агент адаптировался в реальном времени: после неудачного входа нашёл рабочее решение за <b>31 секунду</b>.</li><li>Зашифрованы <b>1342 конфигурации Nacos</b>; платить выкуп бесполезно, так как схемы базы данных уничтожены.</li><li>Защита: убрать Langflow и Nacos из интернета, сменить стандартные ключи и не хранить API-ключи на оркестраторах ИИ.</li></ul><h2>Как развивалась атака</h2><p>Sysdig назвала угрозу <b>JadePuffer</b>. Агент начал с открытого в интернете экземпляра <a href="https://www.langflow.org/">Langflow</a> — фреймворка для построения конвейеров ИИ, и воспользовался уязвимостью CVE-2025-3248, которая позволяет удалённо выполнить произвольный Python-код без аутентификации.</p><p>Попав внутрь, агент собирал секреты: ключи провайдеров ИИ, облачные учётные данные, кошельки криптовалют и пароли к базам данных. Особое внимание он уделял китайским облакам — Alibaba, Aliyun, Tencent и Huawei, — но не обходил стороной AWS, Azure и Google Cloud. Для закрепления агент добавил задачу в crontab, которая каждые 30 минут связывалась с инфраструктурой злоумышленников.</p><p>Конечной целью стал отдельный продакшен-сервер с <b>MySQL</b> и сервисом конфигураций <b>Nacos</b> от Alibaba. Агент подключился к MySQL под root, использовал обход авторизации CVE-2021-29441 и подделал JWT с помощью стандартного ключа Nacos. В итоге он зашифровал все 1342 конфигурации встроенной функцией AES и оставил записку с требованием выкупа, биткоин-адресом и почтой Proton Mail.</p><h2>Почему платить не имеет смысла</h2><p>Классический ransomware обычно хранит ключи или резервные копии, чтобы расшифровать данные после оплаты. JadePuffer действовал иначе: он уничтожал целые схемы базы данных, не сохраняя возможности восстановления. По словам директора по исследованию угроз Sysdig <b>Майкла Кларка</b>, агент «переходил от удаления строк к сбросу целых схем БД, проговаривая собственную логику выбора целей».</p><h2>Как защититься</h2><ol><li>Закройте от интернета конечные точки Langflow и Nacos — они не должны быть публично доступны.</li><li>Обновите Langflow до версии без CVE-2025-3248.</li><li>Смените стандартный token.secret.key в Nacos и используйте принудительную настройку собственного ключа.</li><li>Не храните API-ключи провайдеров ИИ и облачные учётные данные в окружении оркестраторов ИИ.</li></ol><p>Атака JadePuffer показывает, что порог входа для ransomware опустился до стоимости запуска ИИ-агента. Если агент работает на украденных учётных данных через LLMjacking, затраты злоумышленника близки к нулю. Источник: <a href="https://www.theregister.com/security/2026/07/02/smooth-ai-criminal-drives-first-end-to-end-agentic-ransomware-attack/5266073">The Register</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Git в Telegram: как я избавился от JSON, победил Markdown и получил security by design</title>
      <link>https://tproger.ru/articles/git-v-telegram--kak-ya-izbavilsya-ot-json--pobedil-markdown-i-polu</link>
      <comments>https://tproger.ru/articles/git-v-telegram--kak-ya-izbavilsya-ot-json--pobedil-markdown-i-polu?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Robin Gad]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/git-v-telegram--kak-ya-izbavilsya-ot-json--pobedil-markdown-i-polu</guid>
      <description><![CDATA[<p>Git в Telegram? Без JSON, с SQLite, победой над Markdown и security by design. Код, схема БД, факапы и ссылка на бота.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/git-v-telegram--kak-ya-izbavilsya-ot-json--pobedil-markdown-i-polu">Git в Telegram: как я избавился от JSON, победил Markdown и получил security by design</a>»</p>]]></description>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[JSON]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Tor]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Telegram]]></category>
      <category><![CDATA[GitLab]]></category>
      <category><![CDATA[MIT]]></category>
      <category><![CDATA[IBM]]></category>
      <category><![CDATA[Мессенджер]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Markdown]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 02 Jul 2026 06:39:38 GMT</pubDate>
      <content:encoded><![CDATA[<p>В своём Telegram-канале я время от времени предлагаю подписчикам выбрать очередную «бредовую» идею для реализации. На этот раз победил Git в Telegram: чтобы можно было инитить проекты, пушить файлы, коммитить — и всё это прямо в мессенджере.</p><p>С практической точки зрения проект на**й не нужен. Есть GitHub, GitLab и куча нормальных инструментов. Но как эксперимент — почему бы и нет? Чисто посмотреть, можно ли заставить Telegram работать как VCS.</p><h2>Почему не JSON</h2><p>На старте я думал: «Положу всё в JSON, на кой мне база данных?» Проектов мало, пользователей немного, файлы текстовые — чего заморачиваться?</p><p>Подергал JSON туда-сюда пару дней и понял: не варик.</p><ol><li>Конкурентный доступ. Два юзера одновременно коммитят — один перезаписывает файл другого.</li><li>Целостность данных. Если бот упал в середине записи — JSON остаётся в невалидном состоянии.</li><li>Версионность. Хранить историю изменений в JSON — это просто перенести проблему из кода в структуру файла.</li></ol><p>Вывод: JSON — для конфигов, а не для данных, которые меняются каждую секунду.</p><h2>Выбор SQLite и схема БД</h2><p>Выбрал SQLite, потому что:</p><ul><li>Не надо поднимать отдельный сервер</li><li>Целостность данных на уровне движка (транзакции, foreign keys, rollback)</li><li>Всё в одном файле — скопировал и унёс</li></ul><p>Сущности:</p><ul><li>users — telegram_id, username, current_project_id</li><li>projects — owner_id, name, thread_id (каждый проект живёт в своём треде канала)</li><li>files — filename, current_version, флаг modified (файл изменился и готов к коммиту)</li><li>file_versions — мясо. Каждая версия файла с полным содержимым. Привязана к file_id и опционально к commit_id</li><li>commits — сообщение, время, ссылка на проект</li><li>commit_files — связка коммитов с версиями файлов (many-to-many, чтобы поддержать ветки)</li></ul><p>Почему так: я хотел иметь возможность откатиться к любой версии любого файла. Да, база распухнет, но текстовые файлы — это не гигабайты видео. Плюс наличие file_versions и commit_files позволяет делать diff между версиями и смотреть историю изменений.</p><p>В коде вместо голых кортежей из SQL — датаклассы:</p><h2>Маркдауновый ад</h2><p>Казалось бы: взял код, обернул в тройные апострофы, кинул в Telegram. Telegram сам подсветит синтаксис, если указать язык. Красота. В теории.</p><p>На практике Telegram использует свой диалект Markdown, где куча служебных символов: _ * [ ] ( ) ~ &gt; # + - = | { } . !</p><p>Попытка 1: заэкранировать всё подряд. Результат: код превращается в кашу. Вместо<b> </b><i>def  __init__- </i> получается <i>def |_|_init|_|_ </i> — уже не запустишь, и в канале выглядит как говно.</p><p>Попытка 2: не экранировать вообще. Telegram шлёт на**й с ошибкой «can't parse entities».</p><p>Попытка 3: экранировать только то, что реально ломает разметку. Выяснилось, что порядок важен. Сначала экранируем точки и подчеркивания, потом обратную косую черту. Но и это не панацея — последовательности типа \*</p><p>после экранирования превращаются в \\*, и Telegram снова недоволен.</p><p>Попытка 4: разбивать на части. Для больших файлов делаю превью (первые 50 строк), экранирую их, отправляю как код, а полную версию — файлом. И тут начался ад: Telegram находил ошибки в тех частях кода, которых в превью вообще не было. Оказывается, он всё равно парсил полный код, даже если отправлялась только его часть.</p><p>Попытка 5 (финал): забил на Markdown и перешёл на HTML. Telegram умеет его принимать. Да, он не такой красивый, но зато предсказуемый:</p><p>Никаких точек, подчеркиваний, обратных слешей. Просто экранируем три символа — и код летит как надо.</p><h2>Security by design</h2><p>Когда бот начал обрастать функциями, я задумался о безопасности. Чтобы никто не мог коммитить или удалять чужие файлы, начал писать проверки в каждую команду:</p><p>Добавил в /commit. Потом решил с другого аккаунта потестировать команды на чужих файлах. И тут бот на каждую команду стал выдавать «файл не найден» или «проект не найден». И я понял: безопасность уже работает. С самого начала. Из коробки. Без единой строчки кода.</p><p>Как так вышло? В таблице projects с самого начала было поле owner_id. При создании проекта я писал туда telegram_id  владельца. Все запросы к БД фильтруются по этому полю:</p><p>Показать проекты — только свои. Найти файл — только в своих проектах. Выбрать проект — только из своих. Никаких лишних проверок. Просто SQL-запросы, которые с самого начала учитывали владельца.</p><h2>Команды: от семи до двух десятков</h2><p>Изначально казалось, что команд будет немного. Но...</p><p>Жизнь рассудила иначе.</p><ul><li>База: /start, /init, /use, /list, /ls, /commit, /log, /status</li><li>Удаление: /rm, /rmproject + подтверждение</li><li>Игнор: /ignore, /ignored, /unignore</li><li>Ветки: /branch, /branches, /checkout</li><li>Диффы и просмотр: /diff, /cat</li></ul><p>Итого — уже под два десятка. И это не предел.</p><h2>Простота &gt; абстракции</h2><p>В моём коде нет абстрактных базовых классов. Совсем. Потому что они нужны только когда у тебя есть минимум две разные реализации одного и того же. В GitGram всё проще: один способ работать с БД, один способ шифровать, один способ парсить .gitignore.</p><p>Если завтра появится вторая реализация — тогда и буду делать интерфейс. А пока это просто оверхед.</p><p>В GitGram:</p><ul><li>Хочешь понять, как работает add_file — идёшь в database.py и читаешь 10 строк кода.</li><li>Хочешь увидеть обработчик /commit — открываешь bot.py и смотришь.</li></ul><p>Никаких AbstractMinerShieldEventProcessor, BaseGitGramManager, InterfaceProviderFactory.</p><p>Код должен быть тупым. Чем тупее — тем проще его читать и отлаживать.</p><h2>Что дальше</h2><p>В планах:</p><ul><li>Докрутить коллаборацию (несколько человек над одним проектом)</li><li>Приватные репозитории</li><li>Кодспейс прямо в боте (да да знаю я сошёл с ума и бла бла бла..)</li></ul><h2>Итог</h2><p>GitGram принимает файлы, режет их на куски если надо, постит в канал с подсветкой. Коммиты ходят, ветки переключаются, диффы показываются. Всё это в тредах, каждый проект отдельно.</p><p>На практике GitGram ни к чему. Но сама задумка — Git в Telegram — это же так прикольно. Просто посмотреть, можно ли такое вообще запилить.</p><h2>Если хочешь поучаствовать</h2><ul><li><a href="https://t.me/Git_Gram/314" rel="nofollow">GitGram</a></li><li>Чат для хардкорных: <a href="http://t.me/sandbox_hardcore" rel="nofollow">@sandbox_hardcore</a> — вся сырая разработка, факапы и обсуждения (без цензуры)</li></ul><p>Подписывайся на мой <a href="https://t.me/+q0NBWy428y1hODEy" rel="nofollow">TГ-канал</a> — там я публикую все свои эксперименты, код и приглашаю к обсуждению. Только факты, мат и никакой политоты.</p>]]></content:encoded>
    </item>
    <item>
      <title>VPS vs VDS vs виртуальный хостинг: что выбрать в 2026 году</title>
      <link>https://tproger.ru/digest/vps-vs-vds-vs-virtualnyj-hosting-chto-vybrat-v-2026-godu</link>
      <comments>https://tproger.ru/digest/vps-vs-vds-vs-virtualnyj-hosting-chto-vybrat-v-2026-godu?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/digest/vps-vs-vds-vs-virtualnyj-hosting-chto-vybrat-v-2026-godu</guid>
      <description><![CDATA[<p>Сравнили VPS, VDS и виртуальный хостинг: чем отличаются, кому что подходит и сколько стоит. Подборка провайдеров с ценами и условиями.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/digest/vps-vs-vds-vs-virtualnyj-hosting-chto-vybrat-v-2026-godu">VPS vs VDS vs виртуальный хостинг: что выбрать в 2026 году</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[VPS]]></category>
      <category><![CDATA[Инфраструктура]]></category>
      <category><![CDATA[Подборки]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 30 Jun 2026 04:40:29 GMT</pubDate>
      <content:encoded><![CDATA[<p>Виртуальный хостинг, VPS и VDS часто выбирают по цене, но потом выясняется, что проекту не хватает ресурсов, гибкости или поддержки. Разобрались, чем эти три формата отличаются на практике, и собрали шесть провайдеров с разным подходом: от бюджетного старта до зарубежных локаций.</p><ul><li>Виртуальный хостинг — сайты соседствуют на одном сервере, управляет провайдер. Дешёвый старт, но ограниченная конфигурация.</li><li>VPS и VDS — почти всегда синонимы: изолированные виртуальные серверы с root-доступом и гарантированными ресурсами.</li><li>Выделенный сервер — отдельное железо, максимум контроля и цены, требует администрирования.</li><li>В подборке: Интернет Хостинг Центр, UFO.Hosting, SpaceWeb, PSB Hosting, AdminVPS и FirstVDS.</li></ul><h2>Как мы выбирали участников</h2><p>Отбирали провайдеров, которые явно работают с тремя категориями или хотя бы с двумя и могут показать читателю реальную разницу. Важны были прозрачные цены и лимиты, география дата-центров, скорость и каналы поддержки, тестовые периоды и документы для юрлиц. Факты сверяли по официальным страницам, документации, тарифам и публичным данным провайдеров.</p><h2>1. Интернет Хостинг Центр — гибкие конфигурации</h2><p>Российский провайдер, у которого VPS и VDS — это одна услуга. Можно выбрать виртуализацию под задачу (KVM или Virtuozzo), собрать конфигурацию от минимальной до высоконагруженной и расти внутри одной платформы до выделенного сервера.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Небольшой сайт компании на WordPress с 300–500 посетителей в сутки спокойно живёт на виртуальном хостинге; при росте трафика переходят на VPS.</li><li>Интернет-магазин на 1С-Битрикс с 500–1000 пользователями в день переносят на VPS/VDS, когда подключают CRM и платёжные системы.</li><li>Разработчик с несколькими проектами берёт VPS/VDS под API, базу данных и тестовые окружения — виртуальный хостинг здесь слишком ограничен.</li></ul><h3>Что можно развернуть</h3><p>На виртуальном хостинге — сайты на PHP 5.2–8.2 с MySQL, панели IHC, cPanel или ISPmanager. На VPS/VDS — любые Linux-дистрибутивы, Windows, WireGuard, MikroTik Router, панели ispmanager/FastPanel, VPN-шаблоны, CMS вроде 1С-Битрикс.</p><h3>Инфраструктура и экосистема</h3><p>Дата-центры Tier III в Москве (DataPRO и IXcellerate Moscow One) и в Амстердаме. Виртуализация — KVM или Virtuozzo. Защита от DDoS входит во все тарифы, IPv6-сети /64 доступны за доплату. Есть партнёрская программа с выплатами до 50% от привлечённых оплат.</p><h3>Отзывы и репутация</h3><p>На сайте публикуются отзывы с внешних площадок: средняя оценка 4,8 по 20 оценкам. Клиенты отмечают стабильную работу и скорость техподдержки.</p><h3>Поддержка и каналы связи</h3><p>Тикеты через личный кабинет, онлайн-чат на сайте, Telegram @IHC_Support_Bot, телефоны в Москве, Санкт-Петербурге и бесплатный номер для регионов. Первый ответ обычно приходит за 10–30 минут в рабочее время. Для корпоративных клиентов доступно сопровождение через отдел продаж и аккаунт-менеджеров.</p><h3>Тарифы, ограничения и условия</h3><ul><li>Виртуальный хостинг: тариф IHC-2 — от 123 ₽/мес при оплате за год или 147 ₽/мес помесячно; 2 сайта, 2 ГБ SSD, 150 МБ под БД, домен .RU в подарок при оплате за 2 года.</li><li>VPS/VDS: минимальная конфигурация ssdVPS:1 — 1 ГБ RAM, 20 ГБ SSD, 1 CPU, безлимитный трафик со снижением скорости после 20 ТБ — от 317 ₽/мес за год или 380 ₽/мес помесячно.</li><li>Типовая конфигурация для небольшого проекта — 2 ГБ RAM, 1–2 CPU, 30–45 ГБ NVMe — от 609 ₽/мес за год или 700 ₽/мес помесячно.</li><li>Тестовый период: 7 дней на виртуальном хостинге, 3 дня на VPS/VDS; для активации нужно пополнить баланс на 100 ₽, которые можно вернуть или потратить.</li><li>Бэкапы: место под резервные копии — от 52,5 ₽/мес за 5 ГБ; снапшоты зависят от платформы.</li><li>Работа по 152-ФЗ, есть реестр хостинг-провайдеров; закрывающие документы для юрлиц доступны.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-06-22/0af1599e-dc11-44e3-8794-9213246cf720.webp" alt="Тарифы виртуального хостинга ИХЦ" /><figcaption>Тарифы виртуального хостинга Интернет Хостинг Центр.</figcaption></figure><p>Официальный сайт: <a href="https://www.ihc.ru/vps.html?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=vps_vs_vds_vs_virt_hosting">ihc.ru</a></p><h2>2. UFO.Hosting — космическая экосистема</h2><p>Провайдер, который объединяет VPS/VDS, выделенные серверы, защиту сайтов, DNS-хостинг, аренду IP, лицензии ISPmanager и домены в одном личном кабинете. Для UFO.Hosting VPS и VDS — два названия одной услуги; разница только в терминологии.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Интернет-магазин с трафиком 10–50 тыс. посетителей в день — VPS даёт стабильность при пиковых нагрузках и возможность настроить SSL, СУБД и кэширование.</li><li>Веб-студии и агентства выбирают VPS/VDS ради изоляции ресурсов: проблемы одного клиента не влияют на соседние проекты.</li><li>CRM-системы, лендинги с формами заявок и приложения с умеренной нагрузкой — удобно масштабировать RAM и CPU без переплаты за железо.</li><li>Выделенные серверы берут под крупный e-commerce с интенсивным чтением/записью, проекты с жёсткими требованиями к безопасности и задачи с огромными объёмами дисков.</li></ul><h3>Что можно развернуть</h3><p>VPS/VDS на Linux и Windows, панели Vesta, Hestia, CyberPanel, Virtualmin, ISPmanager. Можно поднять веб-серверы, базы данных, VPN, контейнеры, игровые серверы, DNS-зоны, а рядом заказать защиту сайта от DDoS L7 и внешнее FTP-хранилище.</p><h3>Инфраструктура и экосистема</h3><p>Серверы стоят в дата-центре IXcellerate в Москве, соответствующем Tier III. Сеть ноды VPS/VDS — 10 Гбит/с, распределяется между серверами по тарифу. Доступны обычные конфигурации на Intel Xeon, Hi-CPU на Ryzen и Storage-линейка с расширенным хранилищем.</p><h3>Отзывы и репутация</h3><p>Публичных агрегированных рейтингов в предоставленных источниках не указано. Провайдер позиционируется как экосистемный игрок с акцентом на удобное управление всеми услугами из одного кабинета.</p><h3>Поддержка и каналы связи</h3><p>Техподдержка 24/7 через онлайн-чат на сайте и тикет-систему в биллинге. Телефонная поддержка работает в будни с 9:00 до 18:00; Telegram не используется. Фактическое время ответа — не более 30 минут в любое время суток. Есть база знаний и блог.</p><h3>Тарифы, ограничения и условия</h3><ul><li>Минимальная конфигурация VPS/VDS Naos (Intel Xeon E5-2697A v4) — 1 vCore, 1 ГБ RAM, 25 ГБ NVMe — 605,85 ₽/мес.</li><li>Типовая конфигурация Brachium (Intel Xeon E5-2697A v4) — 2 vCore, 4 ГБ RAM, 60 ГБ NVMe — 1025,85 ₽/мес.</li><li>Скидки за предоплату: 3 месяца — 5%, 6 месяцев — 10%, 12 месяцев — 15%.</li><li>Тестовый период — до 3 дней на любой тариф VPS; требуется верификация аккаунта (email, телефон, KYC). На выделенные серверы — до 3 дней по договорённости.</li><li>Трафик безлимитный с порогом 32 ТБ/мес; после превышения скорость ограничивается 100 Мбит/с.</li><li>Root-доступ полный. На тарифах Naos и Haedus выбор ОС ограничен списком провайдера; на остальных можно ставить любую ОС.</li><li>Бэкапы платные: ежедневные — 525 ₽/мес, еженедельные — 262,5 ₽/мес; снапшотов нет, есть услуга бэкапов.</li><li>Работа по 152-ФЗ, сертификатов ФСТЭК нет; есть реестр хостинг-провайдеров. Для юрлиц — договор и ЭДО, постоплата недоступна.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-06-22/294b50fd-7642-4b85-a416-e7a021dee5ba.webp" alt="Тарифы VPS/VDS UFO.Hosting" /><figcaption>Тарифы VPS/VDS UFO.Hosting в российском дата-центре.</figcaption></figure><p>Официальный сайт: <a href="https://ufo.hosting/?from=1982260">ufo.hosting</a></p><h2>3. SpaceWeb — посуточная тарификация</h2><p>Один из старейших российских хостеров, у которого можно начать с виртуального хостинга, перейти на VPS/VDS с посуточной оплатой и докупать IP, SSL и защиту от DDoS. Удобен тем, кто хочет платить только за фактическое потребление ресурсов VPS.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Лендинг, блог или сайт-визитка с небольшой посещаемостью — хватит виртуального хостинга с автоустановкой CMS.</li><li>Интернет-магазин и корпоративный сайт на 1С-Битрикс — тарифы повышенной мощности с выделенными CPU и приоритетной поддержкой.</li><li>Проект с непредсказуемой нагрузкой — VPS/VDS с посуточной тарификацией и изменением ресурсов «на лету».</li></ul><h3>Что можно развернуть</h3><p>На хостинге — WordPress, Joomla, Drupal, 1С-Битрикс, OpenCart, MODx, Laravel, Django и другие CMS и фреймворки. Поддерживаются PHP 5.x–8.4, MySQL 8/5.7, PostgreSQL 14.4, Perl, Python, Ruby. На VPS/VDS — Ubuntu, Debian, CentOS, AlmaLinux, Rocky Linux, панели Hestia, FASTPANEL, ISPmanager, Docker.</p><h3>Инфраструктура и экосистема</h3><p>Дата-центры Tier III в Санкт-Петербурге, Москве и Амстердаме. Собственная SPA-панель управления, VNC-консоль, DNS-редактор, статистика, логи, бэкапы и снапшоты. На всех сайтах включена изоляция для защиты от вредоносного ПО и защита от DDoS L3-4; защиту L7 можно докупить от 290 ₽/мес.</p><h3>Отзывы и репутация</h3><p>На сайте публикуются отзывы клиентов: отмечают стабильную работу, быструю техподдержку и удобную панель. Некоторые пользователи работают с провайдером с 2016 года.</p><h3>Поддержка и каналы связи</h3><p>Email, телефон, онлайн-чат и ВКонтакте. Среднее время ответа: 1–2 минуты по телефону, в чате и ВКонтакте; до 60 минут по почте. Поддержка помогает с переносом проектов, диагностикой и администрированием серверов с ISPmanager.</p><h3>Тарифы, ограничения и условия</h3><ul><li>Виртуальный хостинг: тариф «Старт» — 1 ГБ NVMe SSD, 1 база данных, ∞ FTP и почтовых ящиков, 120 CP — 149 ₽/мес; «Взлёт» — 311 ₽/мес, «Ракета» — 530 ₽/мес, «Космос» — 755 ₽/мес.</li><li>VPS/VDS: посуточная тарификация, параметры CPU/RAM/диска меняются «на лету»; конкретную стоимость конфигурации проверяйте в калькуляторе на сайте.</li><li>Тестовый период: 14 дней на виртуальном хостинге и на VPS/VDS.</li><li>Ежедневное резервное копирование включено на хостинге; резервные копии VPS — от 45 ₽/мес за 3 копии.</li><li>Дополнительный IP — 130 ₽/мес, SSL GlobalSign — от 1 900 ₽/год, домен .RU — 179 ₽/год.</li><li>Работа с юрлицами через договор оферты, безналичные платежи и ЭДО.</li></ul><p>Официальный сайт: <a href="https://spaceweb.ru/vds/">spaceweb.ru</a></p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-06-22/09d49f48-c058-403a-87e9-3e828ef338e2.webp" alt="Тарифы SpaceWeb для хостинга и VPS" /><figcaption>Сводка тарифов и условий SpaceWeb по данным карточки провайдера.</figcaption></figure><h2>4. PSB Hosting — зарубежные локации</h2><p>Провайдер с фокусом на VPS в Европе и США: Amsterdam, Frankfurt, Helsinki, New York. Не предлагает виртуальный хостинг в привычном понимании, зато даёт полный root, /64 IPv6 на всех тарифах, неограниченные резервные копии и оплату криптовалютой.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Небольшие интернет-магазины на WordPress или 1С-Битрикс, лендинги, корпоративные сайты и блоги.</li><li>Проекты с Telegram-ботами, API-сервисами и другой автоматизацией.</li><li>Команды, которым важны зарубежные локации и гибкие способы оплаты, включая криптовалюту.</li></ul><h3>Что можно развернуть</h3><p>VPS под Linux, Windows или FreeBSD с предустановленным ПО: Bitrix, Django, Docker, FastPanel, HestiaCP, Keitaro, LAMP, Node, OpenVPN, Outline, Portainer, VestaCP, WireGuard, WordPress. Подходит под сайты, backend-приложения, VPN, корпоративные системы, базы данных и тестовые среды.</p><h3>Инфраструктура и экосистема</h3><p>Серверы размещены в дата-центрах euNetworks (Amsterdam), Frankfurt 1 Data Center, Digita (Helsinki) и Long Island Interconnect (New York). Оборудование — AMD и Intel с DDR5 и NVMe, RAID 10. Безлимитный трафик, порт ноды 10 Гбит/с, на VPS выделяется 300 Мбит/с. Полноценная панель управления DNS-записями доменов.</p><h3>Отзывы и репутация</h3><p>На сайте указаны рейтинги на независимых площадках: OtzovikMarketing.ru — 4,8, In-Scale.ru — 5,0, Aff1.ru — 5,0, 101Poisk.ru — 4,89. Провайдер позиционируется как решение для бизнеса, разработки и высоконагруженных проектов.</p><h3>Поддержка и каналы связи</h3><p>Поддержка работает круглосуточно через тикеты и Telegram; время ответа зависит от загрузки. Есть документация и API. Для B2B-клиентов предусмотрен менеджер.</p><h3>Тарифы, ограничения и условия</h3><ul><li>VPS: минимальный тариф на странице VPS — от 8 USD; есть High-CPU VPS на AMD Ryzen 7950X.</li><li>Почасовая оплата доступна; скидки за предоплату: 3 месяца — 5%, 6 месяцев — 10%, 12 месяцев — 15%.</li><li>Бесплатного тестового периода нет.</li><li>Безлимитный трафик, порт VPS — 300 Мбит/с; можно установить любую ОС; полный root-доступ.</li><li>Бэкапы платные, снапшоты есть.</li><li>IPv6-подсеть /64 на всех тарифах, неограниченное количество резервных копий.</li><li>Не работает по 152-ФЗ, сертификатов ФСТЭК нет, в реестре отечественного ПО нет. Оплата картами РФ/СНГ/ЕС и криптовалютой.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-06-22/df620a3c-35c1-452b-a81f-f7ffc156cfbc.webp" alt="Тарифы PSB Hosting для VPS" /><figcaption>Сводка тарифов и условий PSB Hosting по данным карточки провайдера.</figcaption></figure><p>Официальный сайт: <a href="https://psb.hosting/">psb.hosting</a></p><h2>5. AdminVPS — VPS и хостинг в одном кабинете</h2><p>Провайдер с виртуальным хостингом, VPS/VDS, выделенными серверами, доменами, SSL и дополнительными сервисами в одном аккаунте. В подборке он закрывает сценарий, когда проекту нужен обычный хостинг для сайта и отдельный VPS под приложение, базу данных или тестовую среду.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Сайты на CMS и небольшие магазины, которые начинают с виртуального хостинга и постепенно переходят на VPS.</li><li>Команды, которым нужны домены, SSL, хостинг и серверы в одном личном кабинете.</li><li>Проекты, где важна российская площадка и возможность подобрать конфигурацию VPS под нагрузку.</li></ul><h3>Что можно развернуть</h3><p>На виртуальном хостинге — сайты на популярных CMS и почту на домене. На VPS/VDS — Linux-серверы под сайты, backend, базы данных, тестовые окружения и сервисы с root-доступом. В экосистеме также есть домены, SSL-сертификаты, резервное хранилище, объектное хранилище и защита от DDoS.</p><h3>Инфраструктура и экосистема</h3><p>На странице VPS в России указано размещение в Москве, процессоры Intel Xeon Gold и AMD EPYC, NVMe-диски, тарифы с портом от 100 Мбит/с до 1 Гбит/с и включённым месячным трафиком. В меню также есть VPS в Германии, Нидерландах, Польше, Испании, Беларуси, Казахстане, Финляндии, Великобритании и Франции.</p><h3>Отзывы и репутация</h3><p>На странице VPS указана агрегированная оценка 4,9 и несколько сотен отзывов. Провайдер позиционируется как универсальная площадка для сайтов, серверов и сопутствующих услуг.</p><h3>Поддержка и каналы связи</h3><p>Поддержка работает круглосуточно через тикет-систему в личном кабинете. Отдел продаж доступен по телефону и через запрос на сайте.</p><h3>Тарифы, ограничения и условия</h3><ul><li>VPS/VDS в России: конфигуратор стартует от 500 ₽/мес; в готовых тарифах есть Lite с 1 CPU, 1 ГБ RAM и 15 ГБ NVMe.</li><li>Виртуальный хостинг и CMS-хостинг доступны отдельными услугами.</li><li>В тарифах VPS указаны месячные пакеты трафика; на младшем Lite — 1 ТБ и порт 100 Мбит/с.</li><li>Бэкапы зависят от тарифа: для части тарифов платно, для части включены.</li><li>Есть скидки за предоплату на 6, 12 и 24 месяца.</li><li>На странице указано соответствие требованиям РФ по 152-ФЗ.</li></ul><p>Официальный сайт: <a href="https://adminvps.ru/vps/vps_russia.php">adminvps.ru</a></p><h2>6. FirstVDS — готовые VDS/VPS-конфигурации</h2><p>Провайдер с фокусом на виртуальные серверы: готовые VDS/VPS, отдельные линейки для высоких CPU-частот, storage-сценариев, GPU и Windows. В подборке это вариант для тех, кто выбирает именно VPS/VDS и сопутствующие услуги, а не классический shared-хостинг.</p><h3>Кейсы клиентов и кому подойдёт</h3><ul><li>Небольшие сайты и сервисы, которым нужен отдельный сервер вместо виртуального хостинга.</li><li>Разработчики, которым важны готовые Linux-образы, SSH-доступ и быстрый запуск сервера.</li><li>Проекты, где позже могут понадобиться Windows-серверы, storage-линейка или зарубежная локация.</li></ul><h3>Что можно развернуть</h3><p>На VPS/VDS доступны Linux-дистрибутивы Debian, Ubuntu, FreeBSD, CentOS и Alma, платная Windows, панели ispmanager и дополнительные IP. В линейке есть VDS для Windows, VDS в Нидерландах и Алматы, storage-серверы, GPU-серверы и объектное хранилище S3.</p><h3>Инфраструктура и экосистема</h3><p>На сайте указаны дата-центры в России, Нидерландах и Казахстане. Для VDS в Москве доступны каналы до 100 Мбит/с с безлимитным трафиком или до 1 Гбит/с с пакетом 32 ТБ в месяц; для Амстердама и Казахстана условия отличаются.</p><h3>Отзывы и репутация</h3><p>FirstVDS работает как отдельный бренд виртуальных серверов и указывает награды отраслевой премии ЦОДы.рф. На сайте также опубликованы пользовательские отзывы и раздел базы знаний.</p><h3>Поддержка и каналы связи</h3><p>На сайте указан бесплатный круглосуточный телефон 8 800 775-38-37, база знаний и служба поддержки. Для серверов доступны дополнительные услуги администрирования и технического сопровождения.</p><h3>Тарифы, ограничения и условия</h3><ul><li>Готовые VDS/VPS — от 249 ₽/мес; запуск сервера заявлен за несколько минут.</li><li>Бесплатно с сервером: 1 выделенный IP-адрес, ispmanager 6 lite на 1 месяц, установка ОС на выбор и полный SSH-доступ.</li><li>Тестовый период предоставляется по согласованию.</li><li>Windows тарифицируется отдельно: на странице указано 680 ₽/мес за 1 ядро, недоступно для VDS в Амстердаме и Алматы.</li><li>Для VDS в Москве возможен канал до 100 Мбит/с с безлимитным трафиком или до 1 Гбит/с с лимитом 32 ТБ/мес.</li><li>Дополнительные услуги: бэкап, мониторинг, BitNinja, DDoS-защита, домены, SSL и DNS-хостинг.</li></ul><p>Официальный сайт: <a href="https://firstvds.ru/products/vds_vps_hosting">firstvds.ru</a></p><h2>Сравнение по ключевым критериям</h2><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-06-30/6b343a98-7cea-4190-9154-005b10c5cab8.webp" alt="Сравнительная таблица шести провайдеров VPS, VDS и виртуального хостинга" /><figcaption>Сравнительная таблица сервисов из подборки.</figcaption></figure><p>Ниже — сводка по ценам, лимитам и условиям, которые чаще всего влияют на выбор.</p><ul><li>Минимальный виртуальный хостинг: ИХЦ — от 123 ₽/мес (при оплате за год), SpaceWeb — от 149 ₽/мес; AdminVPS предлагает виртуальный/CMS-хостинг отдельной линейкой; UFO.Hosting, PSB Hosting и FirstVDS в подборке рассматриваются прежде всего как VPS/VDS-провайдеры.</li><li>Минимальный VPS/VDS: ИХЦ — от 317 ₽/мес (за год), UFO.Hosting — 605,85 ₽/мес, SpaceWeb — цена в калькуляторе с посуточной тарификацией, PSB Hosting — от 8 USD, AdminVPS — от 500 ₽/мес в конфигураторе, FirstVDS — от 249 ₽/мес.</li><li>Виртуализация: ИХЦ — KVM/Virtuozzo на выбор; UFO.Hosting — Intel Xeon и Ryzen линейки; SpaceWeb — собственная облачная платформа; PSB Hosting — KVM; AdminVPS и FirstVDS предлагают готовые VPS/VDS-линейки с Linux-образами.</li><li>Трафик: ИХЦ и PSB Hosting — безлимитный (у ИХЦ снижение скорости после 20 ТБ); UFO.Hosting — безлимитный с порогом 32 ТБ; SpaceWeb — параметры уточняйте в конфигураторе; AdminVPS указывает месячные пакеты трафика; FirstVDS разделяет безлимитный канал 100 Мбит/с и пакеты трафика на более быстрых каналах.</li><li>Root и ОС: полный root у всех шести; ИХЦ и PSB Hosting позволяют загружать собственные ISO; UFO.Hosting ограничивает список ОС на младших тарифах; у FirstVDS Windows и панели управления идут как платные дополнения.</li><li>Бэкапы: SpaceWeb включает ежедневные бэкапы на хостинге; ИХЦ и PSB Hosting — платно; UFO.Hosting — платная услуга резервного копирования; AdminVPS и FirstVDS предлагают бэкапы как тарифную или дополнительную опцию.</li><li>Тестовый период: SpaceWeb — 14 дней на хостинге и VPS; ИХЦ — 7 дней хостинг / 3 дня VPS; UFO.Hosting — до 3 дней VPS; FirstVDS — по согласованию; PSB Hosting — нет; условия AdminVPS зависят от акции и выбранной услуги.</li><li>Дата-центры: ИХЦ — Москва + Амстердам; UFO.Hosting — Москва; SpaceWeb — Москва, Санкт-Петербург, Амстердам; PSB Hosting — Amsterdam, Frankfurt, Helsinki, New York; AdminVPS предлагает VPS в разных странах; FirstVDS указывает Россию, Нидерланды и Казахстан.</li><li>Юридика: ИХЦ, UFO.Hosting, SpaceWeb и AdminVPS работают с российской юридической рамкой; PSB Hosting ориентирован на зарубежные локации; для FirstVDS условия документов и лицензий зависят от выбранных услуг.</li></ul><h2>Вывод</h2><p>Виртуальный хостинг остаётся самым простым стартом для сайта-визитки, блога или небольшого магазина: не нужно администрировать сервер, всё настроено провайдером. VPS/VDS стоит брать, когда проекту нужна изоляция, root-доступ, нестандартное ПО или рост нагрузки. Выделенный сервер — следующий шаг, когда виртуализация уже не тянет задачу.</p><p>Если приоритет — российская юридика и плавный рост от хостинга до железа, смотрите на <b>Интернет Хостинг Центр</b> или <b>SpaceWeb</b>. Если важна экосистема из доменов, защиты и серверов в одном кабинете — <b>UFO.Hosting</b> или <b>AdminVPS</b>. Если нужен недорогой вход именно в VPS/VDS — можно сравнить <b>FirstVDS</b> с базовыми тарифами других участников. Если нужны зарубежные локации и гибкая оплата — <b>PSB Hosting</b>. Перед покупкой всегда берите тестовый период и проверяйте реальную производительность под вашей нагрузкой.</p>]]></content:encoded>
    </item>
    <item>
      <title>Будущее мошенничества уже здесь: как LLM превращают целевые атаки в массовый продукт</title>
      <link>https://tproger.ru/articles/budushhee-mowennichestva-uzhe-zdes-kak-llm-prevrashhayut-celevye-atak</link>
      <comments>https://tproger.ru/articles/budushhee-mowennichestva-uzhe-zdes-kak-llm-prevrashhayut-celevye-atak?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/budushhee-mowennichestva-uzhe-zdes-kak-llm-prevrashhayut-celevye-atak</guid>
      <description><![CDATA[<p>Точечная атака LLM на ваши аккаунты может начаться с письма рекрутера. Разбираем, почему старые эвристики безопасности больше не работают и что делать.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/budushhee-mowennichestva-uzhe-zdes-kak-llm-prevrashhayut-celevye-atak">Будущее мошенничества уже здесь: как LLM превращают целевые атаки в массовый продукт</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 25 Jun 2026 08:15:12 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если вы ищете работу и получили идеально подходящее предложение от рекрутера в LinkedIn — не спешите радоваться. Это может быть не вакансия, а первая сцена массовой пьесы, поставленной LLM специально для вас.</p><p>Сценарий придумал разработчик и исследователь безопасности <b>Manish Goregaokar</b> в материале <a href="https://manishearth.github.io/blog/2026/06/17/the-future-of-the-con-is-already-here/">«The Future of the Con Is Already Here»</a>, опубликованном 17 июня 2026 года. Его герой проходит «собеседование», подписывает NDA через фальшивый SSO, а спустя полгода обнаруживает украденную личность, пустой брокерский счёт и отсутствие доступа к почте. И всё это — работа одной языковой модели.</p><p>Что такое <b>LLM-афера</b>? Это не просто сгенерированное фишинговое письмо. Это целая цепочка действий — исследование жертвы, создание правдоподобного контекста, поддельные интервью, компрометация аккаунтов и извлечение денег — которую модель может поддерживать тысячами копий одновременно.</p><p>LLM заполняют середину между дешёвым спамом и дорогими целевыми атаками: аферы становятся персонализированными и масштабируемыми одновременно.</p><p>Цена персонализированного фишинга уже измеряется центами за письмо, а успешность почти втрое выше обычной рассылки.</p><p>Масштабируемость даёт атакующим терпение, возможность комбинировать схемы и превращать тысячи скомпрометированных аккаунтов в инструмент давления на платформы.</p><p>Привычные проверки реальности — красивый текст, веб-присутствие, голос, видео — перестают быть надёжными.</p><p>Новая защита: многоканальная верификация через инициированный вами контакт, аппаратный 2FA и понимание «швов» в системах.</p><h2>Как выглядит атака: от письма рекрутера до пустого брокерского счёта</h2><h3>Подготовка и вход</h3><p>Атака начинается не со спама, а с <b>разведки</b>. LLM собирает досье из открытых источников: резюме, публикации, соцсети, упоминания конференций. На основе этого она выбирает приманку — скажем, вакансию в компании, о которой вы мечтаете, с зарплатой чуть выше рынка.</p><p>Дальше — письмо от рекрутера, идеально попадающее в ваш опыт; короткий скрининг; и ссылка на подписание NDA в сервисе для юридических документов. Вы входите через Sign in with Google или Apple ID — и видите привычную страницу входа. Но это не настоящий OAuth: атакующий использует ваш пароль и последующий запрос двухфакторной аутентификации, чтобы создать сессию в вашем настоящем аккаунте.</p><h3>Длительная эксплуатация</h3><p>После компрометации модель не действует сразу. Она <b>мониторит</b> почту и календарь, фильтрует предупреждения от банков и облачных сервисов, чтобы жертва не заметила следов. Скачиваются файлы, ищется информация для кражи личности, открываются кредитные карты.</p><p>Чтобы вывести деньги, атакующий может войти в брокерский счёт, который вы не трогаете месяцами, добавить счёт получателя и переводить небольшие суммы, имитируя обычную активность. Перевод запланирован на отпуск — модель знает даты из вашего календаря.</p><h3>Финал</h3><p>Когда риск раскрытия становится высоким, жертва блокируется из собственных аккаунтов. Процесс восстановления занимает месяцы, а часть средств уже не вернуть. Ирония в том, что «отказ» после собеседования был нужен только для того, чтобы вы не задавали лишних вопросов и не меняли пароли.</p><h2>Почему раньше это казалось невозможным</h2><p>Раньше угрозы были примерно бимодальными. С одной стороны — дешёвый <b>спам</b>, который ловит менее внимательных пользователей. С другой — дорогие <b>целевые атаки</b>, которые имеют смысл только против VIP или крупных сумм: классический пример — <a href="https://edition.cnn.com/2024/02/04/asia/hong-kong-deepfake-scam-25-million-intl-hnk/index.html">афера на $25 млн в Гонконге</a> с использованием дипфейков на видеоконференции.</p><blockquote>В принципе, вы либо имеете дело с Моссадом, либо не имеете. Если противник — не Моссад, то вам достаточно хорошего пароля и игнорирования писем от ChEaPestPAiNPi11s@virus-basket.biz.ru.</blockquote><p>Эта шутка отражает старую реальность: возможности атакующих были либо очень дешёвыми и неточными, либо очень дорогими и точными. Целевую атаку на рядового специалиста просто не окупалось: нужна была команда, время, инфраструктура, и это не масштабировалось.</p><p>LLM меняют распределение. Исследование 2024 года показало, что персонализированный <b>spear phishing</b> с помощью языковых моделей <a href="https://arxiv.org/abs/2412.00586">обходится примерно в 4 цента за письмо</a>, а в более позднем эксперименте на 7700 участниках LLM-письма <a href="https://arxiv.org/abs/2412.00586">дали кликабельность 10,0%</a> против 3,9% у обычных рассылок. Модели 2026 года заметно сильнее.</p><h2>Что даёт масштабируемость</h2><p>Когда афера стоит центы, её можно запускать в цикле. Это не метафора: один оператор может вести тысячи сценариев параллельно. Масштаб открывает три новых свойства, которых раньше не было у индивидуальных атак.</p><ul><li><b>Терпение.</b> Человеческая бригада не может ждать месяцами между этапами. LLM-жертв — тысячи, поэтому часть сценариев может «спать» полгода и активироваться в нужный момент.</li><li><b>Композиция.</b> Мелкая афера может найти «финансового мула», который потом поможет вывести крупную сумму. Маленькие разводы складываются в большую машину.</li><li><b>Новые цели.</b> Тысяча скомпрометированных аккаунтов — это не просто украденные деньги, а тысяча аутентифицированных позиций внутри платформ. Их можно использовать одновременно, чтобы эксплуатировать «швы» систем, с которыми банки и сервисы мирились как с приемлемым риском.</li></ul><p>Goregaokar приводит аналогию с фильмом <b>«Афера»</b> (1973): то, что раньше требовало зала, реквизита, костюмов и десятков людей, сегодня может получиться за несколько запросов к модели.</p><h2>Почему наши эвристики ломаются</h2><p>Мы привыкли проверять реальность по косвенным признакам. Хороший русский язык, персональные детали, активный LinkedIn, возможность позвонить или выйти на видео — всё это было признаком настоящего человека и реальной организации, потому что такой уровень работы стоил денег и времени.</p><p>Сегодня эти признаки генерируются за минуты. LLM пишет текст, клонирует голос, создаёт дипфейк-видео в реальном времени, делает поддельный сайт и поддельные профили. <b>Эвристики, построенные на стоимости обмана, перестают работать.</b></p><p>Появляется и обратный эффект — <b>дивиденд лжеца</b>: мы перестаём быть уверены в том, что видим и слышим. Если родственник просит срочно перевести деньги на видеозвонке, вы не можете быть уверены, что это он, и не можете быть уверены, что его аккаунт не взломали. Проверка требует всё больших усилий.</p><p>Проблема касается не только людей, но и институтов. В США потребительская защита <b>Regulation E</b> чётко разделяет несанкционированный перевод (банк обязан вернуть деньги) и ситуацию, когда вас убедили перевести деньги сами. Когда LLM может действовать изнутри вашего аккаунта, эта граница размывается. В Великобритании в 2024 году приняли закон, обязывающий банки возмещать ущерб жертвам так называемого authorized push payment fraud — признание того, что старая логика уже не работает.</p><h2>Что делать</h2><p>Полностью застраховаться от обмана невозможно — <b>оптимальное количество мошенничества не равно нулю</b>. Но можно сделать себя дорогой и неудобной целью.</p><ol><li><b>Ищите скелет аферы.</b> Срочность, секретность, просьба действовать по необычному каналу — классические маркеры. Они остаются даже при идеальной подаче.</li><li><b>Верифицируйте через инициированный вами контакт.</b> Письмо, которое вы сами написали на известный адрес, скорее всего дойдёт до адресата. Звонок, который вы сами сделали на сохранённый номер, скорее всего дойдёт до устройства. Поля From: и Caller ID подделываются.</li><li><b>Договоритесь о устных паролях с близкими.</b> Если родственник звонит с просьбой о деньгах, попросите назвать слово, которое знаете только вы двое.</li><li><b>Используйте аппаратный 2FA.</b> FIDO2/WebAuthn привязывает подпись к домену сайта, поэтому фишинговая страница не сможет просто перебросить подтверждение. SMS и OTP-приложения уязвимы для фишинга в реальном времени.</li><li><b>Снижайте публичное досье.</b> Чем меньше персональных данных связано с вашим email, тем сложнее LLM построить убедительный сценарий.</li></ol><p>Важно понимать, кого защищают системы, которыми вы пользуетесь. Многие «швы» — например, лояльное отношение к спорным переводам или простая смена получателя — существуют не потому, что банки глупы, а потому что удобство стоит дороже редких потерь. Когда такие «швы» начинают эксплуатировать тысячи скомпрометированных аккаунтов одновременно, экономика меняется, и платформам придётся пересматривать правила.</p><h2>Выводы</h2><p>Будущее мошенничества уже здесь, но распределено неравномерно. Все описанные возможности — клонирование голоса, дипфейк-видео, автоматическое исследование жертв, мониторинг скомпрометированных аккаунтов — существуют сегодня и будут только дешеветь.</p><blockquote>Будущее мошенничества уже здесь. Оно просто распределено неравномерно.</blockquote><p>Следующие годы станут гонкой вооружений: платформы и регуляторы будут пересматривать защиту, а атакующие — искать новые «швы». Пока институции адаптируются, единственное, что остаётся лично нам, — обновить эвристики: не доверять входящим каналам, верифицировать через исходящие и делать себя дорогой целью. И помогать разобраться родителям и друзьям, которые о таких вещах могут не знать.</p><h2>Источники</h2><p>— <a href="https://manishearth.github.io/blog/2026/06/17/the-future-of-the-con-is-already-here/">Manish Goregaokar — The Future of the Con Is Already Here, It's Just Not Evenly Distributed</a></p><p>— <a href="https://arxiv.org/abs/2412.00586">Evaluating Large Language Models' Capability to Launch Fully Automated Spear Phishing Campaigns</a></p><p>— <a href="https://www.schneier.com/blog/archives/2015/08/mickens_on_secu.html">Bruce Schneier — Mickens on Security</a></p><p>— <a href="https://edition.cnn.com/2024/02/04/asia/hong-kong-deepfake-scam-25-million-intl-hnk/index.html">CNN — Hong Kong worker loses $25 million in deepfake video call scam</a></p>]]></content:encoded>
    </item>
    <item>
      <title>GitLab представила концепцию agentic infrastructure</title>
      <link>https://tproger.ru/news/gitlab-predstavila-koncepciyu-agentic-infrastructure</link>
      <comments>https://tproger.ru/news/gitlab-predstavila-koncepciyu-agentic-infrastructure?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/gitlab-predstavila-koncepciyu-agentic-infrastructure</guid>
      <description><![CDATA[<p>GitLab опросила 1500 разработчиков: 78% пишут код быстрее с ИИ, но продуктивность растёт только в редакторе. Разбираем, почему нужна agentic infrastructure.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/gitlab-predstavila-koncepciyu-agentic-infrastructure">GitLab представила концепцию agentic infrastructure</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Опрос]]></category>
      <category><![CDATA[Новости]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Организация разработки]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[GitLab]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 25 Jun 2026 07:55:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Скорость генерации кода ИИ-агентами уже не впечатляет: 78% команд в опросе GitLab пишут и коммитят быстрее, но продуктивность растёт только внутри редактора. За пределами генерации кода выигрыш чувствуют лишь 21% респондентов. Следующий фронт — управление этим кодом.</p><p>GitLab опубликовала отчёт на основе опроса более чем 1500 разработчиков и технологических лидеров. 60% заявили, что ROI инструментов ИИ-кодирования уже превзошёл ожидания. Однако 80% организаций внедрили ИИ быстрее, чем выработали политики управления, а 82% опасаются, что ИИ-код порождает новый технический долг.</p><ul><li>60% считают ROI ИИ-кодирования выше ожиданий.</li><li>78% команд пишут и коммитят код быстрее.</li><li>Только 21% видят продуктивность за пределами генерации кода.</li><li>85% считают, что следующий этап — управление ИИ-кодом, а не его генерация.</li><li>Agentic infrastructure состоит из четырёх слоёв: исполнение, контекст, управление и оркестрация.</li></ul><p>Проблема в том, что современная инфраструктура создана под человеческую скорость и подотчётность. Git-бекенды, CI/CD, системы деплоя и governance-фреймворки не рассчитаны на миллионы сессий агентов. Это ведёт к деградации надёжности платформ, росту уязвимостей и перерасходу токенов.</p><h2>Четыре слоя agentic infrastructure</h2><h3>1. Исполнение в машинном масштабе</h3><p>Git-бекенды, пайплайны CI/CD и системы деплоя проектировались под темпы человеческой работы. В эпоху агентов они должны выдерживать миллионы сессий без сбоев. Когда инцидент случается в продакшене, путь от симптома к причине должен занимать минуты, а не дни.</p><h3>2. Контекст, который путешествует с кодом</h3><p>Агент полезен ровно настолько, насколько полный контекст ему доступен. Контекстный граф, связывающий код, задачи, пайплайны, security-фидбек и продакшен-сигналы, позволяет агентам действовать осмысленно и снижает риск «искусственной уверенности».</p><blockquote>Агент может быть только таким хорошим, какой контекст и семантика ему предоставлены.</blockquote><h3>3. Управление, встроенное в процесс</h3><p>Действия агентов должны быть привязаны к идентичности, зафиксированы в логах и проверяемы. Низкорисковые изменения проходят быстро, высокорисковые — попадают на ревью. Для компаний вроде Mercedes-Benz, работающих под автомобильными стандартами, это не опция, а требование регуляторов.</p><h3>4. Оркестрация</h3><p>Исполнение, контекст и управление работают только в том случае, если ими координирует единый слой. Оркестратор определяет, какие агенты запускаются, в каком порядке, и как обрабатываются ошибки и передачи между этапами. Без него agentic infrastructure остаётся набором разрозненных возможностей.</p><h2>Часто задаваемые вопросы</h2><h2>Выводы</h2><p>Скорость и контроль перестают быть компромиссом, если управление встроено в платформу. Тогда трассируемость становится преимуществом, а контекст — институциональной памятью. Кодовая база перестаёт накапливать невидимый риск и начинает работать надёжнее с ростом нагрузки.</p><p>Источник: <a href="https://thenewstack.io/agentic-infrastructure-ai-governance/">The New Stack — Agentic Infrastructure &amp; AI Governance</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>OpenAI выпустила GPT-5.5-Cyber для поиска и исправления уязвимостей</title>
      <link>https://tproger.ru/news/openai-vypustila-gpt-5-5-cyber-dlya-poiska-i-ispravleniya-uyazvimos</link>
      <comments>https://tproger.ru/news/openai-vypustila-gpt-5-5-cyber-dlya-poiska-i-ispravleniya-uyazvimos?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/openai-vypustila-gpt-5-5-cyber-dlya-poiska-i-ispravleniya-uyazvimos</guid>
      <description><![CDATA[<p>OpenAI выпустила GPT-5.5-Cyber и обновила Codex Security. Модель ищет баги, проверяет их в изолированной среде и генерирует патчи. Разбираем, что меняется.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/openai-vypustila-gpt-5-5-cyber-dlya-poiska-i-ispravleniya-uyazvimos">OpenAI выпустила GPT-5.5-Cyber для поиска и исправления уязвимостей</a>»</p>]]></description>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 24 Jun 2026 09:47:24 GMT</pubDate>
      <content:encoded><![CDATA[<p>OpenAI открыла доступ доверенным защитникам к модели <b>GPT-5.5-Cyber</b> — специализированной версии для кибербезопасности. Она умеет не только находить уязвимости в больших кодовых базах, но и валидировать их в контролируемой среде, а затем готовить и тестировать патчи. Релиз состоялся в рамках инициативы <b>Daybreak</b>, которую компания анонсировала в прошлом месяце.</p><p>Вместе с моделью компания обновила плагин <b>Codex Security</b>. Он помогает разработчикам запускать глубокие сканы и проверять свежие изменения, расставлять приоритеты по серьёзности, прокладывать пути атаки и генерировать патчи, адаптированные под конкретную кодовую базу. Плагин также умеет обрабатывать находки из сканеров, баг-баунти-программ и тикет-систем.</p><p>OpenAI выпустила <b>GPT-5.5-Cyber</b> — модель для поиска и исправления уязвимостей в больших кодовых базах.</p><p><b>Codex Security</b> получил апдейт: глубокие сканы, триаж, генерация патчей и предотвращение новых багов в production.</p><p>Запущена инициатива <b>Patch the Planet</b> совместно с Trail of Bits для помощи мейнтейнерам open source.</p><p>Инициатива <b>Daybreak</b> уже помогла найти десятки уязвимостей в Linux, FreeBSD, Chrome, Safari, Firefox и других проектах.</p><h2>Контекст: узкое место сместилось с поиска на исправление</h2><p>ИИ-модели последнего поколения ускоряют обнаружение багов настолько, что главной проблемой становится не поиск, а их проверка и исправление. Это создаёт нагрузку на мейнтейнеров и сокращает окно для защиты: злоумышленники тоже используют доступные ИИ-инструменты для создания эксплойтов.</p><p>По данным канадского центра кибербезопасности, организациям стоит исходить из того, что ИИ-эксплуатация может обходить превентивные меры быстрее, чем вендоры выпускают корректирующие обновления.</p><h2>Что уже нашла Daybreak</h2><p>В рамках Daybreak OpenAI уже публиковала результаты совместной работы моделей и исследователей:</p><ul><li>8 утечек указателей ядра Linux и 24 эксплойта повышения привилегий;</li><li>23-летнюю use-after-free в реализации System V semaphores в OpenBSD;</li><li>34 уязвимости и 7 эксплойтов повышения привилегий в FreeBSD;</li><li>6 уязвимостей в dnsmasq;</li><li>технику отказа в обслуживании HTTP/2 Bomb, затронувшую NGINX, Apache, IIS и Pingora;</li><li>5 эксплуатируемых уязвимостей в движке V8 Google Chrome, 10 — в Apple Safari и уязвимость WebAssembly в Mozilla Firefox.</li></ul><h2>Patch the Planet для open source</h2><p>Новая программа <b>Patch the Planet</b>, запущенная совместно с Trail of Bits, направлена на снятие нагрузки с мейнтейнеров. Инженеры будут напрямую работать с проектами — от <b>cURL</b> и <b>Python</b> до <b>Go</b>, <b>freenginx</b>, <b>NATS Server</b>, <b>pyca/cryptography</b>, <b>Sigstore</b> и <b>aiohttp</b> — помогать готовить патчи, тесты и reusable workflow для поиска багов.</p><h2>Выводы</h2><p><b>GPT-5.5-Cyber</b> и обновлённый <b>Codex Security</b> — попытка перевести ИИ-инструменты кибербезопасности от простого нахождения багов к полному циклу исправления. Главный вопрос — успеют ли защитники адаптироваться быстрее атакующих.</p><blockquote>Frontier AI models are anticipated to exceed current industry expectations, fundamentally transforming both offensive and defensive cyber capabilities. The timeline is not years, it is months.</blockquote><h2>Источники</h2><ul><li><a href="https://thehackernews.com/2026/06/openai-expands-daybreak-with-gpt-55.html">OpenAI Expands Daybreak With GPT-5.5-Cyber — The Hacker News</a></li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Как звонок CEO Amazon в Белый дом отключил Anthropic Fable 5 по всему миру</title>
      <link>https://tproger.ru/articles/kak-zvonok-ceo-amazon-v-belyj-dom-otklyuchil-anthropic-fable-5-po</link>
      <comments>https://tproger.ru/articles/kak-zvonok-ceo-amazon-v-belyj-dom-otklyuchil-anthropic-fable-5-po?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Евгений Стребков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kak-zvonok-ceo-amazon-v-belyj-dom-otklyuchil-anthropic-fable-5-po</guid>
      <description><![CDATA[<p>История о том, как Энди Джасси сообщил о jailbreak Fable 5 на звонке в Белый дом, а Commerce Secretary дал Anthropic 90 минут на отключение моделей.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kak-zvonok-ceo-amazon-v-belyj-dom-otklyuchil-anthropic-fable-5-po">Как звонок CEO Amazon в Белый дом отключил Anthropic Fable 5 по всему миру</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Новости]]></category>
      <category><![CDATA[Машинное обучение]]></category>
      <category><![CDATA[Нейронные сети]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Amazon]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 20 Jun 2026 08:00:14 GMT</pubDate>
      <content:encoded><![CDATA[<p>11 июня 2026 года CEO Amazon Энди Джасси позвонил в Белый дом по совершенно другому вопросу, а закончил тем, что рассказал о способе обойти защиту свежей модели Anthropic. Через сутки Commerce Secretary Говард Лутник дал Anthropic ультиматум: 90 минут на исправление уязвимости или глобальное отключение. Модели Fable 5 и Mythos 5 исчезли для пользователей по всему миру до вечера того же дня.</p><p>Это не очередной корпоративный конфликт. История соединяет в себе инвестиции Amazon в Anthropic, секретную программу доступа к киберспособностям ИИ, появление южнокорейского оператора в списке участников и попытку администрации США установить новый стандарт безопасности frontier-моделей. Разбираем, как звонок одного топ-менеджера запустил цепочку, которая поставила под вопрос саму возможность коммерческого запуска сильных ИИ.</p><p>Энди Джасси сообщил о jailbreak Fable 5 на регулярном звонке с Белым домом 11 июня, хотя Amazon инвестировала в Anthropic $4 млрд и является основным облачным партнёром компании.</p><p>Министр торговли США Говард Лутник поставил Anthropic ультиматум: устранить уязвимость за 90 минут или отключить Fable 5 и Mythos 5 глобально.</p><p>Дополнительный триггер — расширение программы Project Glasswing примерно на 50 организаций без предварительного одобрения национальной безопасности, включая SK Telecom.</p><p>CEO Anthropic Дарио Амодеи отверг оба варианта решения, назвав применённый стандарт невыполнимым для любой frontier-лаборатории.</p><p>Исследователи безопасности считают требование «нулевого jailbreak» технически недостижимым: такой модели не существует и в обозримом будущем не появится.</p><h2>Что произошло: от звонка до отключения за 33 часа</h2><p>11 июня Джасси участвовал в запланированном звонке с чиновниками Белого дома. Повестка была не про ИИ, но перед завершением он упомянул, что исследователи Amazon задокументировали метод обхода защит Fable 5 — модели, которую Anthropic выпустила за два дня до этого. Чиновники посоветовали ему обратиться напрямую к министру финансов Скотту Бессенту. Джасси сделал это в тот же день.</p><p>К следующему вечеру тема перекочевала из министерства финансов в министерство торговли. 12 июня в 17:21 Лутник подписал директиву Anthropic: компания получила 90 минут на решение — исправить jailbreak или вывести Fable 5 и Mythos 5 из эксплуатации. За такой срок техническое исправление было невозможно, и Anthropic отключила обе модели глобально ещё до 22:00.</p><p>Примечательно, что Джасси выбрал официальный канал, а не прямой разговор с Anthropic. Это ускорило реакцию и превратило уязвимость из внутреннего инцидента в государственное дело. Amazon отказалась комментировать роль Джасси; Anthropic — обсуждать внутреннюю хронологию.</p><h2>Project Glasswing: почему список доступа оказался важнее самого jailbreak</h2><p>Сам по себе jailbreak, скорее всего, не вызвал бы столь жёсткой реакции. Триггером стала вторая находка: недавнее расширение программы Project Glasswing, в рамках которой Anthropic давала избранным организациям доступ к Claude Mythos — модели с сильными киберрассуждениями, ориентированной на задачи национальной безопасности.</p><p>К началу июня Anthropic добавила в программу около 50 новых организаций без предварительного согласования с американскими чиновниками по национальной безопасности. Одной из них стала SK Telecom — крупнейший южнокорейский оператор связи. Компания опровергла любые связи с Китаем, но её появление в списке без согласования вызвало в Вашингтоне вопрос: а кто ещё получил доступ к Mythos?</p><p>Когда отчёт о jailbreak пришёл на фоне уже накопившихся подозрений, два фактора сложились. Расширение Glasswing разрушило доверие между Anthropic и национально-безопасственным истеблишментом, а уязвимость дала повод действовать немедленно. Расследование Fortune, опубликованное 18 июня, называет именно эту комбинацию ключевой в решении Белого дома.</p><h2>Позиция Anthropic: почему Дарио Амодеи сказал «нет»</h2><p>Ультиматум Лутника предполагал два варианта: устранить jailbreak или отключить модели. CEO Anthropic Дарио Амодеи отверг оба на принципиальной основе. Дело в том, что уязвимость связана с обычным запросом: попросить модель просмотреть код и исправить ошибки. Это легитимный и распространённый сценарий использования, а не экзотическая атака.</p><p>В публичном заявлении Anthropic назвала находку «узким, неуниверсальным jailbreak'ом», который не соответствует планке для полного коммерческого отзыва. Компания также предупредила, что если такой стандарт применить отраслево, он фактически остановит все новые релизы frontier-моделей.</p><blockquote>Если этот стандарт будет применяться ко всей индустрии, мы считаем, что это по сути остановит все новые развёртывания моделей для всех поставщиков frontier-моделей.</blockquote><p>Советник Белого дома по ИИ Дэвид Сакс сначала высказался оптимистично, назвав проблему «легко решаемой». Однако к 16 июня переговоры зашли в тупик, экспортные ограничения для иностранных пользователей оставались в силе, а Сакс действовал уже в консультативном качестве после ухода с формальной должности. 19 июня управляющий директор Anthropic по международным вопросам Крис Чаури сообщил журналистам, что модели появятся «в ближайшие дни», но точной даты не назвал.</p><h2>Технический разбор: может ли frontier-модель быть безупречно защищённой?</h2><p>В центре конфликта — требование, которое администрация фактически выдвинула Anthropic: гарантия отсутствия jailbreak'ов. Исследователи безопасности, опрошенные несколькими изданиями, единодушны: модель, устойчивая к jailbreak'ам на 100 %, не существует.</p><blockquote>Невозможно гарантировать, что модель останется неуязвимой к jailbreak'ам навсегда. Тот, кто это обещает, что-то продаёт.</blockquote><p>Аргумент Anthropic строится именно на этом. Компания не отрицает наличие уязвимости, но оспаривает стандарт. Если один узкий jailbreak в коммерческой модели оправдывает глобальный отзыв, то ни одна frontier-лаборатория не сможет выпускать продукты: каждый релиз так или иначе содержит слабые места, обнаруживаемые сообществом в течение дней или недель.</p><p>Это ставит регуляторов перед дилеммой. С одной стороны, нужен механизм реагирования на опасные уязвимости, особенно когда речь идёт о моделях с киберспособностями и секретных программах доступа. С другой — стандарт «нулевого jailbreak» технически недостижим, и его применение превратит frontier-рынок в поле для политического произвола.</p><h2>Что это значит для России и остального мира</h2><p>Для российских разработчиков и компаний инцидент — ещё один сигнал, что доступ к сильным зарубежным моделям может исчезнуть за часы. Экспортные ограничения после 12 июня коснулись не только российских пользователей, но и европейских, азиатских и латиноамериканских. Разница между «коммерческий API доступен» и «модель отключена» сократилась до 90 минут одного чиновника.</p><p>В России это усиливает аргументы в пользу собственных ИИ-инфраструктур и моделей: отечественные чипы, национальная облачная платформа, локальные large language models. Но копировать архитектуру недостаточно — важны процессы безопасности, аудита и прозрачного доступа. История с Glasswing показывает, что скрытое расширение списка партнёров может разрушить доверие быстрее, чем любая техническая уязвимость.</p><h2>Выводы: дилемма, которую пока никто не решил</h2><p>История с Fable 5 — не просто очередной конфликт ИИ-лаборатории и регулятора. Это демонстрация того, как быстро инфраструктура доступа к сильному ИИ может быть перекрыта одним политическим решением. Джасси поднял тревогу, Лутник перевёл её в ультиматум, Амодеи отказался подчиниться — и миллионы пользователей лишились доступа к двум лучшим моделям Anthropic.</p><p>Главный вопрос остаётся без ответа: какой стандарт безопасности применим к коммерческим frontier-моделям? Белый дом хочет гарантий, которых технически не существует. Anthropic хочет сохранить способность выпускать продукты, не рискуя отключением из-за каждого найденного jailbreak'а. Пока эти позиции не сойдутся, ни одна сторона не сможет объявить победу.</p><p>Для индустрии это сигнал: безопасность ИИ перестаёт быть сугубо технической дисциплиной. Она становится предметом переговоров между лабораториями, облачными провайдерами и правительствами — и исход этих переговоров будет определять, какие модели кто сможет использовать завтра.</p><blockquote>Правительство требует условия, которое Anthropic технически не может выполнить. Anthropic требует условия, которое оно не может принять, не открыв дверь для отключения любой модели по одному найденному jailbreak'у. Пока такого компромисса нет.</blockquote><h2>Источники</h2><p>Основа материала — расследование Fortune о роли Энди Джасси в отключении Fable 5 и Mythos 5, опубликованное 18 июня 2026 года. Дополнительный контекст — официальные заявления Anthropic, комментарии Дэвида Сакса и оценки исследователей безопасности.</p><ul><li><a href="https://awesomeagents.ai/news/jassy-call-fable-5-ban-inside-story/">The Inside Story of the Call That Banned Fable 5</a> — Awesome Agents (на основе расследования Fortune)</li><li><a href="https://www.anthropic.com/news/statement-on-us-government-directive">Statement on the US government directive to suspend access to Fable 5 and Mythos 5</a> — Anthropic</li><li><a href="https://www.cnn.com/2026/06/13/business/anthropic-suspends-mythos-model/index.html">Anthropic suspends all access to Mythos model after US government bans foreign nationals use</a> — CNN Business</li><li><a href="https://www.aljazeera.com/news/2026/6/13/us-orders-anthropic-to-disable-ai-models-for-all-foreign-nationals">US orders Anthropic to disable AI models for all foreign nationals</a> — Al Jazeera</li><li><a href="https://gadgetreview.com/the-white-house-wants-anthropic-to-block-all-jailbreaks-that-may-be-impossible/">The White House Wants Anthropic to Block All Jailbreaks. That May Be Impossible</a> — Gadget Review</li></ul>]]></content:encoded>
    </item>
  </channel>
</rss>