Самая большая проблема ИИ-программирования наконец-то решена

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00ИИ сделал программирование доступным для всех, и люди начали выпускать код гораздо
00:00:04быстрее.
00:00:05Но еще быстрее внутри этих приложений начали накапливаться проблемы с безопасностью.
00:00:09И в последние несколько месяцев ситуация на самом деле ухудшилась.
00:00:12Было много случаев, когда агент удалял весь проект пользователя.
00:00:16Другой агент удалил всю рабочую базу данных, пока разработчик работал над
00:00:20чем-то совершенно не связанным.
00:00:22И было много подобных проблем, таких как утечка внутреннего файла Clod.md от Apple.
00:00:26Поэтому инструменты, способные выявлять эти проблемы, сейчас важнее, чем когда-либо.
00:00:30Видя этот рост проблем, Vercel только что выпустила защитный каркас для обнаружения брешей в приложениях,
00:00:35созданных ИИ, под названием DeepSec.
00:00:37Вы можете подумать, что Claude Code уже может сам проводить проверку безопасности своими агентами.
00:00:42Так зачем же вообще нужен DeepSec?
00:00:44Дело в том, что DeepSec — это структурированный инструмент, который проводит проверки гораздо более систематично.
00:00:49Под капотом он использует таких агентов кодирования, как Claude Code и Codex.
00:00:52Инструмент предназначен для сканирования больших репозиториев, так как поддерживает параллельную архитектуру,
00:00:57которая ускоряет процесс и объединяет код в группы, что делает его идеальным для
00:01:01проверки больших кодовых баз.
00:01:03Стоит заметить, что он создавался не с мыслью об экономии.
00:01:06Они используют самые мощные модели Claude Code и Codex, а именно Opus 4.7 на
00:01:10максимальной мощности и GPT 5.5 с x-высоким уровнем рассуждений, которые потребляют много токенов.
00:01:16А при их параллельной работе расход токенов быстро растет, увеличивая стоимость.
00:01:20Несколько известных приложений уже запустили этот инструмент на своих кодовых базах и сообщили о хороших результатах.
00:01:25В проведенных тестах уровень ложноположительных результатов этого инструмента составляет примерно 10-20%.
00:01:30Это число значительно, учитывая обычную точность больших языковых моделей.
00:01:33Напротив, это означает, что агент прав в большинстве случаев, и показатель истинно положительных результатов
00:01:37высок.
00:01:38Именно архитектура, лежащая в основе, делает его особенным.
00:01:40Если вы попросите Claude Code или любого агента провести проверку безопасности, он начнет с прямого сканирования
00:01:45кодовой базы, а затем создаст полный отчет.
00:01:48Это не только занимает много времени, но и расходует много токенов, и при этом проверка
00:01:52все равно может что-то упустить.
00:01:53Поэтому первая часть этого процесса — сканирование, выполнение проверки всех файлов только с помощью RegEx
00:01:58на наличие областей, чувствительных к безопасности, на которых сосредоточатся последующие шаги.
00:02:01Обнаружение через RegEx важно здесь, потому что инструмент рассчитан на большие кодовые базы, где
00:02:06легко могут быть тысячи файлов.
00:02:08Сопоставление RegEx — это серия шаблонов кода, которые соответствуют известным областям, где вероятны
00:02:13уязвимости безопасности, и затем отфильтровывают эти файлы из общего пула.
00:02:16После того как большой пул файлов отфильтрован, следующим шагом идет исследование с помощью агента.
00:02:21Агент — это дорогостоящая часть, потребляющая много токенов и обычно занимающая много
00:02:25времени в зависимости от того, насколько велика ваша кодовая база.
00:02:28Поэтому этот инструмент разбивает все файлы на пакеты и параллелит их, чтобы их можно было обрабатывать
00:02:32одновременно.
00:02:34Как только этот процесс завершен, следует еще один шаг — ревалидация, где результаты исследования
00:02:37перепроверяются, чтобы исключить ложные срабатывания.
00:02:40В случае если что-то было упущено, этот этап это ловит и гарантирует, что классификация выполнена
00:02:45верно.
00:02:46Эта ревалидация на самом деле является необязательной.
00:02:47После этого агент использует метаданные Git и другие источники, чтобы определить, какие люди
00:02:51несут ответственность за конкретные проблемы.
00:02:53Когда все готово, результаты сохраняются в формате Markdown или JSON, чтобы их можно было
00:02:57превратить в тикеты как для людей, так и для агентов кодирования.
00:03:01Как упоминалось ранее, файлы группируются в пакеты, примерно по 5 файлов,
00:03:05обрабатываемых вместе в одном пакете.
00:03:06Для каждого пакета собирается свежий промпт на основе выявленного фреймворка вместе с
00:03:11другой информацией о проекте.
00:03:12Затем они анализируются с помощью Claude Agent SDK или Codex Agent SDK, в зависимости от настроек,
00:03:17и им предоставляются инструменты с доступом только для чтения, чтобы понять содержимое кодовой базы.
00:03:22Получив результаты, все объединяется в один файл, в котором удаляются дубликаты
00:03:26и проводится нормализация.
00:03:27В конце есть этап доработки, чтобы убедиться, что анализ действительно охватил всё.
00:03:31Эта архитектура делает его эффективным благодаря систематическому процессу и структурированному методу
00:03:36анализа, помогая выявлять проблемы гораздо лучше, чем без этого каркаса.
00:03:41Чтобы протестировать это, мы использовали open-source проект — веб-приложение, содержащее
00:03:45встроенные риски безопасности специально для практики.
00:03:47Мы хотели посмотреть, сможет ли этот инструмент обнаружить все проблемы в этом репозитории
00:03:52самостоятельно.
00:03:53Этот проект содержит 10 проблем безопасности со всеми деталями прямо в самом
00:03:56коде, включая инструкции по их устранению.
00:03:58Чтобы запустить DeepSec, вы сначала выполняете команду deepsec init, которая устанавливает зависимости
00:04:03и создает папку .deepsec, а затем вы устанавливаете зависимости внутри этой папки.
00:04:08Она также дает вам промпт, который нужно вставить в любого используемого вами агента кодирования.
00:04:12Поскольку мы использовали Claude Code, мы запустили этот промпт в Claude, который содержит инструкции
00:04:16по созданию небольшого файла info.md, включающего всю информацию о проекте и построенного
00:04:21по определенному шаблону.
00:04:23Вам не нужно запускать эту команду в самой папке проекта, вы запускаете ее в папке .deepsec,
00:04:27потому что она приказывает агенту заглянуть в предыдущую директорию и прочитать всю
00:04:31информацию оттуда.
00:04:32Файл info.md содержит общий обзор того, что делает кодовая база и как выглядит поток
00:04:37аутентификации, а также модели угроз, специфичные для проекта паттерны и все известные
00:04:42ложные срабатывания в коде.
00:04:44После создания этого файла следующая задача — запустить команду deepsec scan.
00:04:48Эта команда запускает тот самый сопоставитель RegEx, о котором мы говорили ранее, находит все подходящие
00:04:52эндпоинты и перечисляет все отфильтрованные файлы с потенциальными проблемами безопасности.
00:04:57Эта часть проходит быстро, так как это просто работа кода в действии.
00:05:00Следующий шаг — запуск команды deepsec process.
00:05:02Вы можете указать любой API-ключ нужной вам модели, будь то шлюз Vercel API,
00:05:07Codex или Claude, в файле .env.local.
00:05:11Но если вы этого не сделаете, как и мы, он автоматически переключится на подписку Claude Code
00:05:16и будет использовать вашу аутентификацию вместо запроса API-ключа.
00:05:19Он разбивает проект на пакеты и вызывает несколько инструментов для каждого из них.
00:05:23После каждого пакета он выдает сводку о том, сколько токенов было использовано и какова
00:05:27была примерная стоимость.
00:05:28Если вы используете подписку, с вас не будет взиматься плата сверх ее стоимости,
00:05:32но он все равно предоставляет оценку затрат на API.
00:05:35Поскольку это разработано для проверки больших кодовых баз, во главу угла ставится надежность.
00:05:39Так что в случае возникновения ошибок во время проверки, он не начинает всё
00:05:43с нуля, а продолжает с того места, где произошла ошибка.
00:05:46Как только сканирование завершено, вы запускаете команду deepsec report, и она генерирует отчет
00:05:50в форматах JSON и Markdown, содержащий общий обзор всех находок, классифицированных
00:05:55по уровню серьезности.
00:05:56Теперь, когда отчет создан, вы можете запустить этап ревалидации.
00:06:00Этот шаг является полностью необязательным.
00:06:02Вы можете запустить его, если хотите, или полностью пропустить.
00:06:04При запуске он проверяет находки, чтобы выяснить, являются ли они
00:06:08ложноположительными или нет.
00:06:09После этого вы можете экспортировать всё с помощью команды export, и она запишет
00:06:13результаты в папку findings.
00:06:15В этой папке проблемы упорядочены по приоритету в названиях папок, и для каждой
00:06:20выявленной проблемы создается отдельный файл.
00:06:22Сначала указывается источник проблемы, то есть конкретный файл и строки, вызвавшие её,
00:06:26степень серьёзности и уверенность модели в её идентификации.
00:06:30Также упоминается, какой коммит внес проблему, и назначается пользователь, совершивший его.
00:06:34Затем объясняется рекомендуемое исправление, приводятся результаты ревалидации и перечисляются
00:06:39все проблемы, которые были явно затронуты.
00:06:41В отчет также включены шаги для воспроизведения багов.
00:06:44Однако этот отчет всё равно не выявил все проблемы, хотя инструкции были
00:06:48прямо в коде, и он должен был быть в состоянии их найти.
00:06:52Поэтому мы обсудили с Claude, почему исходные уроки по уязвимостям, которые были заложены
00:06:56в приложение по задумке, не были идентифицированы.
00:06:59В ходе итерации с Claude мы выяснили, что причина, по которой инструмент выдал только 3 результата, заключалась
00:07:03в явном упоминании в файле info.md.
00:07:07DeepSec ожидал приложение, где 10 уязвимостей уже известны, и сосредоточился только на проблемах
00:07:12помимо них, потому что они уже были известны. То есть он пытался выйти за рамки
00:07:16уже известного и сосредоточиться на других паттернах, чтобы сканирование стало гораздо
00:07:21эффективнее и не тратило время и токены на уже задокументированные проблемы.
00:07:25Затем мы протестировали другое приложение, чтобы увидеть, справится ли оно лучше на этот раз.
00:07:28Мы выполнили те же шаги, начиная от сканирования и заканчивая стадией обработки.
00:07:32Мы не запускали ревалидацию, а просто создали отчет и сразу его экспортировали.
00:07:36И на этот раз файл info.md от Claude содержал только детали о приложении и не включал утверждений,
00:07:42как в прошлый раз.
00:07:43Параллельно мы также попросили Claude проверить код и написать файл report.md с
00:07:48полным обзором безопасности, чтобы сравнить, кто из них на самом деле справился лучше.
00:07:52Отчет, созданный DeepSec, обнаружил несколько багов с разным уровнем серьезности.
00:07:56Он нашел 9 проблем и составил подробный отчет вместе с рекомендуемыми шагами по их
00:08:01исправлению.
00:08:02Именно эти рекомендации часто отсутствуют в других отчетах, а они помогают
00:08:05агенту понять, как устранить проблему, что значительно упрощает отладку.
00:08:09Но мы заметили, что отчет Claude был гораздо более детальным и выделил 39 проблем.
00:08:13Поэтому мы попросили его сначала составить список различий (diff).
00:08:15Diff показал, что число у Claude было больше.
00:08:18Но мы уже видели подобное во время нашего тестирования с Codex.
00:08:20Claude склонен выявлять и другие проблемы попутно, выходя за рамки задачи.
00:08:24Он не фокусируется исключительно на тех проблемах, для которых DeepSec был специально разработан.
00:08:29Когда мы попросили его сосредоточиться только на заданной области, он сузил список до 13 проблем.
00:08:34Но всё равно оставалось несколько проблем, которые DeepSec упустил, но которые были в отчете Claude.
00:08:38Причина, по которой DeepSec пропустил некоторые находки, в том, что он фокусируется только на проблемах,
00:08:43которые код содержит напрямую и которые можно решить непосредственно в самих функциях.
00:08:47Он не выявляет проблемы, которые могут возникнуть при реальной работе приложения, например,
00:08:52связанные с CORS.
00:08:53Он также не особо концентрируется на логических паттернах и архитектурных решениях.
00:08:57Как мы упоминали ранее, он использует RegEx для предварительной фильтрации файлов.
00:09:01Так что он в основном сосредоточен на том, что явно присутствует в коде, а не на проблемах,
00:09:05которые могут возникнуть динамически во время выполнения приложения.
00:09:08Также, если вам нравится наш контент, нажмите кнопку «hype», это помогает нам
00:09:12создавать больше подобных материалов и охватывать больше людей.
00:09:15Теперь, вместо того чтобы выполнять эти шаги по одному самостоятельно, мы создали этот навык DeepSec,
00:09:20который содержит все инструкции по использованию сканера безопасности Vercel от начала до конца,
00:09:24и то, как он должен определять по запросу пользователя, что именно требуется сделать.
00:09:28Затем он следует всему пошаговому процессу и самостоятельно управляет всем каркасом.
00:09:32Он также поставляется с набором ассетов, оценок и ссылок по всем проблемам вместе с
00:09:37множеством скриптов, которые могут помочь с рабочим решением и общим функционированием
00:09:42этого репозитория.
00:09:43Таким образом, имея всё это, вы можете просто запустить сканирование безопасности и указать нужную модель,
00:09:47а он напрямую обработает всё за вас.
00:09:50Он пройдет через все шаги, которые мы видели ранее, устранит проблемы, которые были упущены
00:09:54прежде, и сможет провести гораздо более качественную проверку безопасности, сочетая возможности
00:09:59DeepSec и закрывая пробелы в его результатах.
00:10:02Этот навык вместе со всеми ресурсами можно найти в AI Labs Pro для этого видео и
00:10:07для всех наших предыдущих роликов, откуда вы можете скачать и использовать его в своих проектах.
00:10:11Если вы цените то, что мы делаем, и хотите поддержать канал, это лучший способ
00:10:15сделать это.
00:10:16Ссылка в описании.
00:10:17На этом мы подошли к концу видео.
00:10:19Если вы хотите поддержать канал и помочь нам продолжать делать такие видео, вы можете
00:10:23сделать это с помощью кнопки «super thanks» ниже.
00:10:25Как всегда, спасибо за просмотр, и увидимся в следующем выпуске.

