Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Assumed Breach как эволюция подходов к внутреннему пентесту

Время на прочтение10 мин
Охват и читатели10K

Привет, Хабр! Меня зовут Александр Колесов, в Бастионе я руковожу направлением развития в департаменте тестирования на проникновение. Мы профессионально ломаем то, что другие старательно защищают. Разумеется, с разрешения владельцев.

Сегодня предлагаю поговорить о внутреннем пентесте — одной из самых недооцененных услуг на рынке. А точнее, о современном подходе к нему — Assumed Breach («предполагаемое нарушение»). В рамках этого метода мы отталкиваемся от предпосылки: «а что, если компания уже скомпрометирована?».

Я уже рассказывал на SOC Forum 2025, почему классический внутренний пентест часто не отвечает на реальные потребности бизнеса и как Assumed Breach позволяет это исправить. В статье поделюсь записью этого доклада и покажу, как максимизировать пользу от внутренних пентестов с помощью Assumed Breach.

Читать далее

От Redis к Kafka Streams: как мы проверяем сетевую доступность 200к устройств

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8K

В инфраструктуре банка мы ежедневно работаем с ~200 000 физических устройств: это IP-камеры, сетевые видеорегистраторы и другая периферия. Каждое из них должно быть проверено на доступность — не реже чем раз в 10 минут.

Требования к системе:

не создавать бессмысленную нагрузку на инфраструктуру;

решение должно быть горизонтально масштабируемым;

система должна выдерживать падение pod, rebalance, сетевые сбои.

Читать далее

Как достучаться до клиента в мобильном приложении: вчера и сегодня

Время на прочтение8 мин
Охват и читатели8.3K

Привет, Хабр!

В последнее время я вижу много рекомендаций о том, как успешно работать с клиентской базой и развивать клиентский опыт. Кажется, что в этой теме я могу быть полезным. Меня зовут Алексей Ласкин, я руководитель Центра компетенций по монетизации данных в команде РСХБ.Цифра, занимаюсь проектами по монетизации данных в цифровых каналах экосистемы «Я в агро» — Свое фермерство, Свое родное, Свое за городом, Свои финансы, Свой бизнес, Монеты.

Хочется поделиться тем, как развивается СVM (Customer Value Maximization) и какие тренды на него влияют: разработчикам это может помочь сформировать понимание целей и средств разработки, которые следует использовать при проектировании СVM-систем. Опыт банков, показателен в части объема данных, который мы можем использовать для формирования предложений.

Читать далее

Rest и SOAP

Время на прочтение6 мин
Охват и читатели6.2K

Сравниваем REST и SOAP : чем отличаются эти подходы, как они работают и почему сегодня все еще чаще выбирают REST, а не SOAP.

Читать далее

Как укротить SwiftLint в масштабах компании

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6K

Всем привет! Меня зовут Артём Вичужанин. В разработке я больше пяти лет: начинал с десктопных приложений на Delphi и микропрограмм для контроллеров на C++, позже ушел в мобильную разработку. Сейчас в Naumen я отвечаю за разработку мобильных продуктов, и в рамках проектов регулярно сталкиваюсь с вопросами качества кода и автоматизации.

Именно в корпоративной разработке особенно остро чувствуется: чем больше проектов и команд, тем сложнее удерживать единый стиль кода.

В этой статье я делюсь опытом настройки SwiftLint сразу для нескольких репозиториев — так, чтобы кодстайл оставался единым и не расползался со временем.

Читать далее

«Привет! Я [0.44, -0.91, 0.66...]» или как научить машину понимать смысл слов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

Я уверен, вы видели модели машинного обучения, которые принимают текст и предсказывают, является ли он спамом. Аналогично модель может проанализировать отзыв о фильме и определить его тональность — положительную или отрицательную, понимать что «груша» связана с «яблоком» куда больше, чем с «теплоходом».

