{"id":25607138,"url":"https://github.com/cypherpunk-symposium/ethernaut-foundry-framework-solutions-sol","last_synced_at":"2026-04-30T16:30:21.407Z","repository":{"id":188421844,"uuid":"677822460","full_name":"autistic-symposium/ethernaut-foundry-framework-solutions-sol","owner":"autistic-symposium","description":"👾 my foundry framework and detailed solutions for each ethernaut level","archived":false,"fork":false,"pushed_at":"2024-10-15T03:01:30.000Z","size":198,"stargazers_count":16,"open_issues_count":17,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T18:56:30.092Z","etag":null,"topics":["autism","blockchain","blockchain-security","cypherpunk","ethernaut","exploits","foundry","openzeppelin","phishing-attacks","pocs","reentrancy","security","web3"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autistic-symposium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-12T18:47:38.000Z","updated_at":"2025-02-03T10:39:15.000Z","dependencies_parsed_at":"2023-11-30T01:32:56.520Z","dependency_job_id":"38ce3c03-256c-4fad-bb4c-fa49fe4d471e","html_url":"https://github.com/autistic-symposium/ethernaut-foundry-framework-solutions-sol","commit_stats":null,"previous_names":["go-outside-labs/ethernaut-foundry-writeups-sol","go-outside-labs/ethernaut-foundry-detailed-solutions-sol","go-outside-labs/ethernaut-systematic-solutions-foundry-sol","miastein2024/ethernaut-systematic-solutions-foundry-sol","autistic-symposium/ethernaut-systematic-solutions-foundry-sol","autistic-symposium/ethernaut-foundry-framework-solutions-sol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autistic-symposium%2Fethernaut-foundry-framework-solutions-sol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autistic-symposium%2Fethernaut-foundry-framework-solutions-sol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autistic-symposium%2Fethernaut-foundry-framework-solutions-sol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autistic-symposium%2Fethernaut-foundry-framework-solutions-sol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autistic-symposium","download_url":"https://codeload.github.com/autistic-symposium/ethernaut-foundry-framework-solutions-sol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240072100,"owners_count":19743526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autism","blockchain","blockchain-security","cypherpunk","ethernaut","exploits","foundry","openzeppelin","phishing-attacks","pocs","reentrancy","security","web3"],"created_at":"2025-02-21T19:18:19.950Z","updated_at":"2026-04-30T16:30:19.985Z","avatar_url":"https://github.com/autistic-symposium.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🧑🏻‍🚀 my foundry framework to solve ethernaut: write-ups + solutions \n\n\u003cbr\u003e\n\n##### 🔋 this project contains solutions for **[openzeppelin's ethernaut wargames](https://ethernaut.openzeppelin.com/)**. leveraging **foundry**, each level has a test set (`test/*.t.sol`), a script set (`script/*.s.sol`), and a write-up. some levels also have an exploit at `src/*.sol`. \n\n##### 🔋 to read the full notes about this work, check out my mirror publication: **[on hacking systematically with foundry](https://mirror.xyz/go-outside.eth)**. you are welcome to submit solutions and pull requests.\n\n\n##### 🔋 by the way, do you remember overthewire? **[here is my WeChall profile from playing it in 2014](https://www.wechall.net/profile/bt3gl)**.\n\n\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"400\" src=\"https://github.com/go-outside-labs/ethernaut-foundry-writeups-sol/assets/138340846/32fb029d-852e-493b-8f79-939fe39d5455\"\u003e\n\u003c/p\u003e\n\n\n---\n\n### levels\n\n\u003cbr\u003e\n\n##### ✅ 01. Fallback - exploiting `fallback()`:\n- **[write-up + foundry test](test/01)**\n- **[submission foundry script](script/01/)**\n\n\n##### ✅ 02. Fallout - exploiting `constructor()`:\n- **[write-up + foundry test](test/02)**\n- **[submission foundry script](script/02/)**\n\n\n##### ✅ 03. Coin Flip - exploiting pseudo-randomness:\n- **[write-up + foundry test](test/03)**\n- **[solidity exploit](src/03)**\n- **[submission foundry script](script/03/)**\n\n\n##### ✅ 04. Telephone - exploiting `tx.origin`:\n- **[write-up + foundry test](test/04)**\n- **[solidity exploit](src/04)**\n- **[submission foundry script](script/04/)**\n\n\n##### ✅ 05. Token - exploiting integer overflows:\n- **[write-up + foundry test](test/05)**\n- **[submission foundry script](script/05/)**\n\n\n##### ✅ 06. Delegation - exploiting `delegatecall`:\n- **[write-up + foundry test](test/06)**\n- **[submission foundry script](script/06/)**\n\n\n##### ✅ 07. Force - exploiting payable contracts:\n- **[write-up + foundry test](test/07)**\n- **[solidity exploit](src/07)**\n- **[submission foundry script](script/07/)**\n\n\n##### ✅ 08. Vault - exploiting private functions:\n- **[write-up + foundry test](test/08)**\n- **[submission foundry script](script/08/)**\n\n##### ✅ 09. King - exploiting `transfer(msg.value)`:\n- **[write-up + foundry test](test/09)**\n- **[solidity exploit](src/09)**\n- **[submission foundry script](script/09/)**\n\n##### ✅ 10. Reentrancy - exploiting reentrancy:\n- **[write-up + foundry test](test/10)**\n- **[solidity exploit](src/10)**\n- **[submission foundry script](script/10/)**\n\n  \n##### ✅ 11. Elevator - exploiting interfaces:\n- **[write-up + foundry test](test/11)**\n- **[solidity exploit](src/11/)**\n- **[submission foundry script](script/11/)**\n\n\n##### 🔜 12. Privacy: \n- **[write-up + foundry test](test/12)**\n- **[submission foundry script](script/12/)**\n\n\n##### 🔜 13. Gatekeeper One: \n- **[write-up + foundry test](test/13)**\n- **[submission foundry script](script/13/)**\n\n\n##### 🔜 14. Gatekeeper Two: \n- **[write-up + foundry test](test/14)**\n- **[submission foundry script](script/14/)**\n\n\n##### 🔜 15. Naught Coin: \n- **[write-up + foundry test](test/15)**\n- **[submission foundry script](script/15/)**\n\n\n##### 🔜 16. Preservation: \n- **[write-up + foundry test](test/16)**\n- **[submission foundry script](script/16/)**\n\n\n##### 🔜 17. Recovery: \n- **[write-up + foundry test](test/17)**\n- **[submission foundry script](script/17/)**\n\n\n##### 🔜 18. Magic Number: \n- **[write-up + foundry test](test/18)**\n- **[submission foundry script](script/18/)**\n\n\n##### 🔜 19. Alien Code: \n- **[write-up + foundry test](test/19)**\n- **[submission foundry script](script/19/)**\n\n\n##### 🔜 20. Denial: \n- **[write-up + foundry test](test/20)**\n- **[submission foundry script](script/20/)**\n\n\n##### ✅ 21. Shop - exploiting interfaces II:\n- **[write-up + foundry test](test/21)**\n- **[solidity exploit](src/21)**\n- **[submission foundry script](script/21/)**\n\n\n##### 🔜 22. Dex: \n- **[write-up + foundry test](test/22)**\n- **[solidity exploit](src/22/)**\n- **[submission foundry script](script/22/)**\n\n\n##### 🔜 23. Dex Two: \n- **[write-up + foundry test](test/23)**\n- **[submission foundry script](script/23/)**\n\n\n##### 🔜 24. Puzzle Wallet: \n- **[write-up + foundry test](test/24)**\n- **[submission foundry script](script/24/)**\n\n\n##### 🔜 25. Motorbike: \n- **[write-up + foundry test](test/25)**\n- **[submission foundry script](script/25/)**\n\n\n##### 🔜 26. Doubly Entry Point: \n- **[write-up + foundry test](test/26)**\n- **[submission foundry script](script/26/)**\n\n\n##### 🔜 27. Good Samaritan: \n- **[write-up + foundry test](test/27)**\n- **[submission foundry script](script/27/)**\n\n\n##### 🔜 28. Gatekeeper Three: \n- **[write-up + foundry test](test/28)**\n- **[submission foundry script](script/28/)**\n\n\n##### 🔜 29. Switch: \n- **[write-up + foundry test](test/29)**\n- **[submission foundry script](script/29/)**\n\n\n\u003cbr\u003e\n\n\n----\n\n### installing \n\n\u003cbr\u003e\n\n* install **[foundry](https://github.com/foundry-rs/foundry)**\n\n* create a test wallet (*e.g.*, with metamask)\n\n* create a `.env` (copying from `.env.example`) and add keys and the addresses of each instance.\n\n* add a sepolia rpc url to `foundry.toml` (*e.g.*, from **[alchemy](https://www.alchemy.com/)** or **[infura](https://www.infura.io/)**)\n\n\u003cbr\u003e\n\n---\n\n### running each level\n\n\u003cbr\u003e\n\n* you will find detailed instructions in each write-up, but as a general rule:\n\n\u003cbr\u003e\n\n* run tests with, for example,\n    - `forge test -vvvv`, or, for example,\n    - `forge test -vvvv --match-path ./test/01/Fallback.t.sol`\n\n\n\u003cbr\u003e\n\n* submit scripts with, for example, \n    - `forge script ./script/01/Fallback.s.sol --broadcast -vvvv --rpc-url sepolia`\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n----\n\n\u003cbr\u003e\n\n\n###### (like solving these types of problems? perhaps you are [autistic cypherpunk](https://github.com/autistic-symposium/ethernaut-systematic-solutions-foundry-sol), then?)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypherpunk-symposium%2Fethernaut-foundry-framework-solutions-sol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcypherpunk-symposium%2Fethernaut-foundry-framework-solutions-sol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypherpunk-symposium%2Fethernaut-foundry-framework-solutions-sol/lists"}