cosmos-vulnerability-scanner
Scans Cosmos SDK blockchains for 9 consensus-critical vulnerabilities including non-determinism, incorrect signers, ABCI panics, and rounding errors. Use when auditing Cosmos chains or CosmWasm contracts.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Scans Cosmos SDK blockchains for 9 consensus-critical vulnerabilities including non-determinism, incorrect signers, ABCI panics, and rounding errors. Use when auditing Cosmos chains or CosmWasm contracts.
How to use
Przygotuj kod do skanowania — upewnij się, że masz dostęp do repozytorium Cosmos SDK z plikami .go, .proto lub kontraktów CosmWasm w Rust (.rs). Skill automatycznie wykryje moduły w katalogach x/, keeper'y, definicje wiadomości w types/ i implementacje BeginBlocker/EndBlocker w abci.go.
Uruchom skill na wybranym module lub całym łańcuchu — wskaż ścieżkę do kodu, który chcesz przeskanować. Skill przeszuka importy SDK, wzorce keeper.Keeper, sdk.Msg, GetSigners() oraz deklaracje protobuf, aby potwierdzić, że analizuje kod Cosmos.
Przejrzyj wyniki skanowania — skill zidentyfikuje podatności z 9 kategorii konsensusowych, w tym niedeterminizm w logice stanu, nieprawidłowe weryfikacje podpisów, paniki w metodach ABCI, błędy zaokrąglania w obliczeniach finansowych i inne zagrożenia specyficzne dla Cosmos.
Skoncentruj się na kodzie krytycznym — priorytetowo przeanalizuj moduły x/, implementacje keeper'ów i metody BeginBlocker/EndBlocker, ponieważ błędy w tych obszarach mogą zatrzymać cały łańcuch lub spowodować utratę funduszy.
Uzupełnij wyniki o ręczny przegląd — skill wspiera analizę statyczną, ale dla zagadnień konsensusowych zalecane jest ręczne sprawdzenie logiki, szczególnie w kodzie obsługującym transakcje i zmianę stanu.
Użyj przed uruchomieniem lub podczas badania incydentów — skill jest przydatny zarówno do oceny bezpieczeństwa przed wdrożeniem, jak i do diagnozowania przyczyn zatrzymania lub anomalii sieci.