Przetestowałem lokalne modele na dziesięciu małych kontraktach Solidity, celowo wprowadzając błędy, takie jak:
- Reentrancy w funkcjach withdraw
- Brak modyfikatorów dostępu
- Błędy zaokrągleń ERC4626
- Błędne sprawdzanie podpisów
- Subtelne błędy logiczne
Porównałem Qwen2.5-Coder z DeepSeek-Coder, używając modeli 7B (lub mniejszych) przez Ollama na WSL2. Jeśli używasz modeli 33B, możesz to zignorować.
Dla każdego kontraktu przygotowałem trzy prompty:
- Ogólny przegląd bezpieczeństwa
- Ukierunkowane sprawdzenie pod kątem reentrancy i kontroli dostępu
- Ustrukturyzowany raport z tagami poziomu krytyczności
Przestrzeganie instrukcji
W tej kategorii wygrywa Qwen 7B. Prawie za każdym razem przestrzega ścisłych reguł formatowania. DeepSeek często dodaje zbędny tekst lub ignoruje limity. Gdy przesyłasz wynik modelu do zautomatyzowanego potoku (pipeline), spójność Qwen ma kluczowe znaczenie – błąd parsowania czyni wynik bezużytecznym.
Ukierunkowane sprawdzenia
Qwen trzyma się tematu. Jeśli zapytasz o reentrancy, odpowie o reentrancy. DeepSeek zbacza na tematy optymalizacji gasu lub uwag dotyczących stylu, wprowadzając szum.
Jakość wyjaśnień
Qwen wyraźnie opisuje sekwencje ataków, pokazując, jak przebiega exploit. DeepSeek oferuje generyczne, podręcznikowe odpowiedzi. Obie odpowiedzi są poprawne, ale szczegółowość Qwen ułatwia pisanie raportów.
Sceptycyzm i halucynacje
DeepSeek flaguje więcej problemów, działając jak „generator podejrzeń”. Wynajduje też problemy w czystym kodzie.
Qwen z kolei milknie, gdy kod jest błędny. DeepSeek natomiast twierdzi, że istnieją błędy, których nie ma.
Fałszywy alarm kosztuje kilka minut; przeoczony błąd może kosztować wszystko. Polegam na DeepSeek, aby wyłapywał rzeczy do sprawdzenia, ale w automatyzacji ufam Qwen.
Mój ostateczny werdykt
Rozmiar modelu ma większe znaczenie niż marka. Model 1.5B nie potrafi przeprowadzić rozumowania w przypadku wieloetapowych błędów ani trzymać się formatu.
Przy 7B oba modele radzą sobie z podstawowymi wadami, jednak żaden nie zastąpi ludzkiego audytora w przypadku złożonej logiki biznesowej. Traktuj je jako asystentów triage'u, a nie audytorów.
Moja konfiguracja:
- Qwen 7B: Domyślny do ustrukturyzowanych przeglądów i potoków (pipelines).
- DeepSeek: Druga opinia, aby wyłapać to, co przeoczy Qwen.
- Qwen 1.5B: Tylko szybkie filtrowanie przy niskim ryzyku.
Kup największy model, jaki może uruchomić Twój sprzęt. Dopiero potem martw się o markę.
Wolisz model podejrzliwy czy model precyzyjny?
Optional learning community: https://t.me/GyaanSetuAi
