Обучение разработчиков становится все более адаптированными к индивидуальным предпочтениям. О том, как будет развиваться эта область в следующем году и какую роль в ее эволюции сыграет искусственный интеллект, на портале InformationWeek рассказывает Питер Даньё, генеральный директор Secure Code Warrior.

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

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

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

Последнюю уловку под названием «hallucination squatting» выявили, когда исследователь безопасности попросил ChatGPT дать рекомендации по библиотекам для выполнения определенной задачи, и бот с полной уверенностью предоставил ответы. Однако ни одна из названных им библиотек не существовала в действительности. Стало очевидно, что злоумышленник может воспользоваться их названиями, создать вредоносное ПО, замаскированное под поддельную библиотеку, и осуществить успешную атаку.

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

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

Именно здесь в дело вступает концепция гибкого обучения (agile learning), которая предлагает разработчикам множество путей для самообразования. Она сосредоточена на своевременных «микро-всплесках» обучения, чтобы команды быстро усваивали, проверяли и применяли знания в контексте реальной работы, которую они выполняют, и проблем безопасности, с которыми они сталкиваются. Гибкое обучение учитывает различные уровни квалификации и стили обучения, поощряя разработчиков немедленно привязывать новые уроки к реальной практике и обучаться на практике, чтобы обучение было напрямую связано с рабочими потребностями.

Agile-обучение — быстрый и гибкий подход, который позволяет быстрее превратить разработчиков в профессионалов, ориентированных на безопасность.

Как ИИ повлияет на будущее платформ для обучения разработчиков в ближайшие несколько лет? Вот мое видение:

  • Сочетание повышения производительности за счет безопасного, управляемого использования инструментов ИИ-кодирования с agile-обучением позволит командам значительно повысить скорость обеспечения безопасности. Это, как известно, трудно реализовать, особенно когда разработчики не имеют достаточной осведомленности и подготовки в области безопасности.
  • Как уже говорилось, подход, основанный на «микро-всплесках», напрямую связан с повседневной работой разработчиков, а контекст позволяет им решать релевантные проблемы с уязвимостями, в том числе те, которые порождаются ИИ.
  • Адаптивная природа машинного обучения и больших языковых моделей (LLM) обеспечит разработчикам более индивидуальный опыт обучения. Большинство людей предпочитают получать информацию или проверять свои знания на практике. Возможно, мы увидим будущее, в котором у разработчиков будет помощник по обучению, созданный с учетом их потребностей, структуры рабочего дня и предпочтений в обучении, который обеспечит наилучшие результаты обучения для них и, соответственно, для их команды.
  • Независимо от того, что организации хотят сделать с помощью технологии генеративного ИИ, для точного и безопасного использования ее возможностей необходимо критическое мышление.

Организации и команды разработчиков, стремясь к более быстрому созданию большего объема функций, естественно, будут идти по пути наименьшего сопротивления. Применение ИИ здесь выглядит заманчивым: «Как далеко мы можем с ним зайти? Может ли он сделать за нас практически все?». Но, по крайней мере, на данный момент это было бы ошибкой.

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