Skip to content

security: fix cargo audit advisories (quick-xml, crossbeam-epoch) failing CI #6

Open

Description

@4nrry

Contexto

O job audit em .github/workflows/ci.yml roda cargo audit contra a base de advisories ao vivo do RustSec. Ele começou a falhar depois de 2026-06-30 (quando a main estava verde) por causa de advisories recém-publicadas contra dependências transitivas — não foi causado por nenhuma mudança de código. A main está vermelha nesse check repo-wide; é só bump de dependência.

⚠️ Fazer no ambiente Ubuntu (o toolchain Rust/cargo vive lá; a máquina Windows não tem o dev env configurado pra esse projeto).

Advisories a resolver

3 vulnerabilidades (as ~20 warnings "unmaintained" do gtk-rs não quebram o build):

Crate Versão atual Advisory Severidade Correção
quick-xml 0.39.4 RUSTSEC-2026-0194 7.5 (high) ≥ 0.41.0
quick-xml 0.39.4 RUSTSEC-2026-0195 7.5 (high) ≥ 0.41.0
crossbeam-epoch 0.9.18 RUSTSEC-2026-0204 — ≥ 0.9.20

Passos (rodar no Ubuntu, na raiz do repo)

git checkout main && git pull
git checkout -b fix/cargo-audit-advisories

# crossbeam-epoch: bump de patch compatível (0.9.x) — deve funcionar direto
cargo update -p crossbeam-epoch --precise 0.9.20

# quick-xml: transitivo via Tauri. Tenta o bump preciso primeiro:
cargo update -p quick-xml --precise 0.41.0

Se o cargo update -p quick-xml falhar

Significa que o quick-xml está pinado pelo Tauri 2.11.1 abaixo de 0.41. Duas saídas:

  • Preferido — subir o Tauri para uma release que já adotou quick-xml ≥ 0.41:

    cargo update -p tauri
    # ou editar a versão do tauri em apps/desktop/src-tauri/Cargo.toml (e Cargo.toml da workspace)
    # depois: cargo update -p quick-xml

    Verificar que o app ainda builda e roda normalmente após o bump.

  • Fallback (se ainda não existir Tauri com quick-xml ≥0.41) — ignorar só as duas advisories do quick-xml no ci.yml, com comentário linkando esta issue:

    - name: Run cargo audit
      run: cargo audit --ignore RUSTSEC-2026-0194 --ignore RUSTSEC-2026-0195

    E acompanhar as releases do Tauri pra remover o ignore quando o upstream corrigir.

Verificação

cargo audit            # deve reportar 0 vulnerabilities (warnings ok)
cargo test --workspace

Finalizar

Commitar o Cargo.lock atualizado (e o ci.yml, se usar o fallback do ignore), push e abrir um PR. O job audit do CI deve ficar verde.


Refs: última run verde do audit na main em 2026-06-30; primeira vermelha no CI do PR #5 (run 29130695889). Diagnóstico feito no Windows onde não há cargo — por isso a execução fica pro Ubuntu.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions