Kembrij universiteti olimlari Nikolas Baucher (Nicholas Boucher) va Ross Anderson (Ross Anderson) tajovuzkorlarga vizual tarzda aldamchi zararli DT semantik jihatdan to’g’ri, lekin manba kodida belgilangan mantiqni o’zgartirib yuborishga imkon beruvchi va kiber tahdidlar, shu jumladan ta'minot zanjirlari bilan bog’liq kodlarning zaiflikka noyil bo’lgan yangi sinfini aniqlashdi.
Mutaxassislar tomonidan ta’riflangan " Trojan Source hujumi" usuli "Standart kodlarda ko’rsatilganidan boshqacha tartibda mantiqiy ravishda kodlangan manba kodini yaratish uchun Unikode kabi nozik farqlardan foydalanishga asoslanadi, bu esa zaifliklarga olib keladi, ya’ni odamlar aniqlay olmaydigan kodni ko’rib chiqadilar."
CVE-2021-42574 va CVE-2021-42694 sifatida aniqlangan zaifliklar C C, C++, C#, JavaScript, Java, Rust, Go va Python kabi barcha mashhur dasturlash tillarining kompilyatorlariga ta’sir qiladi.
Muammo chapdan o’ngga (masalan, ruscha) va o’ngdan chapga (masalan, ivritcha) yozishni qo’llab-quvvatlaydigan ikki tomonlama Unikode algoritmi (Bidi algoritmi) bilan bog’liq. Bidia algoritmi, shuningdek, so’zlarni o’ngdan chapga tilda va aksincha, jumlada chapdan o’ngga yozish imkonini beruvchi ikki tomonlama bekor qilishni qo’llab-quvvatlaydi. Boshqacha qilib aytganda, algoritm chapdan o’ngga yozilgan matnni o’ngdan chapga yozilgandek qabul qilish imkonini beradi.
Kompilyator chiqishi manba kodini to’g’ri amalga oshirishi kutilmoqda, biroq Bidi Unikodi bekor qilish belgilarini sharhlar va satrlarga kiritishda yuzaga keladigan nomuvofiqliklar sintaktik jihatdan haqiqiy manba kodini yaratishga imkon beradi, bunda belgilarni ko’rsatish tartibi haqiqiydan farq qiluvchi mantiqni ifodalaydi.
"Ya’ni, biz A dasturini B dasturiga anagramma qilamiz. Agar mantiqdagi o’zgarishlar keyingi testlarda aniqlashni chetlab o’tadigan darajada nozik bo’lsa, tajovuzkor maqsadli zaifliklar yaratishi va aniqlanmasligi mumkin", deb tadqiqotchilar tomonidan ta’kidlanadi.
Bunday qarama-qarshi dasturlash ta'minot zanjiriga katta ta’sir ko’rsatishi mumkin, deb ogohlantiradi tadqiqotchilar, ochiq kodli dasturiy ta’minotga kiritilgan zaifliklar yakuniy mahsulotlarga o’tkazilganda, bu dasturiy ta’minotning barcha foydalanuvchilariga ta'sir qiladi. Bundan ham yomoni, agar tajovuzkor manba paketidagi oldindan mavjud funktsiyalarni bekor qilish va ularni qurbon dasturidan chaqirish uchun gomogliflardan foydalansa, "Trojan Source hujumi" yanada jiddiyroq bo’lishi mumkin.