How We Hacked Multi-Billion Dollar Companies in 30 Minutes Using a Fake VSCode Extension

Sunt curios cât de atenți sunteți la extensiile instalate în editor și dacă luați în considerare că ar sunt un vector de atac.

(nu că ar fi o problemă cu VSC, sunt convins că și Jetbrains sau Sublime sau Vim au aceleași probleme, diferența fiind că penrtu ultimele două nu există un marketplace propriu-zis ci doar github)

How We Hacked Multi-Billion Dollar Companies in 30 Minutes Using a Fake VSCode Extension

(mirror)

1 Like

Poti lua in considerare daca extensia are in spate o companie, majoritatea extensiilor si librariilor create de comunitate ajung deprecated si numai sunt intretinute, pe cand cele sustinute de o companie au o viata mai lunga.

Bine ca a fost doar un test.

Extensiile non-core de neovim au deobicei pana in cateva mii de linii de cod in Lua. Sunt indeajuns de putine sa le grokuiesti rapid si sa iti faci o idee daca fac chestii neortodoxe. Apoi, in distributia pe care o folosesc de neovim (astronvim) exista si un repo de pluginuri non-core (astronvim-community) care sunt deja configurate sa mearga si grokuite de restul comunitatii.

Mai este si chestia ca prima data la aceste pluginuri, oricum intri pe github; adica vezi issue-urile, commenturile, codul sursa. Deci chiar daca nu vizezi direct gauri de securitate, oricum iti faci o idee relativ buna despre acel plugin.

O mare problema in vscode este ca poti sa ai extensii proprietare (aka binare) la care poti sa faci audit doar cu mare dificultate.

Mind you, aceeasi chestie se intampla si in vim cu Language Server Protocol (doar ca ai access la sursa binarelor/liburilor, mostly). Deh, tot de la Vscode a venit moda asta; dar e o chestie cat-de-cat™️ safe.

In general, de unde vad eu ca vine problema este ca nu ar trebui editorul sa trimita date aiurea sau sa iti instaleze chestii automat. Defapt, si daca te intreaba vrei sa instalezi X sau Y e gresit din punctul meu de vedere. Ca o simpla intrebare cu raspuns yes/no nu e ok sa faci o decizie legat de un plugin/binar/etc random.

1 Like

Nu am obiceiul sa instalez foarte multe extensii (<10). Totusi, atunci cand instalez vreuna, verific prima data cine este autorul. Iar daca este necunoscut, verific (in fuga) si codul.