Kengaytmalarda AI funksiyalarini ishlab chiqish
Bu sahifada Montoya API yordamida Burp Suite kengaytmalariga AI asosidagi imkoniyatlarni qanday integratsiya qilish haqida umumiy ma'lumot berilgan.
Ushbu sahifada
- AI mavjudligini tekshirish
- Prompt yuborish va javoblarni qayta ishlash
- Istisnolar bilan ishlash
- Temperature qiymatini o'rnatish
Eslatma
Agar amaliy misollarni ko'rmoqchi bo'lsangiz, bizning kengaytmalar repozitoriyimizga qarang. Unda Montoya API yordamida AI imkoniyatlarini qanday integratsiya qilishni ko'rsatuvchi tayyor kengaytmalar bor.
AI mavjudligini tekshirish
AI bilan ishlashdan oldin kengaytmangiz foydalanuvchining Burp Suite nusxasi AI funksiyasini qo'llab-quvvatlashini tasdiqlashi kerak. AI funksiyasi quyidagi hollarda mavjud bo'lmaydi:
- Foydalanuvchi Burp Suite'ning AI imkoniyatlarini qo'llab-quvvatlamaydigan nashridan foydalanayotgan bo'lsa.
- Kengaytma uchun AI imkoniyatlari yoqilmagan bo'lsa.
Kengaytmani AI'ni yoqadigan qilib sozlash
AI imkoniyatlarini yoqish uchun foydalanuvchi kengaytmaning Use AI katagiga belgi qo'yishi kerak. U Burp'ning Extensions > Installed ekranida joylashgan va sukut bo'yicha o'chirilgan.
Kengaytmangiz uchun bu katakni ko'rsatish maqsadida kengaytmangizda BurpExtension interfeysining enhancedCapabilities() metodini qayta aniqlang (override qiling) va EnhancedCapability.AI_FEATURES bayrog'ini qaytaring.
Eslatma
Kengaytmangiz bu override'ni o'z ichiga olishi shart, chunki foydalanuvchi Use AI ni tanlay olmasa, AI imkoniyatlaridan foydalana olmaydi.
Misol
AI mavjudligini tasdiqlash
Foydalanuvchining Burp Suite nusxasida AI funksiyasi mavjudligini tekshirish uchun Ai.isEnabled() metodidan foydalaning.
Bu metod quyidagi ikkala shart bajarilganda true qaytaradi:
- Foydalanuvchi Burp Suite'ning qo'llab-quvvatlanadigan nashridan foydalanayotgan bo'lsa.
- Extensions sahifasida Use AI katagi belgilangan bo'lsa.
Agar AI qo'llab-quvvatlanmasa, buni AI bilan bog'liq funksiyani o'chirib qo'yish yoki foydalanuvchini ogohlantirish orqali oqilona hal qiling.
Misol
Prompt yuborish va javoblarni qayta ishlash
Prompt interfeysi AI'ga tuzilmalashtirilgan prompt'larni yuboradi. Prompt kirishni belgilovchi bir yoki bir nechta Message obyektidan iborat bo'ladi.
Xabarlar uch xil turda bo'lishi mumkin:
- System messages: AI'ning xatti-harakati yoki rolini belgilaydi (masalan, "Siz zaifliklarga ixtisoslashgan veb-xavfsizlik yordamchisisiz").
- User messages: foydalanuvchi so'rovlarini ifodalaydi (masalan, "SQL injection qanday ishlashini tushuntiring").
- Assistant messages: oldingi muloqotlarda AI yaratgan javoblarni ifodalaydi (masalan, "SQL injection - bu hujumchiga ma'lumotlar bazasi so'rovini manipulyatsiya qilish imkonini beruvchi zaiflik.").
Bu xabarlarni birlashtirib, bir martalik prompt'lar yuborishingiz yoki bir necha muloqot davomida kontekstni saqlaydigan suhbat imkoniyatlarini qurishingiz mumkin.
Eslatma
Har bir sessiya yoki muloqotni AI'ning roli va xatti-harakatini belgilovchi system message bilan boshlash yaxshi amaliyot hisoblanadi. Bu AI sizning aniq foydalanish holatingizga mos javoblar berishiga yordam beradi.
Bir martalik prompt'lar
Bir martalik (single-shot) prompt - bu odatda ham system, ham user xabarini o'z ichiga olgan mustaqil so'rov. Bu yondashuv bir martalik savollar yoki tahlillar uchun ideal.
Prompt yuborganingizda javob PromptResponse obyekti sifatida qaytariladi. Bu interfeysdan quyidagilar uchun foydalaning:
content()metodi yordamida javobni matn (string) ko'rinishida olish.- Javobni saqlash yoki uni foydalanuvchiga ko'rsatish hamda keyingi prompt'larni qurish kabi keyingi amallar uchun ishlatish.
Misol
Maslahat
Davom etishdan oldin javob mavjudligiga va AI xato qaytarmaganiga ishonch hosil qilish uchun AI javobini kodda tekshiring.
Ko'p bosqichli suhbatlar qurish
Yanada tabiiy muloqot uchun Message obyektlari ketma-ketligini saqlagan holda ko'p bosqichli suhbatlar qurishingiz mumkin. Har bir yangi so'rov oldingi xabarlar va javoblarni kontekst sifatida o'z ichiga oladi.
Odatiy ko'p bosqichli ish jarayoni quyidagi qadamlardan iborat:
- Kontekstni xabarlar bilan ishga tushiring:
- AI rolini belgilash uchun
Message.systemMessagedan boshlang. - Foydalanuvchi so'rovi uchun boshlang'ich
Message.userMessageqo'shing.
- AI rolini belgilash uchun
- AI javobini qayta ishlang:
- Joriy kontekstni
Prompt.execute()yordamida AI'ga yuboring. - Javobni
PromptResponse.content()yordamida oling.
- Joriy kontekstni
- Kontekstni javoblar bilan yangilang - AI javoblarini
Message.assistantMessagesifatida saqlang, shunda ular AI yaratgan chiqish sifatida aniqlanadi. - Keyingi so'rovlar uchun takrorlang:
- Yangi foydalanuvchi so'rovlarini
Message.userMessagesifatida qo'shing. - Har bir o'zaro aloqa uchun yangilangan kontekstni AI'ga yuboring.
- Yangi foydalanuvchi so'rovlarini
Quyidagi misol Message va PromptResponse yordamida suhbat kontekstini qanday saqlashni ko'rsatadi:
Misol
Maslahat
AI'ni ortiqcha yuklamaslik yoki unumdorlikni pasaytirmaslik uchun kontekstga faqat eng dolzarb va eng so'nggi xabarlarni kiriting. Masalan, suhbatingizda o'nta almashinuv bo'lsa-yu, faqat oxirgi uchtasi dolzarb bo'lsa, keyingi promptga faqat o'sha uchta xabarni kiriting.
Istisnolar bilan ishlash
Kengaytmangiz foydalanuvchilaringiz uchun kutilgandek ishlashda davom etishi uchun xatolarni oqilona hal qilish muhim. PromptException klassi AI prompt bajarilishi vaqtida yuzaga kelishi mumkin bo'lgan xatolarni ifodalaydi, masalan:
- Null yoki noto'g'ri formatlangan xabarlar.
- AI xizmati bilan aloqadagi muammolar.
- Foydalanuvchining AI kreditlari tugab qolishi.
Kengaytmangiz xatolardan tiklana olishi uchun Prompt.execute() kabi AI metodlariga murojaatlarni try-catch blokiga o'rang.
Quyidagi misol bir martalik prompt yuborishda PromptException ni qanday ushlash va qayta ishlashni ko'rsatadi:
Misol
Maslahat
Xatolar Burp Suite'ning log chiqishida to'g'ri qayd etilishi uchun ularni api.logging().logToError() yordamida yozib boring.
Temperature qiymatini o'rnatish
AI javoblarining ijodkorlik darajasini PromptOptions interfeysidagi temperature sozlamasi yordamida boshqarishingiz mumkin.
Temperature - bu 0 va 2 orasidagi son. Bu sozlama oldindan aytish mumkin bo'lgan va ijodiy javoblar o'rtasidagi muvozanatni boshqaradi hamda AI xatti-harakatini aniq ehtiyojlaringizga moslashtirish imkonini beradi:
- Past temperature qiymatlari (0.0 - 0.8) ko'proq oldindan aytiladigan va determinlashgan natijalar beradi. Ular texnik yoki faktik vazifalar uchun eng mos.
- Yuqori temperature qiymatlari (0.8 - 2.0) ko'proq ijodiy va xilma-xil natijalar beradi. Ular izlanuvchan vazifalar uchun mos.
Umumiy qoida sifatida, xavfsizlik bilan bog'liq ilovalar uchun past temperature qiymatlari yaxshiroq natija beradi. Sukut bo'yicha temperature 0.5 ga o'rnatilgan.
Quyidagi misol PromptOptions yordamida temperature qiymatini qanday o'rnatishni ko'rsatadi.