Команда з безпеки Rust виявила атаку на ланцюг постачання

Команда з безпеки Rust виявила атаку на ланцюг постачання

Команда з безпеки Rust розкрила атаку на ланцюг постачання, що включала кілька пакетів, опублікованих на crates.io, офіційному реєстрі пакетів Rust для багаторазових бібліотек. Серед них була шкідлива версія популярного arrayref crate.

Виявлення шкідливого пакета

Інцидент став відомий 20 серпня після того, як команда отримала повідомлення про шкідливість пакета proc-macro1. Розслідування підтвердило, що його скрипт збірки завантажив шкідливий код під час процесу створення.

Видалення шкідливих пакетів

Команда виявила та видалила proc-macro1, а також кілька шкідливих пакетів з подібними назвами, зокрема proc-macro-en, aovine, arone, aronenao та tinymember.

Ще більш тривожним є те, що розслідувачі виявили, що arrayref, добре відомий crate, нещодавно був перевипущений у версії 0.3.10 з залежністю на шкідливий пакет proc-macro1. В той же час, легітимні нові версії arrayref були зняті з реєстрації, що спрямувало користувачів до скомпрометованої версії.

Дії команди Rust

Команда Rust видалила arrayref 0.3.10 та відновила легітимні версії, які були зняті. Два інші пакети того ж автора – internment та append-only-vec – також постраждали. Команда видалила їх скомпрометовані версії та заблокувала обліковий запис автора на crates.io як запобіжний захід.

Дослідження атаки

Важливо зазначити, що команда з безпеки Rust не вважає автора arrayref відповідальним за атаку. Натомість команда припускає, що комп’ютер або облікові дані автора могли бути скомпрометовані, оскільки вона намагається зв’язатися з ним.

Шкідливі пакети були доступні протягом короткого часу, але достатньо, щоб розробники перевірили, чи вони були завантажені локально. arrayref 0.3.10 був на crates.io протягом 86 хвилин до видалення, internment 0.8.7 – 90 хвилин, а append-only-vec 0.1.9 – 107 хвилин.

Крім того, кожна версія proc-macro1, proc-macro-en, aovine, arone, aronenao та tinymember також має вважатися шкідливою.

Визнання команди Rust

На завершення, команда Rust відзначила дослідницьку команду Nextron Systems GmbH за первинне виявлення та повідомлення про інцидент. Для отримання додаткових деталей ознайомтеся з офіційною новиною на блоці Rust.