Лидеры мнений

ИИ меняет, кто решает, какое программное обеспечение входит в вашу организацию

mm
Добавьте Unite.AI в избранные источники в Google

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

Большая часть разговора сосредоточена на коде, сгенерированном ИИ. Могут ли разработчики доверять коду, сгенерированному ИИ? Он вводит уязвимости? Как должны команды безопасности проверять его? Эти вопросы важны, но они не являются самым большим изменением, которое ИИ приносит в разработку программного обеспечения. ИИ вышел за рамки простой генерации кода и все больше влияет на первые решения по выбору программного обеспечения, которые формируют, какое программное обеспечение входит в организацию.

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

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

Организации потратили годы на управление тем, как строится, тестируется и развертывается программное обеспечение. Следующей задачей является управление тем, как выбирается программное обеспечение в среде разработки, родной для ИИ.

Первое решение о доверии

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

Сегодня разработчик может просто попросить помощника ИИ “создать безопасный REST API с аутентификацией и поддержкой PostgreSQL”. В течение нескольких секунд ИИ генерирует рабочий проект. По пути он рекомендует среду выполнения, выбирает фреймворк, ссылается на базовый образ контейнера, импортирует библиотеки аутентификации, выбирает SDK, и генерирует манифесты зависимостей, такие как package.json, requirements.txt, или pom.xml. Менеджеры пакетов затем разрешают эти зависимости и их транзитивные зависимости во время процесса сборки.

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

Каждая рекомендация является решением о доверии

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

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

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

ИИ оптимизирует рабочее программное обеспечение, а не организационное доверие

Это не означает, что ИИ делает плохие рекомендации. Напротив.

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

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

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

Почему нам нужно интегрировать влево

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

Эти инструменты остаются важными, но они решают другую часть проблемы.

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

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

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

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

Управление выбором программного обеспечения в эпоху ИИ

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

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

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

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

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

Бисваджит Де является сооснователем и техническим директором CleanStart, где он руководит технической концепцией и стратегией продукта для обеспечения безопасности современных программных цепочек поставок и облачных сред.