SecureTechTalks
303 subscribers
805 photos
1 video
1 file
803 links
Добро пожаловать на канал "SecureTechTalks"! Мы предлагаем вам увлекательное и информативное погружение в мир кибербезопасности. Здесь вы найдете актуальные новости, советы, методы и инсайты по инфобезу.
Download Telegram
🤖 Копай глубже: как AI-помощники пишут уязвимый код

Нам обещали революцию в разработке. Но пока Copilot и другие AI-ассистенты генерируют код за секунды — они же могут открывать дверь для хакеров. 🧨

Исследование от Silviu Asandei (Sonar) показало: популярные AI-инструменты автодополнения кода нередко подсовывают небезопасные конструкции. Причём не потому, что "плохой AI", а потому что он учится на реальном, но не всегда хорошем коде из open-source 🧠

🔍 Что конкретно не так?

🧱 AI повторяет небезопасные шаблоны
Если где-то в 10 тысячах GitHub-репозиториев есть copy-paste с уязвимостями, ассистент их "учтёт" — и предложит тебе как «решение».

🔐 Отсутствие контроля безопасности
AI не всегда может отличить eval(user_input) от безопасного парсинга. А разработчик, доверяя “умному” помощнику, реже перепроверяет предложения.

📉 Слепая генерация — без контекста
AI не знает специфики твоей системы, модели угроз или политик безопасности. Он просто... продолжает строку.

⚠️ Всплывают уязвимости вроде XSS, SQL-инъекций, SSRF и insecure deserialization.

📌 Пример: как Copilot подставил под атаку

🤖 Разработчик просит: "Напиши API-обработчик формы регистрации пользователей".
Copilot выдаёт рабочий код, но:
Не экранирует поля
Пропускает валидацию
Не ставит rate-limit
🎯 Идеально для злоумышленника.

📊 Что показало исследование Sonar?

🔎 Проведён анализ кода, сгенерированного в популярных IDE
📈 Значительное число сниппетов содержат:
- небезопасные функции
- прямые обращения к
- опасным API
- отсутствие проверки прав доступа

Иными словами, автоматизация ≠ безопасная разработка

🧰 Как себя защитить?

🛠 Используйте инструменты анализа:
SAST (Static Application Security Testing)
Linter'ы с поддержкой security-правил
AI-критики

📚 Обучайте разработчиков:

1⃣ Не полагаться слепо на AI
2⃣ Понимать OWASP Top 10
3⃣ Ставить "контрольные точки" в пайплайнах CI/CD

🧠 Доверяй, но проверяй. Особенно если код пишется за секунду.

Stay secure and read SecureTechTalks 📚

#SecureTechTalks #AIcode #Copilot #CodeSecurity #AIrisks #DevSecOps #StaticAnalysis #Sonar #CyberSecurity #XSS #AIandIDE #OWASP #SecureByDesign #AIDangers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧬 Код как отпечаток пальца: уязвимости начинают искать по стилю

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

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

⚙️ Стиль становится сигналом

Code stylometry - подход, который смотрит на код не как на программу, а как на поведение автора. Модель работает на уровне структуры, она анализирует абстрактные синтаксические деревья, последовательности токенов, частоту и комбинации конструкций.

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

Речь идет не о поиске конкретной уязвимости, а склонности к ней.

🧪 От поиска к предсказанию

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

Технически за этим стоят обычные ML-пайплайны, обучение на размеченных данных, где известны уязвимости. 

Впервые объектом анализа становится не сам код, но и стиль его написания как фактор риска.

🧨 Почему это работает?

Причина в том, что разработчик не пишет код «с нуля» каждый раз. Он воспроизводит себя. Одни и те же способы обработки ошибок, одни и те же допущения кочуют из файла в файл. Если в одном месте это привело к уязвимости, в другом вероятность резко возрастает.

Модель, в отличие от человека, не ищет логическое объяснение. Она фиксирует статистическую закономерность.

🕵️‍♂️ Код рассказывает о человеке

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

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

🔗 Подробнее с подходом можно ознакомиться в исследовании.

P.S. интересно будет составить список паттернов для каждой LLM.

Stay secure and read SecureTechTalks 📚

#кибербезопасность #AI #LLM #CodeSecurity #VulnerabilityDetection #Infosec #CyberSecurity #StaticAnalysis #AIrisks #SecureTechTalks
👍1
🔬 Исследователи решили «допилить» CodeQL с помощью LLM

Большинство SAST движков работают через data flow analysis (DFA).

Система пытается ответить вопрос, может ли пользовательский input добраться до опасной операции? Однако built-in rules часто знают только «популярные» фреймворки и ограниченный набор propagation patterns.

Если используются нестандартные framework или кастомные wrapper, то flow фактически исчезает из анализа.

🧠 LLM как переводчик

Исследователи решили использовать LLM для автоматического обнаружения sources и sinks внутри open-source framework’ов.

Модель анализировала код библиотек и помогала определять:
🔹 откуда реально приходит user-controlled input
🔹 какие API являются опасными
🔹 как данные передаются через абстрактные слои

Дальше всё это превращалось в кастомные правила для CodeQL.

Идея оказалась довольно жизнеспособной, но исследователи пошли дальше.

🧪 А потом они полезли в кишки CodeQL

Вторая часть исследования: авторы начали патчить сам Data Flow Engine.

Добавили поддержку вещей, на которых анализ традиционно ломался:
🔹 Java reflection
🔹 partial native methods
🔹 сложные value-passing scenarios
🔹 propagation через language-specific edge cases

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

📈 Цифры

После расширения framework coverage исследователи получили 15% дополнительных data flow поверх стандартных правил CodeQL.

Кроме того, им удалось воспроизвести 50+ исторических CVE, которые оригинальный CodeQL раньше не видел.

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

Возможно, ближайшее будущее AppSec это LLM-enhanced SAST, где модель постоянно расширяет карту data flow и учит scanner видеть то, что раньше было слепой зоной.

🔗 Презентация: https://i.blackhat.com/BH-USA-25/Presentations/USA-25-More-Flows-More-Bugs-Empowering.pdf

Stay secure and read SecureTechTalks 📚

#кибербезопасность #AI #LLM #SAST #CodeQL #AppSec #StaticAnalysis #DevSecOps #CyberSecurity #SecureTechTalks
👍2