Перейти к содержанию

Scan Profile

Сервис профилей сканирования. Хранит шаблоны атак: типы атак, параметры, JSON Schema конфигурации. При первом старте seed загружает 27+ готовых типов атак и 6 провайдеров LLM.

Назначение

Центральный реестр атак и их конфигураций. orchestrator и атакующие сервисы обращаются к нему за описанием атак. Также хранит ссылки на тестовые ассеты (изображения, аудио) в MinIO.

Зависимости

Входящие

Сервис Назначение
jailbreak получение параметров атаки
asr получение параметров ASR-атаки
cv получение параметров CV-атаки
orchestrator получение профиля перед запуском сканирования
ui-gateway CRUD профилей через API

Исходящие

Сервис Назначение
postgres основная БД (схема scan_profile)
minio ассеты тестов: cv-images, audio-samples
model-mgmt получение метаданных доступных моделей

Values

Параметр По умолчанию Обязателен Описание
image.name да registry.appsec.global/appsecgenai-release/scan-profile
image.tag да Версия образа
imagePullSecrets[0].name да imagePullSecret
secretEnv.DATABASE_URL да PostgreSQL connection string
secretEnv.S3_ACCESS_KEY да MinIO root user
secretEnv.S3_SECRET_KEY да MinIO root password
env.AUTH_ENABLED "true" нет
env.OTEL_SDK_DISABLED нет "true" если нет otel-collector
env.S3_PUBLIC_ENDPOINT нет Публичный URL MinIO для presigned URL
global.url.modelManagementUrl {svc: model-mgmt, port: 8000} нет
global.url.s3Endpoint {svc: minio, port: 9000, scheme: http} нет

Пример values.yaml

# values-scan-profile.yaml
image:
  name: registry.appsec.global/appsecgenai-release/scan-profile
  tag: "<VERSION>"

imagePullSecrets:
  - name: harbor-cr

secretEnv:
  DATABASE_URL: "postgresql+asyncpg://genai_admin:<password>@postgres:5432/genai_db"
  S3_ACCESS_KEY: "<minio-root-user>"
  S3_SECRET_KEY: "<minio-root-password>"

env:
  ENVIRONMENT: "production"
  AUTH_ENABLED: "true"
  OTEL_SDK_DISABLED: "true"
  S3_PUBLIC_ENDPOINT: "https://minio.app.example.com"
  S3_AUDIO_BUCKET: "audio-samples"
  S3_IMAGE_BUCKET: "cv-images"

global:
  url:
    modelManagementUrl: { svc: model-mgmt, port: 8000 }
    s3Endpoint:         { svc: minio, port: 9000, scheme: http }

Установка

helm upgrade --install scan-profile \
  oci://registry.appsec.global/appsecgenai-release/charts/scan-profile \
  --version <VERSION> -n genai \
  --wait \
  -f values-scan-profile.yaml

Init-контейнеры при первом старте: 1. migrate — Alembic миграции схемы scan_profile 2. seed — загрузка 27+ типов атак и 6 провайдеров LLM

Зависимость от seed при установке jailbreak/asr/cv

jailbreak, asr, cv обращаются к scan-profile за описанием атак при старте. Если seed ещё не завершился — сервисы получат пустой каталог атак и могут работать некорректно.

Убедитесь что seed-контейнер завершился успешно перед установкой атакующих сервисов:

kubectl wait --for=condition=ready pod -l app.kubernetes.io/name=scan-profile \
  -n genai --timeout=300s