26.4.4. Ütemezett audit futtatók

2025.10.06.
AI Biztonság Blog

Míg a CI/CD pipeline-ok a kódváltozásokra reagálnak, a Red Teaming feladatok egy jelentős része nem eseményvezérelt, hanem időalapú. A modellek viselkedése változhat külső tényezők (pl. adateltolódás) hatására anélkül, hogy egyetlen sor kód is módosulna. Az ütemezett audit futtatók biztosítják a folyamatos, proaktív ellenőrzést, amely a rendszer állapotát rendszeres időközönként méri fel.

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

Miért van szükség ütemezett futtatásra?

Az automatizált Red Teaming tesztek időzített futtatása több kritikus célt szolgál, amelyek túlmutatnak a fejlesztési ciklushoz kötött ellenőrzéseken:

  • Drift detektálás: A modellek teljesítménye és viselkedése idővel romolhat (drift). A rendszeres, ütemezett tesztek képesek kimutatni ezeket a finom, de kumulatív változásokat, mielőtt komolyabb problémát okoznának.
  • Regressziós tesztelés: Nem csak a modellkód, hanem az azt körülvevő infrastruktúra, adatbázisok vagy API-k is változhatnak. Egy heti teljes audit futtatás feltárhat olyan regressziókat, amelyeket egy szűkebb körű, CI/CD-be integrált teszt nem venne észre.
  • Baseline létrehozása: A rendszeres időközönként lefuttatott, azonos tesztek eredményei egy viszonyítási alapot (baseline) képeznek. Ez segít az anomáliák azonosításában és a modell viselkedésének hosszú távú trendjeinek megértésében.
  • Compliance és riportolás: Számos iparágban követelmény a rendszerek rendszeres időközönkénti auditálása. Az ütemezett futtatók automatikusan generálják az ehhez szükséges adatokat és jelentéseket (amelyeket a 26.4.3. fejezetben tárgyalt eszközök dolgoznak fel).

Megvalósítási módszerek összehasonlítása

Többféle eszköz és platform létezik az időzített feladatok futtatására, eltérő komplexitással és képességekkel. A megfelelő eszköz kiválasztása a csapat méretétől, a meglévő infrastruktúrától és a feladatok bonyolultságától függ.

Klasszikus megközelítés: Cron

A cron egy időalapú feladatütemező Unix-szerű operációs rendszereken. Ez a legegyszerűbb és legelterjedtebb módszer egyszerű, ismétlődő feladatok futtatására. Egy crontab fájlban definiálhatod, hogy melyik parancsot vagy szkriptet mikor kell elindítani.

Előnyök:

  • Rendkívül megbízható és pehelysúlyú.
  • Minden Linux disztribúció alapértelmezett része.
  • Egyszerű szintaxis az alapvető időzítésekhez.

Hátrányok:

  • Nincs beépített hibakezelés, újrapróbálkozási logika vagy függőségkezelés.
  • A logolást és az értesítéseket manuálisan kell megoldani (pl. a kimenet átirányításával).
  • Nagyobb rendszerekben a crontab fájlok kezelése nehézkessé válhat.
# crontab -e
# Futtatja a teljes Red Team audit szkriptet minden vasárnap hajnali 2:15-kor.
# A kimenetet és a hibákat egy dátummal ellátott log fájlba irányítja.
15 2 * * 0 /usr/bin/python3 /opt/redteam_scripts/run_full_audit.py >> /var/log/redteam_audits/$(date +\%Y-\%m-\%d).log 2>&1

Integrált megoldás: CI/CD rendszerek ütemezői

A modern CI/CD platformok (mint a GitHub Actions, GitLab CI, Jenkins) szinte mind rendelkeznek beépített ütemezési funkcióval. Ez lehetővé teszi, hogy a már meglévő tesztelési infrastruktúrát és környezetet használd időzített futtatásokhoz is.

Előnyök:

  • Központosított kezelés: a tesztek és az ütemezésük egy helyen, a kóddal együtt verziókezelhető.
  • Kihasználja a CI/CD platform képességeit: logolás, titkos kulcsok kezelése, artifact-ok mentése, értesítések.
  • Könnyű integráció a meglévő munkafolyamatokkal.

Hátrányok:

  • Platformfüggőség (lock-in).
  • A konfiguráció (jellemzően YAML) összetettebb lehet, mint egy egyszerű cron bejegyzés.
# .github/workflows/scheduled_audit.yml
name: Heti Red Team Audit

on:
 schedule:
 # Minden hétfőn reggel 5:00 UTC-kor fut le
 - cron: '0 5 * * 1'

jobs:
 run-audit:
 runs-on: ubuntu-latest
 steps:
 - name: Kód letöltése
 uses: actions/checkout@v3

 - name: Python környezet beállítása
 uses: actions/setup-python@v4
 with:
 python-version: '3.10'

 - name: Függőségek telepítése
 run: pip install -r requirements.txt

 - name: Audit futtatása
 run: python ./scripts/run_weekly_audit.py --target=production

Nagyvállalati szint: Workflow Orchestrator eszközök

Az olyan eszközök, mint az Apache Airflow, a Prefect vagy a Dagster, nem csupán ütemezők, hanem komplex adatfeldolgozási és munkafolyamat-kezelő (orchestrator) platformok. Akkor érdemes ezeket választani, ha az audit folyamata több, egymásra épülő lépésből áll (pl. adat-előkészítés, több modell párhuzamos tesztelése, eredmények aggregálása).

Előnyök:

  • Grafikus felület a munkafolyamatok (DAG-ok) monitorozására.
  • Robusztus hibakezelés, automatikus újrapróbálkozás.
  • Komplex függőségek kezelése a feladatok között.
  • Kiváló skálázhatóság és bővíthetőség.

Hátrányok:

  • Jelentős üzemeltetési és karbantartási overhead.
  • A tanulási görbe meredekebb.
  • Egyszerű feladatokhoz túlzás („ágyúval verébre”).

Döntési mátrix: Melyiket válasszam?

A választást a konkrét igények határozzák meg. Az alábbi táblázat segít eligazodni a lehetőségek között.

Kritérium Cron CI/CD Ütemező Workflow Orchestrator
Beállítási komplexitás Nagyon alacsony Alacsony (ha már van CI/CD) Magas
Függőségkezelés Nincs Korlátozott (job-szintű) Részletes (task-szintű)
Megfigyelhetőség (Logging, UI) Manuális (fájlok) Beépített, jó Kiváló, dedikált UI
Hibakezelés és újrapróbálkozás Nincs Alapszintű Fejlett, konfigurálható
Ideális felhasználás Egyszerű, önálló szkriptek, kis projektek. Már meglévő CI/CD környezetben futó tesztek rendszeresítése. Többlépcsős, komplex audit folyamatok, ahol a lépések egymásra épülnek.

Az ütemezett futtatók beállítása után a következő logikus lépés annak biztosítása, hogy a releváns eredményekről és a kritikus hibákról azonnal értesüljünk. Ez vezet át minket a következő fejezethez, az alert és notification rendszerekhez.