Asosiy kontentga o‘tish
AI qo‘llanmalari

ARTEX’ga kirish: AI asosidagi avtonom penetratsion test tizimini yaratish va ikki grafli tadqiqot arxitekturasini tushunish

Ushbu maqolada ARTEX’ning asosiy imkoniyatlari, o‘rnatish usuli, ma’lumotlar bazasi va LLM konfiguratsiyasi, vazifalarni kuzatish, aktivlarni sinxronlash, zaifliklarni qayta tekshirish hamda yangilash jarayoni yoritiladi. Shuningdek, planner, worker va ikki grafli modelga asoslangan avtonom tadqiqot mexanizmi tushuntiriladi.

ARTEX’ga kirish: AI asosidagi avtonom penetratsion test tizimi va ikki grafli arxitektura

Avval foydalanish doirasini tushunib oling

ARTEX faqat shaxsiy taʼlim, kodni tadqiq qilish va mahalliy izolyatsiya qilingan muhitda texnik tekshiruv uchun moʻljallangan. Loyiha bayonotiga koʻra, undan hech qanday onlayn tizim, veb-sayt, tarmoqqa ulangan tizim yoki ishlab chiqarish muhitini skanerlash, tekshirish, ekspluatatsiya qilish va hujum uyushtirish uchun foydalanish mumkin emas, hatto nishon sizga tegishli boʻlsa yoki ruxsat olingan boʻlsa ham. Boshlashdan oldin loyihaning AGPL-3.0 litsenziyasi, joylashuvingizdagi kiberxavfsizlik qonunlari, shuningdek, repozitoriydagi foydalanish cheklovlari va javobgarlikdan voz kechish bandlarini tushunganingiz va ularga rioya qilishingizni tasdiqlang.

Ushbu maqolada mahalliy joylashtirish va xavfsiz izolyatsiya qilingan muhit asosida ARTEXʼni oʻrnatish, PostgreSQL va LLMʼni sozlash, vazifalarni interfeys orqali kuzatish, shuningdek, aktivlarni sinxronlash va zaifliklarni qayta tekshirish kabi funksiyalardan foydalanish tushuntiriladi.

ARTEX Go backendʼi va Next.js frontendʼidan tashkil topgan AI multi-agent tizimidir. Loyiha oʻzaro ishlash jarayonini koʻrish uchun onlayn Demo taqdim etadi. Ishlab chiqarish rejimida frontend Goʼning go:embed mexanizmi orqali bitta ikkilik faylga joylashtirilishi mumkin.

ARTEX nimalarni amalga oshira oladi

ARTEX avtonom tadqiqot, vazifalarni muvofiqlashtirish va jarayonni qayd etish tamoyillari asosida qurilgan. Tizimda boshqaruv paneli, vazifalar roʻyxati, sessiyani bajarish jarayoni, tadqiqot zanjiri, aniqlanganlar, aktivlar, aktivlar qamrovi xaritasi, trafik qaydlari, inson ishtirokidagi muloqot, Agent boshqaruvi va LLM sozlamalari kabi interfeyslar mavjud.

Boshqaruv paneli
  • Multi-agent tadqiqot: goals, planner, worker va mainagent kabi rollar hamkorlikda vazifalarni ilgari suradi.
  • Ikki grafik modeli: aktivlar grafigi vazifalar boʻylab umumiy aktiv faktlarini saqlaydi, tadqiqot grafigi esa alohida vazifaning maqsadlari, niyatlari, faktlari, koʻrsatmalari va aniqlanganlarini qayd etadi.
  • Jarayon darajasidagi axborot almashinuvi: worker boshqa workerʼlarning bajarish jarayonlarini qidirib, ulardagi kuzatuvlardan qayta foydalanishi mumkin.
  • Inson ishtiroki: muloqot va aralashuvni tasdiqlash orqali vositalardan foydalanish hamda muhim amallar boʻyicha qarorlarda qatnashish mumkin.
  • Real vaqt faoliyat oqimi: backend SSE orqali faoliyat maʼlumotlarini yuboradi, vazifa bajarilishi interfeysda uzluksiz kuzatilishi mumkin.
  • Trafik qaydlari: qayd qiluvchi MITM proksisi vositalar bajarilishi uchun trafik va dalillarni saqlaydi.
  • Aktivlarni sinxronlash: ScopeSentryʼdan domenlar, subdomenlar, IP manzillar, portlar, saytlar va endpointlar kabi aktivlarni sinxronlash mumkin.
  • Zaifliklarni qayta tekshirish: mavjud zaifliklar uchun alohida qayta tekshiruvchi Agent sessiyasini yaratish, xulosa, dalillar va sessiya havolasini saqlash mumkin.
