AI Wiki

Безпечний SDLC

Безпечний SDLC з AI: моделювання загроз, безпечне кодування, тестування безпеки та deployment gates

SDLCsecuritythreat-modelingtestingdeploymentsecure-coding

📎ОФІЦІЙНА ДОКУМЕНТАЦІЯ

Безпечний SDLC з AI

Інтеграція безпеки в кожний етап Software Development Life Cycle (SDLC) особливо важлива при використанні AI-інструментів для генерації коду.


Етапи безпечного SDLC


1. Requirements (Вимоги)

Security Requirements

На етапі збору вимог визначте:

  • Класифікація даних -- які дані обробляє система (PII, фінансові, медичні)
  • Compliance -- які стандарти та регуляції застосовуються (GDPR, SOC 2, ISO 27001)
  • Threat actors -- хто може атакувати систему та з якою мотивацією
  • AI-специфічні вимоги -- обмеження на використання AI, вимоги до аудиту AI-коду

Abuse Cases

Додатково до use cases, визначте abuse cases:

  • Як зловмисник може використати prompt injection
  • Як AI-згенерований код може створити вразливості
  • Як дані можуть витекти через AI-інструменти

2. Design (Проєктування)

Threat Modeling

Проводьте threat modeling на етапі проєктування:

  1. STRIDE -- аналіз загроз за категоріями (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege)
  2. Attack trees -- моделювання шляхів атаки
  3. Data Flow Diagrams -- аналіз потоків даних
💡Порада

Включіть AI-інструменти в діаграми потоків даних. AI-агент, який має доступ до файлової системи та мережі, є потенційним вектором атаки.

Архітектура безпеки

  • Визначте trust boundaries
  • Плануйте шифрування даних at rest та in transit
  • Проєктуйте систему автентифікації та авторизації
  • Визначте мережеву сегментацію

3. Implementation (Реалізація)

Безпечне кодування з AI

При використанні AI для генерації коду:

ПравилоОпис
Не довіряйте AI-коду сліпоЗавжди переглядайте згенерований код на вразливості
Перевіряйте залежностіAI може додати застарілі або вразливі бібліотеки
Валідуйте SQL-запитиAI-код може бути вразливим до SQL injection
Перевіряйте обробку помилокAI часто генерує недостатню обробку помилок
Контролюйте секретиAI може вставити hardcoded credentials

SAST (Static Application Security Testing)

Запускайте SAST на кожному commit:

  • SonarQube -- комплексний аналіз якості та безпеки коду
  • Semgrep -- легковагий та швидкий SAST
  • CodeQL -- глибокий аналіз від GitHub
  • Snyk Code -- AI-powered SAST
⚠️Увага

AI-згенерований код потребує більш ретельного SAST-аналізу, оскільки AI може генерувати складні вразливості, які важко виявити візуально.


4. Testing (Тестування)

Security Testing

  • DAST -- тестування працюючого додатку (OWASP ZAP, Burp Suite)
  • IAST -- гібридний підхід (Contrast Security)
  • Penetration Testing -- ручне тестування безпеки
  • Fuzzing -- автоматизований пошук вразливостей через невалідні дані

AI-специфічне тестування

  • Тестування на prompt injection
  • Перевірка обробки adversarial inputs
  • Тестування rate limiting для AI-ендпоінтів
  • Верифікація data leakage prevention

5. Deployment (Розгортання)

Security Gates

Перед деплоєм обов'язково:

  1. Всі SAST-знахідки critical/high -- виправлені
  2. DAST-сканування пройдено
  3. Dependency scan без критичних вразливостей
  4. Code review завершено (включно з AI-кодом)
  5. Penetration test пройдено (для major releases)

Secure Configuration

  • Вимкніть debug-режим у production
  • Налаштуйте HTTPS та HSTS
  • Обмежте CORS
  • Налаштуйте Content Security Policy
  • Видаліть default credentials

6. Operations (Операції)

Моніторинг

  • Відстежуйте аномальну активність AI-компонентів
  • Моніторинг використання API-ключів
  • Алерти на підозрілі патерни запитів

Patch Management

  • Оновлюйте AI-залежності регулярно
  • Моніторьте CVE для використовуваних бібліотек
  • Автоматизуйте оновлення через Dependabot або Renovate

Інтеграція в CI/CD

yaml
# Приклад pipeline з security gates stages: - lint - sast # SonarQube, Semgrep - unit-tests - build - sca # Snyk, Dependabot - dast # OWASP ZAP - security-gate # Блокування при критичних знахідках - deploy

Див. також

Code Review AI-коду

Чеклісти та інструменти для перевірки AI-коду

Валідація AI-коду

SAST, DAST та SCA для AI-залежностей

Моделювання загроз

STRIDE та AI-специфічні поверхні атак