Vulnerability and countermeasures#
Limit users who are allowed to execute smart contracts#
スマートコントラクトの実行を許可する利用者を限定する#
スマートコントラクト関数は、不特定多数の利用者に対して実行させて問題がないかを検討し、制限が必要であれば実行者を限定するコードを実装する。
実装時の考慮点と対策#
制限対象とする関数を特定し、OpenZeppelinのOwnableを適用する。
実装例#
準備中
オーバーフローとアンダーフロー#
特に、数値を扱う処理に考慮が必要である。
実装時の考慮点と対策#
算術演算を行う処理では、必ずSafeMathモジュールを適用する。
実装例#
準備中
付録#
スマートコントラクトの脆弱性については、CWEと同様に、SWCとして弱点が定義されている。 こちらの内容も合わせて確認すること。
-
代表的な攻撃
https://consensys.github.io/smart-contract-best-practices/known_attacks/ -
SWC (Smart Contract Weakness Classification)
https://swcregistry.io/