igneum/tools/exec-attacks/contracts/PgasBomb.json
igneum-labs 1037d06276 exec-attacks: execution-layer attack suite (tools + bench log)
Adversarial robustness and conformance tests of the execution layer against a
throwaway 3-node simnet on ports 27600+. Six scenarios, each a runnable command
with a design-derived pass criterion and a measured result: malformed/boundary
txs, nonce games across parallel blocks, RPC fuzz, pgas exhaustion, reorgs under
execution, and developer-registry abuse. 98 checks, 0 failures, 0 node panics.

Two findings filed in the bench-log entry: the mempool admits txs with gas_limit
above B_e (low), and an over-pgas-budget tx is executed natively in full before
being skipped for no fee (medium, griefing).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 22:57:19 +00:00

62 lines
2.8 KiB
JSON

{
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "iterations",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "acc",
"type": "uint256"
}
],
"name": "Done",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "keccakLoop",
"outputs": [
{
"internalType": "bytes32",
"name": "h",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "modexpLoop",
"outputs": [
{
"internalType": "uint256",
"name": "acc",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6080604052348015600e575f5ffd5b506103a08061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806322afaa4e14610038578063dc9f0cb31461005d575b5f5ffd5b61004b61004636600461031a565b610070565b60405190815260200160405180910390f35b61004b61006b36600461031a565b6100d0565b604080514360208083019190915282518083038201815291830190925280519101205f5b828110156100ca5760408051602081018490520160408051601f1981840301815291905280516020909101209150600101610094565b50919050565b6040805160e280825261012082019092525f91829190602082018180368337019050509050600160f81b81601f8151811061010d5761010d610331565b60200101906001600160f81b03191690815f1a905350600160f81b81603f8151811061013b5761013b610331565b60200101906001600160f81b03191690815f1a905350608060f81b81605f8151811061016957610169610331565b60200101906001600160f81b03191690815f1a905350600260f81b8160608151811061019757610197610331565b60200101906001600160f81b03191690815f1a905350600160f81b816061815181106101c5576101c5610331565b60200101906001600160f81b03191690815f1a9053505f5b6080811015610229576001600160f81b0319826101fb836062610345565b8151811061020b5761020b610331565b60200101906001600160f81b03191690815f1a9053506001016101dd565b5060408051608080825260a082019092525f916020820181803683370190505090505f5b848110156102d9575f60806020840185516020870160055afa9050806102a95760405162461bcd60e51b815260206004820152600d60248201526c1b5bd9195e1c0819985a5b1959609a1b604482015260640160405180910390fd5b82607f815181106102bc576102bc610331565b01602001516102ce9060f81c86610345565b94505060010161024d565b5060408051858152602081018590527f2006d76973ad24d89bba111e205a6594eb6ed9ed5bf0b64862bf758fed1445b9910160405180910390a15050919050565b5f6020828403121561032a575f5ffd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561036457634e487b7160e01b5f52601160045260245ffd5b9291505056fea2646970667358221220a99d434cf434c37014c8aa77d4d149d70b8d9fa45edd81e95ff4fd768fcec9cf64736f6c63430008250033"
}