Тег

Кодинг

83 материала · RSS

Уязвимости Claude Code позволяли выполнить код и приводили к утечке ключей API

Исследователи из компании Check Point обнаружили три уязвимости в ИИ-ассистенте для разработчиков Claude Code. Проблемы позволяли выполнять произвольный код на машине жертвы и похищать ключи API. Для атаки достаточно было…

Баги в Cursor AI могли использоваться для выполнения произвольного кода

В популярном ИИ-редакторе кода Cursor AI исправили сразу несколько уязвимостей. Баги позволяли незаметно изменить конфигурационные MCP-файлы и выполнить произвольный код без запроса и одобрения пользователя.

Новые атаки типа слопсквоттинг строятся на «галлюцинациях» ИИ

Эксперты предупреждают о новом типе атак на цепочку поставок, получившем название слопсквоттинг (slopsquatting). Такие атаки становятся возможны благодаря широкому применению генеративных ИИ-инструментов для кодинга, так как модели склонны к «галлюцинациям»…

Группа Lazarus атакует Python-разработчиков с помощью фейковых тестовых заданий

Аналитики ReversingLabs предупреждают, что участники северокорейской хак-группы Lazarus выдают себя за рекрутеров и предлагают Python-разработчикам пройти тестовые задания, якобы связанные с разработкой менеджера паролей. На самом деле никакого менеджера паролей…

GitHub представила ИИ-инструмент, который будет искать уязвимости в коде

Разработчики GitHub представили новую ИИ-функцию, позволяющую ускорить исправление уязвимостей во время написания кода. Пока функция представлена в публичной бета-версии и автоматически включается во всех приватных репозиториях для клиентов GitHub Advanced…

«Ростелеком-Солар» приглашает на работу программистов и пентестеров

Если ты пентестер, знаток C++ или Scala-разработчик, обрати внимание: вместе с «Ростелеком-Солар» мы предлагаем твоему вниманию одну из трех вакансий. А чтобы лучше познакомиться с будущим работодателем, мы расспросили руководителей…

PVS-Studio. Тестируем статический анализатор кода на реальном проекте

В этой статье я покажу тебе, как использовать статический анализатор кода для отлова багов в программе. Использовать мы будем PVS-Studio, и на живом проекте посмотрим, на какие ошибки он пожалуется,…

Фундаментальные основы хакерства. Практикуемся в поиске циклов при реверсе

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

Фундаментальные основы хакерства. Определяем циклы в двоичном коде программы

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

Фундаментальные основы хакерства. Разбираем самодеятельность компиляторов при трансляции оператора выбора

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

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

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

Секреты PowerShell. Создаем графический интерфейс для сценариев

Работая в терминале, мы управляем сценариями PowerShell с помощью параметров, которые указываются в командной строке при их вызове. Если с нашим сценарием будут работать обычные пользователи, то, добавив к нему…

Секреты PowerShell. Пишем HTTP-запросы и парсим страницы на PowerShell

В интернете есть множество сервисов, с которыми можно работать, обращаясь к их ресурсам по протоколу HTTP. Веб-разработчики постоянно работают с такими HTTP-запросами для доступа к функциям внешних API или для…

Круче кучи! Разбираем в подробностях проблемы heap allocation

Некоторые уязвимости возникают из-за ошибок с управлением памятью, выделенной на куче. Механизм эксплуатации этих уязвимостей сложнее, чем обычное переполнение на стеке, поэтому не все умеют с ними работать. Даже курс…

Анатомия терминала. Осваиваем текстуальную графику

Терминал на протяжении многих лет не утратил актуальность. Существует множество ресурсов, рассказывающих про внутреннюю кухню терминалов, но довольно поверхностно. Я постарался перекинуть мост через этот овраг и написал введение в…

КодингДля начинающих#274

Заплатка на асме. Создаем панель инструментов для Windows на Flat Assembler

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

КодингДля начинающих#272

Питоном по телеграму! Пишем пять простых Telegram-ботов на Python

В этой статье мы реализуем простой, но крайне полезный проект на Python — бота для Telegram. Боты — это небольшие скрипты, которые могут взаимодействовать с API, чтобы получать сообщения от…

КодингДля начинающих#269

Python с абсолютного нуля. Работаем с ОС, изучаем регулярные выражения и функции

Сегодня мы поработаем с файловой системой ОС, освоим могущественные заклинания под названием «регулярные выражения», изучим тонкости создания и вызова функций и под конец напишем простенький сканер SQL-уязвимостей. И всё это…

Опасная разработка. Изучаем уязвимости в сервисах поставки кода

Есть целый пласт программ, уязвимости и неправильные настройки которых могут обернуться бедой для компании. Для пентестера знание их багов — путь к успешной эксплуатации, для админа — возможность выстроить более…

Сборка мусора. Разбираем мифы об автоматическом управлении памятью

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

Неочевидный Kotlin. Советы, трюки, подводные камни программирования для Android

Kotlin — один из самых грамотно спроектированных, понятных и логичных языков последних лет. На Kotlin можно начать создавать приложения для Android, не изучая язык, но достигнуть мастерства одной лишь практикой…

КодингДля начинающих#257

Полная совместимость. Как работают статические исполняемые файлы в Linux

Многие пользователи Linux предпочитают устанавливать программы из репозиториев с помощью встроенного менеджера пакетов. Однако разработчики, очевидно, не могут включить в репозитории все программы в мире, поэтому иногда удобнее всего обойтись…

КодингДля начинающих#256

Нескучный Data Science. Пишем на языке R собственный детектор спама

Работать в Data Science, как ты мог слышать, – престижно и денежно. В этой статье я познакомлю тебя с азами языка R, который используют в «науке о данных». Конструируя программу,…

Ни единого разрыва. Пишем на C# утилиту для мониторинга сети

Надоели постоянные обрывы связи и косяки провайдера, но субъективные оценки типа «подвисает» не внушают доверия, лучший выбор — записать состояние сети в автоматическом режиме. Сегодня мы напишем утилиту, которая легко…

КодингХардкор#251

Шабаш шаблонов. Превращаем GCC в макетную плату с помощью шаблонов С++

Я люблю собирать логические схемы. Однако обычно для этого требуется либо симулятор, либо макетная плата. Как-то в дороге у меня был с собой ноутбук с компилятором, но не было интернета.…

Пять простых примеров, которые сподвигнут тебя изучить Python

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

ВзломДля начинающих#251

Фундаментальные основы хакерства. Учимся искать ключевые структуры языков высокого уровня

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

КодингДля начинающих#251

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках

Ряд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard ML) и Haskell, а также молодые Clojure и Rust. Если…

Переходим на Python 3. Как попрощаться с Python 2.7 и кодить дальше

В этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек и фреймворков тоже прекращают официальную поддержку Python 2, а целый…

ТрюкиХардкор#249

MP3-плеер своими руками. Как собрать и запрограммировать гаджет у себя дома

Мастерить свои электронные устройства — занятие, может быть, и не очень практичное, но увлекательное и познавательное. В этой статье я расскажу, как я создал собственный музыкальный плеер. Конечно, не iPod…

Twitch Extensions. Пишем свое расширение для взаимодействия со зрителями

Два года назад разработчики стриминговой платформы Twitch представили новый способ взаимодействия стримеров и зрителей — Twitch Extensions. Эта система позволяет разработчикам дополнять и улучшать интерфейс как сайта, так и мобильного…

Загадочный Forth. Знакомимся с одним из важнейших языков программирования, о котором мало кто знает

Forth применяют в самых разных областях, включая чипсеты PCI и космические аппараты, а Павел Дуров будет использовать схожий язык в смарт-контрактах криптовалюты TON. Не претерпев больших изменений, один из старейших…

Фаззинг глазами программиста. Как в Google автоматизируют поиск багов

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

Внутри x86-64 SystemV ABI. Как говорить с ядром Linux на его языке

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