question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Self Destruct Module: A Bug or Need for Improvement?

See original GitHub issue

Reading up more on Mythril and I am just wondering on the validity of some of the vulnerabilities Mythril finds. For example, I have run into multiple cases where Mythril may find a Unprotected Self Destruct and have it even produce a function call to exploit the function (e.g., Caller: [ATTACKER], function: kill(), txdata: 0x41c0e1b5, value: 0x0), but actually never be able to be exploit this vulnerability.

Address 0x1A8d01E90F6A6681D822eb16077F27A5027ab362 is one concrete example which has an unprotected Self Destruct. When reading the decompiled bytecode of the above contract, there is a call to a function or external contract (reading decompiled source code isn’t easy for me) in the kill() function that checks if the caller is the owner before proceeding to the self destruct instruction. If the check does not pass, the instruction is not executed. I’ve tested attempting to destruct the contract as well (feeling it would be safe to do so) and it did not self destruct.

Shouldn’t this call to an external contract be realized by Mythril as a path constraint and the contract not be labeled as having a Self Destruct? Or is it not that fine grained? ~Is this a case of the limitaitons of Mythril as it does not have the capability to handle multi-transactional output?~ (Old article I read)

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
muellerberndtcommented, Mar 17, 2020

It’s fixed again in develop 😉

1reaction
muellerberndtcommented, Mar 16, 2020

@Danc2050 the issues should all be solved with v0.22.0, plus you don’t need the -l flag anymore as loading is enabled by default. Can you check if you’re still getting the false positives?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Selfdestruct is a Bug.. Use Pausable instead | by Rob Hitchens
Selfdestruct is a Bug. · Smart contracts are useful because they're trustless. · Immutability is a critical feature to achieve trustlessness.
Read more >
Telegram Self-Destruct? Not Always - Trustwave
I have identified the privacy flaws in Telegram's self-destruct chats. ... The bug is present in macOS Telegram version 7.5.
Read more >
Self Destruct System | StarMade Dock
It's meant to work, it's a bug that dis-integrators fail to damage the entity they're attached to.
Read more >
Self-Destruct Button Toasts Solid-State Hard Drive
Press the green button, and the "Intelligent Destruction" feature activates, overwriting each memory cell with junk data and "uninitializing" ...
Read more >
Self-destruct Mod? - Add-on Discussions
I'm using KaBoom in combination with kOS to have a rocket selfdestruct when it deviates from it's flightpath (descends when it's not supposed...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found