Skip to content

wangbar0133/Asuka

Repository files navigation

Asuka

You can use auska to detect any solidity file to find defects. It's base on python3 and antlr4.

How to install

git clone git@github.com:wangbar0133/Asuka.git cd Asuka python setup.py install

How to use

asuka --help usage: asuka [-h] [--version] [-k APIKEY] [-c CHAIN] [-d] [-i INCLUDE] [-e EXCLUDE] [-t THREAD] path positional arguments: path Folders or solidity files or address. optional arguments: -h, --help show this help message and exit --version Show current version -k APIKEY, --apikey APIKEY Api key -c CHAIN, --chain CHAIN chain type Check List: -d, --detector Show all detectors Detect: -i INCLUDE, --include INCLUDE Specify the detector -e EXCLUDE, --exclude EXCLUDE Exclusion detector -t THREAD, --thread THREAD Number of threads

Scan all solidity files in the current folder:

asuka .

Scan contract by address chain type and api key:

asuka 0xdac17f958d2ee523a2206206994597c13d831ec7 -t eth -k xxxxxxxxxxxxxxxxxx

Support Ethereum now.

Scan single solidity file:

asuka test.sol

Specify or exclude detectors, using -i(inclued) or -e(exclude) and the SWC id Should be separated by a comma. SWC id can be start with s or just a number.

asuka . -i s100,101 

You can specify threads by using -t.

asuka . -t 4

Detectors

All detectors are base on SWC.

ID Name
SWC-100 Function Default Visibility
SWC-101 Int Overflow
SWC-104 Unchecked Return Value
SWC-107 Reentrancy
SWC-109 Access of Uninitialized Pointer
SWC-112 Delegatecall to Untrusted Callee
SWC-115 Authorization through tx.origin

More Smart Contract Weakness: https://swcregistry.io/

Welcome to pull request

You can take PR to commit new detector, or take issues when you got trouble.

About

Extremely Fast Contract Defect Detectors

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors