ポリシー、手続き、コード管理のテスト (Testing Policies, Procedures, and Code Management)
説明
例: 冗長コードやデッドコード
// Example: Code with redundant, duplicated, or dead code
function transfer(address recipient, uint256 amount) public {
// Redundant code: balance is checked twice
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
// Dead code: This line will never be reached
if (amount == 0) {
revert("Cannot transfer zero amount");
}
emit Transfer(msg.sender, recipient, amount);
}影響
対策
コンパイラバージョンと非推奨関数のテスト (Test for Compiler Version and Deprecated Functions)
説明
テスト 1: コンパイラバージョンを検証して非推奨関数を回避する
脆弱なコード:
なぜ脆弱なのか
修正されたコード:
チェック方法
テスト 2: コードレビュープロセスを確認して非推奨関数を回避する
脆弱なコード:
なぜ脆弱なのか
修正されたコード:
なぜ修正が機能するのか
チェック方法
Previousアーキテクチャ、設計、脅威モデリングのテスト (Testing Architecture, Design, and Threat Modeling)Nextビジネスロジックと経済的セキュリティのテスト (Testing Business Logic and Economic Security)
Last updated