Ho testato modelli locali su dieci piccoli contratti Solidity, inserendo bug come:

  • Reentrancy nelle funzioni di prelievo (withdraw)
  • Mancanza di modificatori di accesso
  • Errori di arrotondamento ERC4626
  • Controlli delle firme errati
  • Bug logici sottili

Ho messo a confronto Qwen2.5-Coder e DeepSeek-Coder utilizzando modelli da 7B (o inferiori) tramite Ollama su WSL2. Se utilizzi modelli da 33B, ignora questo passaggio.

Per ogni contratto ho inviato tre prompt:

  • Una revisione di sicurezza generale
  • Un controllo mirato su reentrancy e controllo degli accessi
  • Un report strutturato con tag di severità

Rispetto delle istruzioni

Qwen 7B vince in questo ambito. Rispetta le regole di formattazione rigorose quasi sempre. DeepSeek spesso aggiunge testo extra o ignora i limiti. Quando si inserisce l'output di un modello in una pipeline automatizzata, la coerenza di Qwen è fondamentale: un errore di parsing è inutile.

Controlli mirati

Qwen rimane in tema. Se gli chiedi della reentrancy, risponde sulla reentrancy. DeepSeek si sposta su ottimizzazione del gas o note sullo stile, aggiungendo rumore.

Qualità della spiegazione

Qwen descrive chiaramente le sequenze di attacco, mostrando come si sviluppa un exploit. DeepSeek offre risposte generiche da manuale. Entrambi sono corretti, ma il dettaglio di Qwen aiuta nella stesura dei report.

Scetticismo e allucinazioni

DeepSeek segnala più problemi, comportandosi come un "generatore di sospetti". Inventa anche problemi in codice pulito.

Qwen, al contrario, tace quando il codice è privo di bug. DeepSeek, invece, sostiene l'esistenza di bug che non esistono.

Un falso allarme costa minuti; un bug mancato può costare tutto. Mi affido a DeepSeek per far emergere elementi da investigare, ma conto su Qwen per l'automazione.

Il mio verdetto finale

La dimensione del modello conta più del brand. Un modello da 1.5B non è in grado di ragionare su bug multi-step o di rispettare il formato.

A 7B, entrambi gestiscono le falle di base, eppure nessuno dei due sostituisce un auditor umano per la logica di business complessa. Pensateli come assistenti per il triage, non come auditor.

Il mio setup:

  • Qwen 7B: Predefinito per revisioni strutturate e pipeline.
  • DeepSeek: Seconda opinione per cogliere ciò che Qwen tralascia.
  • Qwen 1.5B: Solo per un filtraggio veloce e a basso rischio.

Acquista il modello più grande che il tuo hardware può gestire. Poi preoccupati del brand.

Preferisci un modello sospettoso o un modello preciso?

Source: https://dev.to/pavelespitia/qwen25-coder-vs-deepseek-coder-for-solidity-review-what-i-actually-see-locally-4jh8

Optional learning community: https://t.me/GyaanSetuAi