Первое правило обучения любой модели машинного обучения — это преобразование входных данных в числа. Цифровой объект можно представить числом: картинку, текст, аудио или видеофайл — практически всё что угодно.

Для того чтобы ввести этот объект в нашу ML модель как некое понятие, мы должны преобразовать его в определённый набор чисел. По этому набору чисел мы сможем определить, что, например, этот объект «яблоко», а не «груша».

С картинками все просто. В чёрно-белом изображении (в градациях серого) самый яркий пиксель имеет значение 1, самый тёмный — 0, а оттенки серого имеют значения от 0 до 1. Такое числовое представление упрощает обработку изображений. Преобразовав изображение в цифровую форму на основе значений пикселей, мы можем использовать его в качестве входных данных для обучения нашей модели, позволяя нейронной сети обучаться на значениях пикселей.

Однако что делать с текстом? Как спроецировать буквы в числа?

Читать далее

Что стоит за кризисом чипов памяти. «Звездные врата» OpenAI

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.6K

Если кто-то пару месяцев назад советовал вам воздержаться от покупки нового ПК, планок памяти или SSD – он явно должен вам пиво. Цены на модули памяти выросли почти втрое, на SSD-накопители – вдвое, и многим кажется, что этот кризис напоминает предыдущие проблемы, с которыми в прошлом сталкивался рынок высокотехнологичной промышленности. Проблемы с поставками во время бушующего ковида, пики доходности майнинга, из-за которых даже бюджетные видеокарты раздувались в цене на порядок – всё это мы уже видели, и всё это не затягивалось слишком надолго. Но все предыдущие кризисы поставок и рыночные скандалы от нынешней ситуации отличает одна вещь. И это – природа происходящего.

Предыдущие кризисы были вызваны или внешними обстоятельствами (как например, проблемы с поставками во время пандемии) или спекуляциями на рынке (как несколько волн бума майнинга, когда Эфир рос в цене и майнинг-фермы скупали все подходящие видеокарты). Эти обстоятельства были стихийными, а потому краткосрочными, но сегодня причиной возникших у покупателей проблем стало нечто куда более серьезное – инициативы OpenAI.

Читать далее

Yandex Cloud Workflows: $global под Foreach

Время на прочтение4 мин
Охват и читатели5K

Workflow Automation be like

Сегодня пост для тех, кто не наигрался в пошаговые стратегии: о Yandex Cloud Serverless Integration Workflows. Нетрудно догадаться, что это представитель обширнейшего поля Workflow Automation Tools, eg OSS: Apache Airflow/Hop, n8n to name a few. Но YC Wokflows не Open Source, конечно же. Окей, ближайший аналог, скажем, AWS Step Functions.

Одна из его характерных особенностей — использование JQ как одного из краеугольных камней. Прямо скажем, не Yandex's vibe 🚲 ⛔. Не могу сказать, что было легко с JQ, нахлынули какие-то воспоминания об XSLT (не кликайте, не надо!). В целом, конечно, работает, но у любой абстракции существует критическая точка взаимодействия с реальным миром: по отдельности $global, Foreach и сложные шаги, например, работают замечательно, но их комбинация пока является крайним случаем, где всё не совсем очевидно.

Рассмотрим пример простого вызова языковой модели:

Читать далее

Мышление QA: что происходит у меня в голове, когда я тестирую

Время на прочтение7 мин
Охват и читатели7.2K

Всем привет! Меня зовут Марина, я QA в компании Банки.ру и сейчас занимаюсь продуктами личного кабинета, но успела поработать и в других командах. 

В IT все по-разному представляют работу тестировщика:

– Кто-то видит человека, который по 8 часов кликает на кнопки (я, честно говоря, так же представляла разработку, что уж скрывать…).
– Кто-то – душного охотника на баги, который только и делает, что пытается что-нибудь сломать.
– Кто-то вообще считает, что это просто начальная ступень в IT, чтобы потом пойти в разработку.

