Feed aggregator

Разбор атаки на 2FA российского банка

Habr.com - Thu, 03/26/2026 - 12:47

Сегодня разберём реальный кейс пентеста крупного российского банка. Поговорим о том, как двухфакторная аутентификация превратилась в иллюзию безопасности, и что делать, чтобы ваша защита не была такой же. Речь пойдёт не о сложных zero‑day эксплоитах, а о банальной ошибке, которая до сих пор встречается. Мы посмотрим, как 4 цифры в SMS и отсутствие лимитов открыли доступ к паспортам, документам и финансовым заявкам. И главное — разберём, как закрыть эту дыру ещё на этапе проектирования.

Читать далее

Рабочий чат VS Сообщество. Кто круче?

Habr.com - Thu, 03/26/2026 - 12:45

Привет! Меня зовут Марина Мелкова и я отвечаю за профессиональные сообщества в ОТП Банке. Иногда на конференциях, тематических встречах с представителями бизнеса звучат комментарии: «Что вы там такое про сообщества рассказываете? Сделали чат и вот вам сообщество!» С одной стороны, логика в этом есть. С другой, если бы все было так просто, не было бы комьюнити-менеджеров и методологий. Разбираемся, почему не каждый чат может стать сообществом и расставляем точки над i.

В начале было слово

Человек - существо социальное. Это еще Аристотель заприметил. Со времен Древней Греции в этом отношении мало что изменилось. Мы интуитивно стремимся к общности - создаем семьи, объединяемся в группы, вместе работаем. И кажется, если просто создать чат на одной из платформ и пригласить туда участников, они начнут сами общаться между собой и вот вам и сообщество.

На самом деле общая платформа для общения – только вершина айсберга. Сообщество основывается на добровольном участии. Как только вы делаете чат и загоняете туда людей, вы сразу же нарушаете первое правило формирования сообществ. Это как правила робототехники - можно не знать, но они все равно будут действовать. В неволе не только морские млекопитающие типа нарвалов не размножаются, но и профессионалы в незнакомой или враждебной среде не охотно проявляются. Так что чат есть, люди есть, но сообщества нет.

Труд облагораживает

Реальный кейс. Есть рабочая группа, она активно работает – общение кипит, kpi выполняются. Даже мемы по пятницам есть, и неформальные шутки, и общий опыт регулярных встреч. И тут мы слышим, как про эту продуктивную рабочую группу говорят, что это успешное профессиональное сообщество.

Читать далее

BDR: Почему ваши тесты на Playwright флакают в CI и как перестать жечь на этом деньги? Lead-гайд (Часть 1)

Habr.com - Thu, 03/26/2026 - 12:39

Ваши тесты стабильно проходят локально, но в CI каждое утро — красный океан? Вы тратите часы на дебаг флаков, а стейджинг «ложится» в самый неподходящий момент? Знакомо? В этом гайде расскажу, как перестать жечь бюджет CI и превратить автотесты из источника боли в живую документацию, следуя методологии BDR (Behavior-Driven Living Requirements).

Почему это важно:
Если у вас уже 100+ тестов или вы только закладываете фундамент — неправильная архитектура будет стоить команде десятков часов дебага и простоя CI. Но есть проверенные практики, которые внедряются за пару часов и экономят деньги каждый день.

Вы узнаете:

Как использовать Dependency Projects вместо globalSetup, чтобы строить граф иммунитета и экономить 40 минут CI при падении окружения.

Почему авторизация через API — это база, а UI-логин должен быть только в одном тесте.

Как выбирать локаторы, чтобы не переписывать тесты после каждого апдейта фронтенда: getByTestId для действий, getByRole для проверок.

Почему isVisible() — зло, и как web-first assertions (с ретраями) убивают race conditions.

В чём ловушка гидратации и почему force: true — это маскировка проблемы, а не решение.

Как блокировать маркетинговый мусор (метрики, чаты), чтобы тесты не зависели от сторонних тормозов.

Как Trace Viewer превращает дебаг из гадания в машину времени: смотрим не просто скриншоты, а консоль, сеть и интерактивный DOM в момент падения.

Прагматичный подход к линтерам: что включать как error, а что — как warn, чтобы не перегнуть палку.

Для кого:
Для QA-инженеров, которые хотят поднять свои тесты на промышленный уровень. Для тимлидов, которые устали от горящего CI и хотят стандартизировать подход в команде. Для всех, кто использует Playwright и хочет спать спокойно.

Бонус:
Cheat sheet по web-first ассертам, шпаргалка частых флаков и готовые конфиги для playwright.config.ts и .eslintrc.js. А в конце — челлендж: примените 5 правил уже сегодня и оцените стабильность.

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

Подход и код — в открытом репозитории на GitHub. Поехали!

Читать далее

Безопасный file upload в Go: 7 атак на загрузку файлов и как мы их закрывали

Habr.com - Thu, 03/26/2026 - 12:28

«Сделай форму загрузки PDF» – звучит как задача на полчаса. Claude/GPT напишет handler, мы добавим accept=".pdf" на фронте, multer на бэке – и вот у нас работающий upload. Можно деплоить.

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

С распространением LLM-инструментов порог входа в разработку снизился радикально. Это прекрасно – больше людей могут создавать продукты. Но вместе с порогом входа снизился и порог входа для уязвимостей. Когда LLM генерирует код загрузки файла, она решает функциональную задачу: принять файл, сохранить, обработать. Безопасность? «Добавлю потом». А «потом» обычно наступает после инцидента.

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

Читать далее

[Перевод] Революция ИИ в 2026 году: ключевые тренды, которые должен знать каждый разработчик

Habr.com - Thu, 03/26/2026 - 12:26

Темпы развития ИИ в разработке программного обеспечения не просто сохранились — они фундаментально изменились. Если 2025 год стал годом, когда ИИ закрепился в роли ежедневного помощника разработчиков, то 2026 — это год, когда он стал полноценным соавтором. Сегодня 67% разработчиков по всему миру применяют их в своих рабочих процессах. Мы перешли порог от экспериментов к инфраструктуре.

Вот десять трендов, которые определяют разработку с использованием ИИ в 2026 году и что вам с этим делать.

1. Agentic AI: от диалога к автономным действиям

Самый большой сдвиг парадигмы в 2026 году — это переход от разговорного ИИ к агентному ИИ — системам, которые не ждут запросов, а самостоятельно формируют и выполняют многошаговые планы. Инструменты вроде Claude Code, агентного режима GitHub Copilot и Cursor теперь берут на себя целые рабочие процессы: читают кодовую базу, планируют изменения в нескольких файлах, запускают тесты и итеративно исправляют ошибки — полностью автономно.

Это уже не просто автодополнение кода. Эти агенты понимают контекст репозитория, историю коммитов и архитектурные паттерны. В отчёте Anthropic «Agentic Coding Trends 2026» это называется «интеллект репозитория» — ИИ, который понимает не только строки кода, но и связи и намерения за ними.

Что изменилось с 2025 года: в прошлом году мы говорили о «инструментах разработки с ИИ, выходящих за рамки автодополнения». В 2026 году мы перескочили от расширения возможностей к делегированию. Разработчик уровня 10x может превратиться в 100x — не за счёт написания большего количества кода, а за счёт управления агентами, которые это делают.

Читать далее

Новый слабо централизованный мессенджер с E2E-шифрованием и групповыми чатами, написанный на Go при помощи Fyne

Habr.com - Thu, 03/26/2026 - 12:23

Мысль написать свой мессенджер у меня возникла ещё этак в прошлом году, почти четыре месяца назад. Тогда ещё трава была зеленее и Telegram нормально функционировал, без замедления и финального блокирования. Из-за работы, других проектов и в конце-концов лени я откладывал написание мессенджера до лучших худших времён. И вот такие времена настали, телеграм был полностью заблокирован и без использования VPN до него уже нормально не достучаться. С полыхающей пятой точкой и мотивацией Вергилия я решил наконец-таки начать писать мессенджер, который в результате был создан за неделю.

Читать далее

[Перевод] Математики нашли неожиданные связи между разными формулами для вычисления числа пи

Habr.com - Thu, 03/26/2026 - 12:21

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

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

Читать далее

Я перестал описывать изображения нейросети — и начал показывать. Что из этого вышло

Habr.com - Thu, 03/26/2026 - 12:19

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

У меня была довольно простая идея — сделать несколько принтов с хоккеистами. В итоге всё закончилось тем, что я превратил их в богов и собрал серию THE HOCKEY GODS SERIES.

1. Предисловие

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

Идея была такова: сделать небольшую коллекцию футболок с эпичными изображениями современных хоккеистов. Идея базировалась на трёх архетипах «Александр Овечкин — Архангел», «Здено Хара — Кибервойн» и «Виктор Хедман — Ледяной страж», но в процессе работы по ряду соображений (узнаваемость бренда у российский аудитории и некоторые сложности с результатами генерации по Здено Харе) я решил исключить всех иностранных хоккеистов или выделить их в отдельный блок. Таким образом, сейчас в коллекцию входят футболки со следующими хоккеистами: Александр Овечкин, Артемий Панарин, Сергей Бобровский, Павел Дацюк, Михаил Сергачёв и Евгений Малкин.

