6.2.1. Környezet felállítása

2025.10.06.
AI Biztonság Blog

A profi red teamer eszköztára nem csak egy halom script. Inkább egy precízen berendezett műhely, ahol minden szerszámnak megvan a helye, és minden beállítás a hatékonyságot szolgálja. A Microsoft PyRIT (Python Risk Identification Toolkit) esetében a környezet felállítása nem egy egyszerű pip install parancs; ez az első stratégiai döntés, ami meghatározza a későbbi műveleteid sebességét, rugalmasságát és skálázhatóságát.

Kapcsolati űrlap

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

Mielőtt belevágnánk a parancsokba, gondoljuk végig a folyamatot egy döntési fa mentén. A célod nem csupán az, hogy működjön a könyvtár, hanem hogy egy olyan stabil és megbízható alapot hozz létre, amire a következő fejezetek komplexebb támadási láncait építheted!

Az első elágazás: Lokális műhely vagy felhő alapú labor?

A legelső és legfontosabb döntés, hogy hol fog futni a PyRIT környezeted. Nincs egyetlen helyes válasz, a választás a feladat jellegétől, a rendelkezésre álló erőforrásoktól és a biztonsági szempontoktól függ.

Környezet választása Lokális telepítés Pro: Teljes kontroll, adatvédelem Pro: Nincs futási költség Kontra: Erőforrás-igényes lehet Felhő alapú környezet Pro: Skálázhatóság, GPU Pro: Előre konfigurált Kontra: Költségek, adatkezelés

Lokális telepítés

Ez a klasszikus út. A saját gépeden, teljes kontroll mellett hozod létre a környezetet. 

Ideális választás, ha:

  • Szenzitív adatokkal dolgozol, amik nem hagyhatják el a saját infrastruktúrádat.
  • Kísérletezni, debuggolni szeretnél mélyebb szinten.
  • Rendelkezel megfelelő hardveres erőforrásokkal (GPU, CPU, RAM).
  • Hosszú távon, költséghatékonyan szeretnél dolgozni anélkül, hogy a felhőszolgáltató óradíját figyelnéd.

A lokális telepítés kulcsa a tiszta, izolált környezet. Soha ne telepíts egy ilyen komplex eszközt a rendszer globális Python környezetébe! A virtuális környezetek (pl. venv, conda) használata nemcsak ajánlott, hanem kötelező!

Felhő alapú környezet

Itt egy szolgáltató (pl. Azure ML, Google Colab Pro, GitHub Codespaces) biztosítja a futtatási környezetet. Ez a nyerő választás, ha:

  • Nagy számítási kapacitásra van szükséged, például GPU-t igénylő támadási stratégiákhoz.
  • Gyorsan kell elkezdened a munkát, előre konfigurált környezetben.
  • Egy csapat részeként dolgozol, és fontos a megosztható, reprodukálható környezet.
  • Nagy mennyiségű adatot kell feldolgoznod, ami már a felhőben van.

Ebben a fejezetben a lokális telepítésre fókuszálunk, mivel ez adja a legmélyebb megértést az eszköz működéséről. Az itt tanultak azonban 99%-ban átültethetők bármely felhő alapú, terminál-hozzáférést biztosító környezetbe.

A PyRIT telepítése: Az eszközkészlet összeállítása

Miután eldöntötted, hogy hol fogsz dolgozni, jöhet a tényleges telepítés. Kezdjük az alapokkal: egy tiszta, izolált Python környezet létrehozásával.

1. A virtuális környezet létrehozása

Nyiss egy terminált, navigálj a munkakönyvtáradba, és add ki a következő parancsokat. Feltételezzük, hogy a Python 3.10+ és a git már telepítve van a rendszereden.


# Hozz létre egy 'pyrit-env' nevű virtuális környezetet
python3 -m venv pyrit-env

# Aktiváld a környezetet (Linux/macOS)
source pyrit-env/bin/activate

# Aktiválás Windows-on (PowerShell)
# .\pyrit-env\Scripts\Activate.ps1
 

Az aktív környezetet a parancssor elején megjelenő (pyrit-env) jelzi. Innentől minden Python csomag, amit telepítesz, ebbe az izolált mappába kerül.

2. A PyRIT telepítése extrákkal

A PyRIT modularitása az egyik legnagyobb erőssége. Nem kell feltelepítened minden egyes komponenst, csak azokat, amikre valóban szükséged van. A telepítés pip segítségével történik, szögletes zárójelek között megadva a kívánt „extrákat”.

Csomag Telepítési parancs Mire jó?
Alapcsomag pip install pyrit A PyRIT magja. Tartalmazza az alapvető orkesztrációs logikát, memóriakezelést és a parancssori interfészt (CLI). Ez a minimum.
Azure pip install pyrit[azure] Integráció az Azure AI szolgáltatásokkal. Szükséges, ha Azure OpenAI modelleket vagy Azure Machine Learning végpontokat akarsz célozni.
Prompt Crafters pip install pyrit[prompt-crafter] Speciális prompt generátorok és támadási stratégiák. Például a VariationCrafter vagy a JailbreakCrafter.
Gandalf pip install pyrit[gandalf] A Lakera Gandalf LLM sebezhetőségi tesztjátékának integrációja. Hasznos, ha a prompt injection technikákat akarod tesztelni egy dedikált környezetben.
Minden egyben pip install pyrit[all] Az összes elérhető extra komponenst telepíti. Kezdésnek jó lehet, de egy produkciós környezetben érdemesebb csak a szükségeseket feltenni.

Egy tipikus red teaming feladatsorhoz, ami Azure végpontokat céloz és változatos promptokat generál, a következő parancsot javasoljuk:


# Telepítjük a PyRIT-et az Azure és a Prompt Crafter kiegészítőkkel
pip install "pyrit[azure,prompt-crafter]"
 

Konfiguráció: Az eszközök beélesítése

A telepítés önmagában nem elég. A PyRIT-nek tudnia kell, hogyan érje el a célpont LLM-eket. Ezt a legbiztonságosabban környezeti változók segítségével teheted meg, amiket egy .env fájlban tárolsz a projekt gyökerében.

Hozd létre a .env fájlt a munkakönyvtáradban, és töltsd ki a megfelelő értékekkel. A PyRIT automatikusan beolvassa ezt a fájlt indításkor.


# .env fájl minta Azure OpenAI szolgáltatáshoz

# Az Azure OpenAI erőforrásod végpontja
AZURE_OPENAI_ENDPOINT="https://sajat-aoai-eroforras.openai.azure.com/"

# Az API kulcsod
AZURE_OPENAI_API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# A használni kívánt modell telepítési neve (deployment name)
AZURE_OPENAI_CHAT_DEPLOYMENT="gpt-4o"
 
Biztonsági figyelmeztetés: A .env fájlt soha ne tedd be a verziókövető rendszeredbe (pl. Git)! Mindig add hozzá a .gitignore fájlodhoz, hogy véletlenül se kerüljenek ki a titkos kulcsaid.

A rendszerpróba: Működik a gépezet?

Miután minden a helyére került, egy gyors ellenőrzéssel megbizonyosodhatsz arról, hogy a környezet készen áll a bevetésre. Először is, ellenőrizzük a telepített verziót:


pyrit --version
 

Ha ez hiba nélkül lefut és kiírja a verziószámot, az már egy jó jel. A végső teszt azonban az, ha sikeresen kommunikálsz egy LLM-mel a PyRIT keretrendszeren keresztül. Hozz létre egy egyszerű Python scriptet, például test_connection.py néven:


# test_connection.py

import os
from pyrit.common import pyrit_target
from pyrit.prompt_target import AzureOpenAIChatTarget

# Ellenőrizzük, hogy a .env fájl betöltődött-e
# A PyRIT ezt automatikusan megteszi, de ez egy jó ellenőrzés
if not os.environ.get("AZURE_OPENAI_ENDPOINT"):
 print("Hiba: A környezeti változók nincsenek beállítva.")
 print("Győződj meg róla, hogy létrehoztad és kitöltötted a .env fájlt.")
else:
 print("Környezeti változók sikeresen betöltve.")
 
 # Hozzunk létre egy célpontot az Azure OpenAI végpontunkhoz
 # A PyRIT a környezeti változókból automatikusan veszi a hitelesítési adatokat
 azure_chat_target = AzureOpenAIChatTarget()

 # Küldjünk egy egyszerű üzenetet
 print("Üzenet küldése a célponthoz...")
 try:
 response = azure_chat_target.send_prompt("Hello, világ! Válaszolj magyarul.")
 print("\nSikeres válasz a modelltől:")
 print(f"--- \n{response}\n ---")
 print("\nA környezet készen áll a használatra!")
 except Exception as e:
 print(f"\nHiba történt a kommunikáció során: {e}")
 print("Ellenőrizd az API kulcsot, a végpontot és a deployment nevet a .env fájlban.")

 

Futtasd a scriptet a terminálból: python test_connection.py. Ha mindent jól csináltál, egy rövid, magyar nyelvű választ kell kapnod a modelltől. Ezzel a sikeres rendszerpróbával a műhelyed hivatalosan is megnyílt. Megalapoztad a környezetet, amiben a következő fejezetekben komplex, többlépcsős támadásokat fogunk szimulálni és orkesztrálni.