Key Takeaway

Фреймворк DeepSec решает проблему безопасности ИИ-кода через трехэтапный процесс из RegEx-сканирования, параллельной обработки агентами и опциональной ревалидации, что обеспечивает точность обнаружения уязвимостей выше 80% в крупных проектах.

Highlights

  • Vercel выпустила DeepSec — структурированный фреймворк для обнаружения уязвимостей в коде, созданном искусственным интеллектом.

  • Инструмент использует параллельную архитектуру и группировку файлов по 5 штук для ускорения сканирования больших репозиториев.

  • Архитектура DeepSec базируется на моделях Opus 4.7 и GPT 5.5 с x-высоким уровнем рассуждений для обеспечения максимальной точности.

  • Первичная фильтрация через RegEx позволяет быстро отсеивать безопасные файлы и фокусировать дорогостоящую работу агентов только на критических участках.

  • Уровень ложноположительных результатов в тестах составляет 10-20%, что подтверждает высокую долю истинно положительных срабатываний.

  • Отчеты DeepSec генерируются в форматах JSON и Markdown и включают конкретные шаги по воспроизведению и исправлению багов.

Timeline

Кризис безопасности в ИИ-программировании

  • Скорость написания кода выросла, но количество брешей в безопасности приложений увеличилось пропорционально.
  • Зафиксированы случаи удаления агентами полных баз данных и утечек конфиденциальных внутренних файлов.
  • Vercel представила DeepSec как системный ответ на неконтролируемые действия автономных ИИ-агентов.

