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-контейнер завершился успешно перед установкой атакующих сервисов: