スマートコントラクトのチェックされていない外部呼び出しのテスト (Testing Unchecked External Calls in Smart Contracts)
説明
例: 適切なアクセス制御のないコード
// SPDX-License-Identifier: MIT
pragma solidity ^0.4.24;
contract Proxy {
address public owner;
constructor() public {
owner = msg.sender;
}
function forward(address callee, bytes _data) public {
require(callee.delegatecall(_data)); // Unchecked external call vulnerability
}
}影響
対策
テスト 1: 安全なコントラクトインタラクションを確認する
脆弱なコード:
なぜ脆弱なのか
修正されたコード:
チェック方法
Previousアクセス制御と認証の脆弱性のテスト (Testing Access Control and Authentication Vulnerabilties)Next暗号化の実践のテスト (Testing Cryptographic Practices)
Last updated