Доступность программирования через ИИ привела к накоплению критических ошибок. В последние месяцы участились инциденты, когда агенты уничтожали рабочие окружения или допускали утечки данных, как в случае с файлом Clod.md. Существующие инструменты вроде Claude Code часто пропускают уязвимости при прямом сканировании, что создало потребность в более жестком каркасе безопасности.

Архитектура и механизмы работы DeepSec

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

DeepSec объединяет файлы в пакеты по пять штук и обрабатывает их одновременно через Claude Agent SDK или Codex Agent SDK. Система использует метаданные Git для определения лиц, ответственных за внесение уязвимого кода. Результаты нормализуются и очищаются от дубликатов перед финальной выгрузкой в тикет-системы.

Практическое тестирование и рабочий процесс

  • Команда deepsec init создает локальную инфраструктуру и шаблоны для настройки контекста проекта.
  • Файл info.md содержит критическую информацию об аутентификации, моделях угроз и известных исключениях.
  • Система поддерживает автоматическое продолжение работы с места сбоя в случае возникновения ошибок API.

Тестирование на open-source проекте показало важность корректного заполнения файла info.md. В одном из сценариев инструмент нашел меньше проблем, так как считал задокументированные уязвимости уже известными пользователю. Процесс сканирования и обработки разделен на команды scan, process и report, что позволяет гибко управлять затратами на токены и проверять промежуточные результаты.

Сравнение эффективности и границы возможностей

  • DeepSec фокусируется на статических уязвимостях в функциях и не выявляет динамические проблемы вроде CORS.
  • Инструмент предоставляет готовые рекомендации по исправлению, которые отсутствуют в стандартных отчетах LLM.
  • Специализированные навыки (skills) позволяют объединять возможности DeepSec с глубоким анализом Claude для закрытия пробелов.

Сравнение прямого анализа Claude и работы DeepSec выявило различия в приоритетах: Claude находит больше логических несоответствий, в то время как DeepSec лучше структурирует критические баги кода. Инструмент намеренно игнорирует архитектурные решения, концентрируясь на том, что можно исправить непосредственно в файлах. Для максимальной защиты рекомендуется использовать интеграции, доступные в AI Labs Pro, которые автоматизируют весь цикл проверки.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video