Читать далее

[Перевод] Структуры данных на практике. Глава 9: Двоичные деревья поиска

Habr.com - Thu, 03/26/2026 - 12:17

Катастрофа с красно-чёрным деревом

Компилятор тратил 60% времени на поиск символов. Не на парсинг, не на генерацию кода, просто на поиск в таблице символов.

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

«У него O(log n); судя по учебникам, оно идеально подходит для этой цели», — сказал мой коллега.

Но профилировщик показывал иное...

Читать далее

Я устала писать одно и то же для форм в Next.js. Поэтому написала typed-form-actions

Habr.com - Thu, 03/26/2026 - 12:16

Мне нравится направление, в котором движутся React и Next.js: нативные формы, Server Actions, меньше клиентского JavaScript, больше progressive enhancement.

На уровне идеи это очень красиво.

Но как только форма становится сложнее, чем одно поле email, выясняется, что вокруг нее снова появляется много однотипного glue code.

Читать далее

Процессоры для ноутбуков от NVIDIA: что известно о характеристиках N1/N1X

Habr.com - Thu, 03/26/2026 - 12:06

Во втором квартале 2026 года ожидается выход процессоров NVIDIA новой линейки N1/N1X, которая создается в партнерстве с MediaTek. Чипы объединяют 20-ядерный ARM-процессор и интегрированную графику Blackwell с 6144 CUDA-ядрами, как у настольной RTX 5070. Одними из первых устройств ожидаются ноутбуки Dell и Lenovo, включая игровые Alienware и трансформеры Yoga.

Разберемся, как устроена архитектура N1/N1X, для каких задач эти чипы подходят лучше всего и когда они появятся в продаже.

Читать далее

Как обойти модерацию Facebook Ads — 8 актуальных методов 2026

Habr.com - Thu, 03/26/2026 - 12:05

Сегодня львиная доля работы каждого арбитражника это поиск связок и схем, по которым можно работать. Особенно это актуально сейчас, когда Facebook Ads начал максимально душить всех и вводить всё больше ограничений.

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

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

В спаях иногда можно увидеть жесткие 18+ кадры, которые арбитражники проталкивают именно такими методами.

Некоторые фишки Фейсбук фиксит, и они перестают работать, но многие остаются актуальными. Про них я вам и расскажу.

Я собрал 8 рабочих способов как пройти модерацию фейсбук и минимизировать реджекты. 

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

Итак, поехали!

Читать далее

Пиролизная газогенерация: для отопления и транспорта

Habr.com - Thu, 03/26/2026 - 12:05

Г.Г.Токарев, «Газогенераторные автомобили»

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

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

Читать далее

5 старых шрифтов и история их создания

Habr.com - Thu, 03/26/2026 - 12:03

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

Читать далее

Миллиард записей и 8 Марта: как YDB спас праздник

Habr.com - Thu, 03/26/2026 - 12:01

Чем покупка букета на 8 Марта через Яндекс Еду отличается от покупки, собственно, еды? С точки зрения пользователя — ничем. Выбрал, оплатил, доставили. А вот с точки зрения разработчика бэкенда заказ уникальных букетов превращается в нетривиальную инженерную задачу синхронизации складских запасов. Задержка синхронизации хотя бы в 10 минут трансформируется в звонок и сборщиков заказов, сообщающих о том, что именно такого букета на складе больше нет. 

Меня зовут Виталий Московкин, я занимаюсь ритейлом в Яндекс Еде. В статье я расскажу, как мы синхронизировали состояние складов с 18 миллионами уникальных товаров: сначала с помощью PostgreSQL, а затем с помощью YDB. Такое количество товаров превращается на бэкенде в 4 миллиарда записей о ценах и стоках, которые нельзя просто так кешировать. Но и замена монолитной СУБД на распределённую тоже задача не на десять минут. Подробности — под катом.

Читать далее

UX-исследование первой сессии и активации в DeFi приложениях

Habr.com - Thu, 03/26/2026 - 12:00

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

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

Читать исследование

Как мы превратили PingZen в MCP-сервер с 126 инструментами (и вы можете управлять мониторингом из Claude Code)

Habr.com - Thu, 03/26/2026 - 12:00

Мониторинг часто воспринимают как «ещё одну панель», на которую нужно иногда поглядывать. Открыть браузер, зайти в дашборд, проверить зелёные кружочки, закрыть. Но что, если сделать его частью вашего повседневного инструментария - как git, как curl, как любимая IDE? Именно для этого мы добавили в PingZen поддержку MCP.

Сегодня я расскажу, как мы превратили наш сервис в MCP-сервер с 126 инструментами, почему выбрали MCP SDK и как вы уже сейчас можете управлять мониторингом из Claude Code, Cursor и других AI-агентов. Без переключения контекста, без лишних движений - только нужные действия там, где вы работаете.

Читать далее

Превращаем дом из клееного бруса в умный: без лишних переделок и ремонта

Habr.com - Thu, 03/26/2026 - 12:00

Прокладывать кабели в деревянном доме всегда сложно. На этапе сборки стен в бревнах или брусе сверлят отверстия и сразу закладывают кабели. После сборки изменить кабельную систему почти невозможно: приходится прокладывать линии снаружи — в трубах или кабель-каналах, что портит интерьер.

В этом проекте заказчик сначала планировал автоматизировать только отопление, но уже в процессе решил сделать полноценный умный дом. К этому моменту дом уже был построен.

В статье расскажем, как удалось превратить этот дом в умный с минимальными вмешательствами.

Приходите к нам на WBCE 2026 — выставка и конференция по автоматизации. Отчёты с прошлых выставок.

Читать далее

От Agile до SRE: полный цикл современной разработки на 1С в МТС

Habr.com - Thu, 03/26/2026 - 12:00

Привет, Хабр! Меня зовут Марат Мустафин, я ведущий системный архитектор в «Стрим 1С» группы МТС. Мы поддерживаем и развиваем внутреннюю 1С-экосистему для дочерних компаний, обслуживаем около 1000 пользователей и выпускаем релизы раз в неделю. В этом материале расскажу, как мы выработали подход, сочетающий современные практики DevOps (Development & Operations — разработка и эксплуатация/поддержка) со спецификой платформы, а также поделюсь процессами разработки и нашими ключевыми принципами.

«Стрим 1С» появился в группе МТС в 2021 году как продуктовая команда, которая закрывает автоматизацию ключевых внутренних бизнес-процессов дочерних компаний. У нас работают около 50 специалистов: разработчики, аналитики, архитекторы, QA-инженеры, а также Product Owners и CTO. Функции DevOps в основном закрываем силами архитекторов, но иногда привлекаем профильные команды под конкретные задачи. Формально наш «Стрим 1С» состоит из нескольких команд, отвечающих за свои продукты, но об этом расскажу чуть подробнее дальше.

За время существования «Стрим 1С» мы собрали экосистему, которая обеспечивает:

еженедельные релизы с высоким уровнем качества, автоматизированный путь от разработки до публикации и надежной инфраструктурой с георезервированием;

разделение ответственности между продуктовыми командами, отлаженные Agile-процессы с регулярными ретроспективами, а также культуру код-ревью (code review — проверка кода другим разработчиком) и коллективной ответственностью за качество;

современный стек мониторинга и наблюдаемости, комплексное автоматизированное тестирование и инфраструктура как код через Jenkins и Gitlab CI.

В этом нам помогли несколько принципов:

Автоматизация рутины. Мы отслеживали повторяющиеся действия от сборки релизов до развертывания тестовых контуров и старались уменьшить число ручных операций. За счет этого команда тратит больше времени на бизнес-задачи.

Культура качества. Многоуровневый контроль через код-ревью, автотесты и повторное тестирование помогает держать прод стабильным при высокой скорости изменений.

Наблюдаемость системы. Комплексный мониторинг позволяет заранее замечать проблемы и разбирать их по данным.

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

В этом материале я покажу, как мы реализуем эти принципы, как встроены в корпоративные процессы и как развили разработку 1С до полноценного направления.

Читать далее

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

Habr.com - Thu, 03/26/2026 - 11:38

Всем привет! Меня зовут Шабашев Валерий. Я работаю Python-разработчиком в ТехВилле и параллельно занимаюсь научной деятельностью в аспирантуре, где исследую поведение языковых моделей, концептуальный дрейф и методы адаптации моделей к новым данным.

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

За последние несколько лет большие языковые модели (LLM) стали активно применяться в различных областях, где требуется работа с текстовой информацией. Они умеют генерировать тексты, анализировать данные и даже помогать в принятии решений. При этом ключевой вопрос сегодня уже не в том, что модель знает, а в том, как она использует эти знания.

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

И именно это сегодня становится ключевой проблемой - не недостаток знаний у модели, а отсутствие надёжного механизма проверки и верификации рассуждений.

Читать далее

Who's online

There are currently 1 user and 7 guests online.
Syndicate content