Vazifalar roʻyxati

ARTEXʼni oʻrnatish

1-usul: bir marta bosiladigan oʻrnatish skriptidan foydalanish

Bu loyiha tavsiya qiladigan oʻrnatish usulidir. Skript Dockerʼni tekshiradi yoki oʻrnatadi va toʻliq Docker orqali yoki mahalliy kompilyatsiya qilib ishga tushirish variantlarini taqdim etadi.

Boshqaruv paneli

git clone https://github.com/Autumn-27/ARTEX.git
cd ARTEX
./install.sh

Toʻliq Docker variantini tanlaganda PostgreSQL parolini kiritish kerak; skript tasodifiy parol yaratishi uchun Enter tugmasini bosish ham mumkin. Shundan soʻng skript .env faylini yozadi va docker compose up -d buyrugʻini bajaradi.

Mahalliy ishga tushirish variantida mavjud maʼlumotlar bazasiga ulanish yoki Dockerʼga maʼlumotlar bazasini ishga tushirishga ruxsat berish mumkin. Skript config.json faylini yaratadi, frontendʼi biriktirilgan yagona ikkilik faylni kompilyatsiya qiladi va xizmatni ishga tushiradi.

Oʻrnatish tugagach, http://localhost:8787 manziliga kiring. Birinchi marta ochilganda administrator parolini oʻrnatish uchun /setup sahifasiga oʻting.

2-usul: Docker Composeʼdan qoʻlda foydalanish

git clone https://github.com/Autumn-27/ARTEX.git
cd ARTEX
cp .env.example .env
docker compose up -d

.env faylini tahrirlang va kamida POSTGRES_PASSWORD qiymatini kiriting; Anthropicʼni muhit oʻzgaruvchisi orqali sozlamoqchi boʻlsangiz, ANTHROPIC_API_KEY qiymatini ham kiriting. Konteyner obrazi keng tarqalgan vositalarni oʻz ichiga oladi, ./skills va ./data kataloglari esa bogʻlash orqali saqlanadi.

Ishga tushirgandan soʻng http://localhost:8787 manziliga kiring. Masofaviy MCP kerak boʻlsa, tizim sozlamalarida http yoki sse ni tanlash mumkin. Eski SSE versiyasi odatda hodisalar oqimini yaratish uchun /sse dan foydalanadi va qaytarilgan /message?sessionId=... orqali JSON-RPC soʻrovlarini qabul qiladi; autentifikatsiya soʻrovi sarlavhasi Authorization=Bearer <token> shaklida sozlanadi.

3-usul: oldindan kompilyatsiya qilingan ikkilik fayldan foydalanish

Releases sahifasidan platformangizga mos arxivni yuklab oling. Arxivdan chiqarilganda odatda artex, start.sh yoki Windows uchun start.bat, skills/ va config.example.json fayllari boʻladi.

Vazifa

cp config.example.json config.json
./start.sh

Ishga tushirish uchun start.sh yoki start.bat dan foydalaning, ./artex ni bevosita ishga tushirmang. Ishga tushirish skripti jarayonni boshqaradi va sahifa orqali bir marta bosib yangilangandan keyin qayta ishga tushirishni qoʻllab-quvvatlaydi. Fonda ishlatish uchun quyidagidan foydalanish mumkin:

nohup ./start.sh >artex.log 2>&1 &

4-usul: manba kodidan kompilyatsiya qilish

Frontendʼi biriktirilgan yagona ikkilik faylni manba kodidan yaratish kerak boʻlsa, avval Next.js statik fayllarini yarating, soʻng ularni backendʼning biriktiriladigan katalogiga nusxalang.

cd web && npm ci && npm run build:static && cd ..
cp -r web/out server/webui/dist
CGO_ENABLED=0 go build -tags embedui -o artex ./cmd/artex
./start.sh

Asosiy sozlamalarni yakunlash

PostgreSQLʼni sozlash

ARTEX PostgreSQLʼga tayanadi. Mahalliy ishga tushirish usulidan foydalanganda maʼlumotlar bazasiga ulanish maʼlumotlarini config.json fayliga kiritish yoki konfiguratsiyani ARTEX_PG_DSN orqali bekor qilish mumkin.

{
  "database": {
    "host": "127.0.0.1",
    "port": 5432,
    "user": "artex",
    "password": "yourpass",
    "dbname": "artex",
    "sslmode": "disable"
  }
}

Bajarish jarayoni

Xizmat har safar ishga tushganda maʼlumotlar bazasi tuzilmasini boshlangʻich sozlash va migratsiyani idempotent tarzda bajaradi, jumladan zarur maydonlar va indekslarni oʻzgartiradi. Yangilashdan oldin maʼlumotlar bazasi va ./data katalogining zaxira nusxasini yaratish tavsiya etiladi.

LLMʼni sozlash

Tadqiqot funksiyasi LLMʼni talab qiladi. Anthropic yoki OpenAI API kalitidan foydalanish yoki uni interfeysdagi «LLM sozlamalari» sahifasida kiritish mumkin.

export ANTHROPIC_API_KEY=sk-...

OPENAI_API_KEY ni ham sozlash mumkin. Loyiha provayder, model, manzil va proksini moslashtirish uchun ARTEX_LLM_PROVIDER, ARTEX_LLM_MODEL, ARTEX_LLM_BASE_URL va ARTEX_LLM_PROXY oʻzgaruvchilarini ham qoʻllab-quvvatlaydi.

Parallel ishlash va portlarni sozlash

Har bir vazifadagi work agentlar sonini «Tizim sozlamalari»da oʻzgartirish mumkin; standart qiymat 3 ga teng. Ishga tushirish parametrlari Web/API manzili va trafik yozib olish proksi portini sozlashni qoʻllab-quvvatlaydi:

./start.sh -addr :8787 -proxy :8788

Ishga tushirish skripti parametrlarni oʻzgartirmagan holda artex ga uzatadi.

Web interfeysidan foydalanishni boshlash

Tadqiqot zanjiri

1. Tizimga kirish va boshqaruv panelini koʻrish

Birinchi tashrifda administrator parolini oʻrnating, soʻng umumiy maʼlumot, token sarfi va faoliyat oqimini koʻrish uchun boshqaruv paneliga kiring. Boshqaruv paneli tizim hozir normal ishlayotganini va vazifalarda yangi faoliyat paydo boʻlganini tezda aniqlash uchun qulay.

2. Vazifalar va bajarish jarayonini koʻrish

Vazifalar roʻyxatidan kerakli vazifani tanlab, uning sessiyalari, vosita chaqiruvlari, faoliyat qaydlari va tadqiqot zanjirini koʻrish mumkin. Bajarish jarayoni sahifasida agentʼning ish bosqichlari aks etadi, tadqiqot zanjiri esa maqsadlar, niyatlar, faktlar va aniqlanganlar oʻrtasidagi munosabatni tushunishga yordam beradi.

Vazifani bajarish jarayoniTadqiqot zanjiri

Ushbu sahifalardan foydalanganda jarayonni avval mahalliy izolyatsiya qilingan muhitda tekshiring, agent amalda qaysi bosqichlarni bajarganini faoliyat va trafik qaydlari orqali nazorat qiling.

3. Aniqlanganlar va aktivlarni koʻrish

Aniqlanganlar sahifasida vazifa natijasida topilgan zaifliklar yoki boshqa aniqlangan maʼlumotlar jamlanadi, aktivlar sahifasida esa tizim toʻplagan va birlashtirgan aktivlar haqidagi maʼlumotlar koʻrsatiladi.

Aniqlanganlar roʻyxatiAktivlar roʻyxati

Aktivlar qamrovi xaritasi kuchga yoʻnaltirilgan joylashuv orqali qamrovdagi aktivlarni koʻrsatishi, tekshirilgan tugunlarni ajratib koʻrsatishi hamda tugunlarni yigʻish va yoyishni qoʻllab-quvvatlashi mumkin. U qaysi aktivlar tadqiq qilinganini va qaysilari hali qamrab olinmaganini umumiy tarzda kuzatish uchun qulay.

Aktivlar qamrovi xaritasi

ScopeSentry aktivlarini sinxronlash

Agar ScopeSentryʼda aktivlar allaqachon toʻplangan boʻlsa, takroriy yigʻishni oldini olish uchun ARTEXʼning «Aktivlarni sinxronlash» sahifasida maʼlumotlar manbasini ulang.

Aniqlanganlar

  1. ScopeSentry manzili va API Keyʼni kiriting, maʼlumotlar manbasiga ulanishni yakunlang.
  2. Sinxronlanishi kerak boʻlgan nishonlarni loyiha yoki vazifa boʻyicha tanlang.
  3. Aktiv turini, masalan domen, subdomen, IP, port, sayt yoki endpointʼni tanlang.
  4. Importni ishga tushiring, shunda ARTEX maʼlumotlarni kompaniya aktivlari doirasi boʻyicha birlashtiradi.
  5. Import natijasini aktivlar grafigida tekshiring va keyingi tadqiqot uchun uni agentʼga taqdim eting.

Aktivlar grafigi vazifalar boʻylab umumiy global aktivlar haqiqat bazasidir. Dastur ota-ona va farzand munosabatlari hamda takrorlanmaslik kalitlarini hisoblaydi, agent esa dastlabki aktiv maʼlumotlarini yuboradi.

ARTEX’ning ikki grafik arxitekturasini tushunish

Aktivlar grafigi: qanday aktivlar mavjudligini tasvirlaydi

Aktivlar grafigidagi tugunlarga root_domain, subdomain, ip, service, app va endpoint kiradi. Domenlar, subdomenlar, xizmatlar va endpointlar ota-ona va farzand munosabatlari orqali tashkil qilinadi hamda tegishli kompaniyaga biriktiriladi.

Tadqiqot grafigi: vazifani qanday ilgari surishni tasvirlaydi

Tadqiqot grafigi har bir vazifa uchun alohida saqlanadi; uning tugunlariga goal, intent, fact, finding va hint kiradi. Tizim ilgari siljish zanjirini spawns, derived_from, yields va proves kabi munosabatlar orqali qayd etadi.

Ikki grafik tayanch nuqtalar orqali bog‘lanadi. Intent, fakt va zaifliklar muayyan aktivga biriktirilishi mumkin. Shu sababli tadqiqot yo‘nalishidan tegishli aktivlarni ko‘rish, shuningdek, ma’lum bir aktiv bo‘yicha joriy vazifada qaysi yo‘nalishlar sinovdan o‘tkazilganini aniqlash mumkin.

planner va worker qanday hamkorlik qiladi

Dvigatel hodisalarga asoslangan yopiq sikldan foydalanadi: grafik o‘zgargach, planner uyg‘onadi, joriy vaziyatni o‘qiydi va intentlarni taqsimlaydi; worker bitta intentni oladi, vositalar yordamida uni bajaradi va yangi aktiv, fakt yoki topilmani ma’lumotlar bazasiga yozadi; yozish amali planner’ni yana ishga tushiradi.

Aktivlar

planner faqat hali qamrab olinmagan yangi yo‘nalishlar aniqlanganda intentlarni taqsimlaydi. worker o‘zi olgan intentni bajargach to‘xtaydi, shu orqali turli worker’larning chegarasiz ravishda bir xil ishni takrorlashiga yo‘l qo‘yilmaydi.

Bir necha bosqichli va oldingi bosqichlarga bog‘liq tadqiqot zanjirlari uchun planner vazifaga tegishli umumiy todolist’ni saqlaydi. Keyingi bosqich faqat oldingi bosqich tugallanganda va tegishli fakt mavjud bo‘lganda taqsimlanadi. Bu mexanizm butun zanjirni bir vaqtning o‘zida parallel ravishda yoyib yuborishning oldini oladi.

Boshqa worker’larning bajarilish jarayonini qidirish

Keyingi worker’lar ushbu vazifadagi boshqa work’larning bajarilish jarayonlaridan kalit so‘z bo‘yicha qidirish uchun search_all_worker_traces(q) dan foydalanishi, bajarilgan work’larni ko‘rish uchun esa list_worker_traces ni ishlatishi mumkin. Shundan so‘ng get_worker_trace(intent_id, step_ids=[...]) orqali belgilangan bosqichlarning to‘liq mazmuni olinadi. Tizim joriy worker’ning o‘z intentlarini avtomatik ravishda chiqarib tashlaydi.

Bunday jarayon darajasidagi axborot almashinuvi agent’ga hali fact sifatida rasman yozilmagan kuzatuvlardan qayta foydalanish imkonini beradi, shu bilan birga har bir worker faqat o‘zi olgan intentni bajarishi chegarasi saqlanadi.

Trafikni qayd etish va tasdiqlash

ARTEX trafikni yozib oluvchi proksi va vositalarni tasdiqlash eshigini taqdim etadi. Trafik sahifasi vositalar bajarilishi natijasida hosil bo‘lgan yozuvlarni ko‘rish uchun, tasdiqlashni bloklash sahifasi esa inson tasdig‘ini talab qiladigan amallarni ko‘rib chiqish uchun ishlatiladi.

Trafik yozuvlari

Xavfsizlikni tekshirishda tizim xatti-harakatlari kutilganidek ekanini tasdiqlash uchun vazifa sessiyasi, vosita chaqiruvlari, faoliyat oqimi va trafik yozuvlarini bir vaqtda ko‘rib chiqish tavsiya etiladi. Inson ishtirokidagi muloqotdan kontekstni to‘ldirish va tasdiqlash jarayonida qatnashish uchun ham foydalanish mumkin.

Zaiflikni qayta sinash

Vazifa tafsilotlaridagi «Qayta sinash» yorlig‘i ushbu vazifadagi zaifliklarni sahifalab tanlash, tarixiy xulosalar va dalillarni ko‘rish hamda qayta sinashni alohida boshlash imkonini beradi. Zaifliklar ro‘yxati, zaiflik tafsilotlari, vazifalar guruhlari ko‘rinishi va aktivlar ko‘rinishida qayta sinash kirishlari mavjud.

Aktivlar qamrovi grafigi

  1. Zaifliklar ro‘yxati yoki zaiflik tafsilotlarida «Qayta sinash» tugmasini bosing.
  2. Zaruratga ko‘ra tuzatish versiyasi, test shartlari yoki cheklovlarni kiriting.
  3. Alohida qayta sinash Agent sessiyasini ishga tushiring.
  4. Sessiyada qayta sinash jarayonini kuzating, yakunlangach xulosa va dalillarni ko‘ring.

Qayta sinash xulosalari «Hali ham takrorlanadi», «Tuzatildi» va «Tasdiqlab bo‘lmaydi» holatlarini o‘z ichiga oladi. Qayta sinash muvaffaqiyatli yakunlanib, xulosa «Tuzatildi» bo‘lsa, tizim zaiflikni bartaraf etish holatini avtomatik yangilaydi; bajarilish jarayoni, muvaffaqiyatsizlik, to‘xtatish yoki boshqa xulosalar dastlabki holatni avtomatik o‘zgartirmaydi. Asl dalillar va hisobotlar saqlanib qoladi.

Tizim tahrirlash mumkin bo‘lgan «Zaiflikni qayta sinash» retester Agent’ini oldindan sozlab qo‘yadi. Uni Agent boshqaruvida prompt, LLM, ishga tushirish budjeti va vositalar bo‘yicha sozlash mumkin; maxsus LLM biriktirilmagan bo‘lsa, global faol konfiguratsiyadan foydalaniladi. Bir xil zaiflik qayta sinalayotgan paytda mavjud sessiya qayta ishlatiladi, to‘xtatish, muvaffaqiyatsizlik yoki xizmat qayta ishga tushirilgandan keyin esa qayta sinashni yana boshlash mumkin.

E’tibor bering: loyiha tavsifida qayta sinash tarixi hozircha zaiflik hisobotini eksport qilish yoki vazifa arxiv paketiga kiritilmagani, shuningdek, trafik paketi bilan avtomatik bog‘lanmagani ko‘rsatilgan. Namoyish rejimi faqat aniq belgilangan simulyatsiya yozuvlarini yaratadi va haqiqiy nishonlarga so‘rov yubormaydi.

Teskari proksi orqali joylashtirish bo‘yicha muhim jihatlar

Frontend, API va SSE odatda bir xil backend porti orqali taqdim etiladi. Shuning uchun ko‘pincha faqat HTTPS portini internetga ochish, ARTEX’ning 8787 portini esa ichki tarmoqda saqlash kifoya. Real vaqt faoliyat oqimi bir xil manzildan foydalanadi, shuning uchun odatda NEXT_PUBLIC_SSE_BASE ni sozlash shart emas.

Nginx kabi teskari proksilar SSE buferlashini o‘chirishi va o‘qish uchun uzoqroq timeout o‘rnatishi kerak; aks holda brauzer ulanishni muvaffaqiyatli o‘rnatsa ham, faoliyat hodisalarini uzluksiz qabul qila olmasligi mumkin.

location / {
    proxy_pass http://127.0.0.1:8787;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
    proxy_cache off;
    proxy_read_timeout 3600s;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
}

SSE turli manbadan, masalan, alohida subdomen orqali ishlashi shart bo‘lgan holatdagina build bosqichida NEXT_PUBLIC_SSE_BASE ni sozlash kerak. Ushbu o‘zgaruvchi next build vaqtida statik paketga yozib qo‘yiladi, shuning uchun uni konteyner ishga tushganda o‘rnatish kuchga kirmaydi.

Yangilash va ortga qaytarish

Trafik

ARTEX yangilanganda dastur almashtiriladi, biroq PostgreSQL ma’lumotlar hajmi, ./data va ./skills saqlanib qoladi. Yangilashni tizim konfiguratsiyasi sahifasidagi «Versiyalar va yangilanishlar» kartasi orqali bir marta bosib bajarish tavsiya etiladi. Yangilash jarayoni joriy platforma uchun chiqarilgan paketni yuklaydi, SHA256SUMS ni tekshiradi, yangi ikkilik faylning smoke testini ishga tushiradi, so‘ng ishga tushirish skripti almashtirishni yakunlaydi.

Tekshiruv yoki smoke test muvaffaqiyatsiz bo‘lsa, vaqtinchalik dastur o‘chirib tashlanadi; yangi versiya ketma-ket uch marta ishga tushmasa, tizim avtomatik ravishda ortga qaytadi. Oldingi versiya artex.old sifatida saqlanadi. Biroq ma’lumotlar bazasi tuzilmasi dastur bilan birga ortga qaytarilmaydi, shuning uchun yangilashdan oldin ma’lumotlar bazasi va ./data zaxira nusxasini yaratish kerak.

Yangilash xizmatni qayta ishga tushiradi va ishlayotgan vazifalarni to‘xtatadi, shuning uchun uni tizim bo‘sh paytda bajarish kerak. Docker orqali joylashtirishda yana bir jihatga e’tibor bering: sahifa orqali yangilash faqat dasturni almashtiradi, image ichidagi vositalar zanjiri almashtirilmaydi. Image’ni yangilash uchun quyidagilarni bajaring:

docker compose pull artex
docker compose up -d artex

Shuningdek, repozitoriydagi yangilash skriptidan foydalanish mumkin:

cd ARTEX
./update.sh

Mahalliy ishlab chiqish va test

Ishlab chiqish muhitida backend, trafik proksisi va Next.js ishlab chiqish serverini bir vaqtda ishga tushirish uchun dev.sh dan foydalanish mumkin:

./dev.sh

Standart backend porti 8787, trafik proksisi porti 8788, frontend ishlab chiqish serveri esa 5173. Ularni alohida ishga tushirish ham mumkin:

go run ./cmd/artex
cd web && npm run dev
go test ./...

Agar backend’ni ishga tushirmasdan faqat frontend’ni ko‘rish kerak bo‘lsa, quyidagidan foydalaning:

cd web && NEXT_PUBLIC_MOCK=1 npm run dev

Xulosa

ARTEX Go monolit backend’i, Next.js interfeysi, PostgreSQL, LLM agentlari, trafikni qayd etish, tasdiqlash mexanizmi va aktivlarni boshqarishni bitta tizimga birlashtiradi. Ishni boshlashda avval Docker yoki o‘rnatish skripti orqali joylashtirishni yakunlash, keyin PostgreSQL va LLM’ni sozlash, undan so‘ng vazifalar, sessiyalar, tadqiqot zanjirlari, aktivlar qamrovi grafigi va trafik yozuvlari orqali tizim xatti-harakatlarini bosqichma-bosqich tushunish mumkin.

Aktivlar grafigi va tadqiqot grafigining vazifalarini tushunish ARTEX’ni egallashning kalitidir: aktivlar grafigi «qanday aktivlar mavjud?» degan savolga, tadqiqot grafigi esa «vazifa qanday ilgari suriladi?» degan savolga javob beradi. Har qanday testdan oldin uni mahalliy izolyatsiyalangan muhit va loyiha ruxsat bergan o‘quv maqsadlari bilan qat’iy cheklang hamda loyiha bayonoti, ochiq manba litsenziyasi va amaldagi qonunlarga rioya qiling.