U demonstrua njĂ« metodĂ« sulmi ndaj redaktorit tĂ« kodit VSCode, e cila lejon tĂ« dĂ«rgosh skedarĂ« tĂ« rastĂ«sishĂ«m brenda kufijve tĂ« tĂ« drejtave tĂ« pĂ«rdoruesit aktual kur hapet nĂ« redaktor njĂ« kod i strukturuar nĂ« mĂ«nyrĂ« tĂ« veçantĂ«. NĂ« demostrimin e propozuar, kur hapet kodi nĂ« gjuhĂ«n Rust, nĂ« tĂ« cilin pĂ«rdoret njĂ« makros procedurial, vendoset njĂ« lidhje me hostin 127.0.0.1:8080 dhe dĂ«rgohet pĂ«rmbajtja e skedarit â~/.ssh/id_rsaâ me çelĂ«sat SSH tĂ« pĂ«rdoruesit.
PĂ«r kompromis mjafton thjesht tĂ« hapĂ«sh skedarin me kod, pa kryer asnjĂ« veprim tjetĂ«r me projektin. PĂ«r tĂ« funksionuar shembulli kĂ«rkohet qĂ« nĂ« VSCode tĂ« jetĂ« instaluar pluhuri rust-analyzer (njĂ« bashkĂ«si mbi kompajlerin standard rustc) dhe qĂ« nĂ« sistem tĂ« ketĂ« mjetet pĂ«r tĂ« punuar me kodin nĂ« gjuhĂ«n Rust. Problemi lidhet me zbuluarjen e makros proceduriale gjatĂ« analizĂ«s fillestare tĂ« kodit. NjĂ« efekt tĂ« ngjashĂ«m mund tĂ« arrihet gjithashtu gjatĂ« pĂ«rpunimit duke pĂ«rdorur komandĂ«n âcargo buildâ.
Vihet nga se problemi mund të preki editorë të tjerë kodimi dhe gjuhë programimi. VSCode dhe rust-analyze janë përdorur vetëm për të demonstruar drejtimin e sulmit. Teorikisht, çdo editor kodimi që ekspozon makro procedurale, të cilat lejojnë krijimin e zgjerimeve të sintaksës dhe ekzekutimin e kodit në fazën e kompilimit, është i ndjeshëm ndaj këtij problemi. Fillimisht, hulumtuesi studioi mundësinë e kryerjes së veprimeve të dëmshme gjatë kompilimit të kodit, por zbuloi se makrotë procedurale ekspozohen gjatë përpunimit të teksteve burimore në editorët e kodit. Me sa duket, sulmi mund të preki edhe gjuhë të tjera programimi; për shembull, në Java, mund të manipulohet në një mënyrë të ngjashme me përpunimin e anotimeve.

Burimi: opennet.ru
