morpho-critical-poc / Exploit.sol
joekaw's picture
refined exploit logic
be76e11 verified
Raw
History Blame Contribute Delete
1.01 kB
// Testing oracle lag on Morpho Blue.
// If the fixed rate doesn't update, we can just arb it.
// Need to check why this vault doesn't handle the tick spread correctly.
// Testing directly against storage slots
contract Exploit {
address constant MORPHO = 0xBBBBBbbBBb9cC5e90e7b3Af60BDf0224d08b3400;
// Use a simple run function for forge script, not a full unit test suite
function run() external {
// Assume the fork is already set up via forge script env
// console.log("Starting exploit...");
// Target: Oracle manipulation / fee leakage
// abi.encodeWithSignature is much cleaner than dragging in huge interfaces
(bool success, bytes memory data) = MORPHO.call(
abi.encodeWithSignature("supply(bytes32,uint256,uint256,address,bytes)",
0x0, 0, 0, address(this), "")
);
require(success, "Exploit failed at supply");
// log the result raw
// console.logBytes(data);
}
}