O código malicioso foi executado em tempo de compilação

O ataque não exigiu que os desenvolvedores executassem código suspeito ou mesmo chamassem uma função do arrayref. “Como os scripts de construção do Rust são executados em tempo de compilação, simplesmente construir qualquer projeto cujo arquivo de bloqueio resolvido arrayref 0.3.10 foi suficiente para detonar a carga útil. O código da caixa nunca precisa ser chamado”, disseram os pesquisadores da StepSecurity.

Quando o pacote afetado foi compilado, o arquivo de configuração “Cargo.toml” adicionou proc-macro1 como uma dependência. Essa dependência então reconstruiu uma URL de comando e controle (C2) a partir de fragmentos Base64, desabilitou a validação do certificado TLS, baixou uma carga específica da plataforma e a executou como parte do processo normal de construção.

Wiz encontrou a carga coletando informações de host, nome de usuário e sistema operacional, enumerando aplicativos instalados e inspecionando perfis do Chrome, Brave e Edge em busca de informações de login e extensão salvas.