暗号化の実践のテスト (Testing Cryptographic Practices)
説明
例: 不適切な署名検証
function verifySignature(address signer, bytes32 message, bytes memory signature) public pure returns (bool) {
bytes32 messageHash = keccak256(abi.encodePacked(message));
address recoveredSigner = ecrecover(messageHash, uint8(signature[64]), bytes32(signature[0]), bytes32(signature[32]));
return recoveredSigner == signer;
}影響
対策
テスト 1: 安全な署名検証を検証する
脆弱なコード:
なぜ脆弱なのか
修正されたコード:
チェック方法
脆弱なコード:
なぜ脆弱なのか
修正されたコード:
チェック方法
Previousスマートコントラクトのチェックされていない外部呼び出しのテスト (Testing Unchecked External Calls in Smart Contracts)Next算術と論理のセキュリティのテスト (Testing Arithmetic and Logic Security)
Last updated