И в каждом из этих представлений есть крупица правды – но только одна сотая. На самом деле тестирование – это куда более сложный и интересный мир. Это постоянный анализ, предугадывание проблем, переключение между разными типами задач и умение задавать возможно глупые, но нужные вопросы. 

И в этой статье я расскажу об этом подробнее и покажу, что творится в голове QA, о чем мы думаем, когда видим задачу, и на чем фокусируемся.

Заглянуть в голову QA

Следующие два года в области разработки программного обеспечения

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели12K

Независимо от того, принесет ли будущее ренессанс программирования или мир, где код пишется сам собой, всегда будет спрос на инженеров, которые мыслят целостно, постоянно учатся и направляют технологии на решение реальных проблем. Лучший способ предсказать будущее — активно его проектировать.

Читать далее

7 лучших инструментов автоматизации воркфлоу с AI в 2026 году

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели4.7K

Каждая платформа для автоматизации AI‑воркфлоу выглядит убедительно в рамках контролируемого демо. Настоящее испытание начинается тогда, когда вы выводите решение в продакшн и вам нужно доказать регуляторам, что именно сделал ваш AI и почему он принял те или иные решения.

Этот вопрос становится еще критичнее в банковской сфере, здравоохранении, страховании и других регулируемых отраслях, где сбои в соблюдении норм влекут за собой серьезные последствия. Командам нужны воркфлоу, которые связывают AI‑агентов с людьми и системами, при этом сохраняя уровень управляемости и контроля, необходимый их операционной деятельности.

Семь платформ для автоматизации AI‑воркфлоу, рассмотренных ниже, представляют разные способы балансировки скорости и надзора. Одни в первую очередь ориентированы на быстроту и простоту запуска. Другие фокусируются на контроле, трассируемости и интеграции с существующей инфраструктурой. Некоторые стараются совместить и то и другое.

В этом гайде вы найдете сравнительный обзор, который подчеркивает, для чего каждая платформа спроектирована в первую очередь и где обычно проявляются ограничения. Используйте его, чтобы сузить список кандидатов с учетом того, как ваши команды на самом деле работают и чего требует ваша отрасль, — так вы сможете подобрать оптимальный инструмент для автоматизации AI‑воркфлоу под задачи и потребности вашего бизнеса.

Читать далее

Прививаем машине музыкальный вкус: фильтруем плейлист на основе предпочтений

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.8K

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

Однажды у меня возникла идея, что с моим музыкальным хобби мне могло бы помочь ML. БОльшая часть входящего материала не соответствует моему персональному фильтру. Если убрать ее, то я снова смогу делать подборку в фоне и получать удовольствие

Я не эксперт в ML, но задача вроде бы понятная - готовим датасет, берем модель, обучаем, приключение на 20 минут..

..сейчас, спустя год, когда мой pet-project наконец-то работает. Я смотрю на путь, который привел меня к этому результату. Даже не с точки зрения технологий(про ML лучше писать мастерам игры), а с точки зрения логики решения глазами разработчика. Вот этим я и хочу поделиться

Читать далее

Фаззинг телекома с генетическим алгоритмом: как тестировать продукт на безопасность, если обычных методов недостаточно

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели9.5K

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

Меня зовут Арина Волошина, я AppSec-инженер в YADRO и занимаюсь тестированием безопасности телеком-продуктов: базовой станции, контроллера базовых станций и системой управления элементами сети. Мы внедрили много разных видов тестирования в эти продукты, но этого оказалось недостаточно. В своих научных исследованиях я занималась генетическими алгоритмами, поэтому решила применить академические знания на практике и реализовать генетику в фаззинге. Что из этого вышло — читайте под катом.

Читать далее

Ближайшие события

Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.4K

Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать.

Открыть разбор

Экономисты OpenAI уволились, потому что компания отказывается публиковать правду об ИИ и рабочих местах

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели20K

Что происходит, когда ваши собственные исследователи называют вас пропагандистским рупором, почему CEO Anthropic признаёт, что 50% рабочих мест могут исчезнуть, и данные, которые OpenAI отчаянно хочет похоронить.

Ведущие исследователи только что покинули OpenAI. Не ради более высоких зарплат. Не чтобы присоединиться к Google или *Meta. Они ушли, потому что отказались участвовать в том, что считали масштабной пропагандистской операцией.

И то, что происходит за закрытыми дверями, должно беспокоить всех нас.

Том Каннингем, экономист и специалист по данным в OpenAI, уволился в сентябре. В своём внутреннем прощальном сообщении он не стал подбирать слова. По его словам, команда экономических исследований всё дальше уходила от настоящей науки, превращаясь, цитирую, «в пропагандистский рупор своего работодателя».

Читать далее

Методология триады: как я выстроил работу с двумя AI-агентами

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.4K

Начало года. Самое время пересмотреть рабочие процессы. Пока задачи ещё не навалились, можно спокойно попробовать что-то новое. Расскажу про подход, который изменил мою работу за последний год.

В какой-то момент понял, что нужен помощник, который возьмёт на себя рутину. Не замена мне, а усилитель. Чтобы я мог сосредоточиться на архитектурных решениях и сложных случаях, пока кто-то другой пишет типовой код по моим инструкциям.

Этим «кем-то» стали нейросетевые агенты. Расскажу про подход, который мы обкатали на нескольких проектах в рамках экспериментов с этими инструментами.

Читать далее

Анимированные визуализации потоков данных: движение товаров, денег и пользователей

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели23K

В современном мире данным кроме накапливания ещё присуще такое свойство как двигаться. Причём они движутся постоянно. Пользователи переходят между страницами и приложениями, товары перемещаются по глобальным логистическим сетям, а деньги циркулируют между счетами, банками и платёжными системами.

В таких условиях традиционные инструменты аналитики — таблицы, статические графики и отчёты, хорошо отвечают на вопросы сколько? и ему подобные, но плохо показывают как именно это происходит. Чтобы понять динамику процессов, выявить узкие места и увидеть реальные взаимосвязи, всё чаще используют анимированные визуализации потоков данных.

Именно о них предлагаю поговорить сегодня.

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

Читать далее

API-контракты: повышаем уровень зрелости SDLC-процесса

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели4.2K

За последние шесть лет испробовал множество аспектов работы с API-контрактами, не только с точки зрения проектирования, но и остальных этапов жизненного цикла этих артефактов.

Так-то API-контракт может быть не просто набором методов, которые «по-бырику» выставили, пока дальше код пишется, а что-то более зрелое и, соответственно, требующее более зрелого и продуманного подхода.

На что стоит обратить внимание при работе с API-контрактами внутри дружественной корпоративной среды множества разрабатываемых ИТ-систем?

Посмотреть одним глазком

Баги в ядре Linux в среднем прячутся по 2 года. Некоторые скрываются до 20 лет

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели6.4K

Прямо сейчас в вашем ядре есть баги, которые не найдут ещё многие годы. Я знаю это, потому что проанализировал 125183 бага с отслеживаемой меткой Fixes: за 20-летнюю историю Git ядра Linux.

Прежде чем баг обнаружат, он в среднем живёт в ядре 2,1 года. Но в некоторых подсистемах ситуация гораздо хуже: для драйверов шины CAN этот срок в среднем составляет 4,2 года, для сетевого протокола SCTP — 4,0 года. Самый долгоживущий баг в моём датасете (переполнение буфера в ethtool) прятался в ядре 20,7 года. Баг, который я проанализирую в статье подробно (утечка refcount в netfilter), прожил 19 лет.

Я создал инструмент, перехватывающий 92% исторических багов в тестовом датасете на этапе коммитов. Ниже я расскажу, какую информацию мне это дало.

Читать далее

Убийцы иммутабельной производительности — Zustand/Redux в связке с React

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.5K

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

Читать далее