{"id":25050501,"url":"https://github.com/usyd-blockchain/vandal","last_synced_at":"2025-10-21T06:31:46.861Z","repository":{"id":44130316,"uuid":"113560333","full_name":"usyd-blockchain/vandal","owner":"usyd-blockchain","description":"Static program analysis framework for Ethereum smart contract bytecode.","archived":false,"fork":false,"pushed_at":"2021-08-05T14:43:40.000Z","size":1155,"stargazers_count":147,"open_issues_count":29,"forks_count":37,"subscribers_count":15,"default_branch":"master","last_synced_at":"2023-10-20T23:37:39.806Z","etag":null,"topics":["blockchain","decompiler","ethereum","ethereum-contracts","evm","smart-contracts","static-code-analysis","static-pro"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usyd-blockchain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2017-12-08T10:04:05.000Z","updated_at":"2023-10-15T01:15:00.000Z","dependencies_parsed_at":"2022-09-17T14:43:05.270Z","dependency_job_id":null,"html_url":"https://github.com/usyd-blockchain/vandal","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usyd-blockchain%2Fvandal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usyd-blockchain%2Fvandal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usyd-blockchain%2Fvandal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usyd-blockchain%2Fvandal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usyd-blockchain","download_url":"https://codeload.github.com/usyd-blockchain/vandal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237446277,"owners_count":19311291,"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":["blockchain","decompiler","ethereum","ethereum-contracts","evm","smart-contracts","static-code-analysis","static-pro"],"created_at":"2025-02-06T09:03:43.537Z","updated_at":"2025-10-21T06:31:46.856Z","avatar_url":"https://github.com/usyd-blockchain.png","language":"Python","funding_links":[],"categories":["Static Analysis"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/usyd-blockchain/vandal.svg?branch=master)](https://travis-ci.org/usyd-blockchain/vandal)\n\n# Vandal\n\nVandal is a static program analysis framework for Ethereum smart contract\nbytecode, developed at [The University of\nSydney](https://sydney.edu.au/engineering/about/school-of-computer-science.html).\nIt decompiles an EVM bytecode program to an equivalent intermediate\nrepresentation that encodes the program's control flow graph. This\nrepresentation removes all stack operations, thereby exposing data dependencies\nthat are otherwise obscured. This information is then fed, with a Datalog\nspecification, into the [Souffle](http://souffle-lang.org) analysis engine for\nthe extraction of program properties.\n\nA more comprehensive description of the Vandal Framework is [available on the\nWiki](https://github.com/usyd-blockchain/vandal/wiki), along with a [getting started guide](https://github.com/usyd-blockchain/vandal/wiki/Getting-Started-with-Vandal).\n\nVandal is licensed under the [BSD 3-Clause License](/LICENSE).\n\n## Publications\n\n* _Vandal: A Scalable Security Analysis Framework for Smart Contracts_,\n Lexi Brent, Anton Jurisevic, Michael Kong, Eric Liu, Francois\n  Gauthier, Vincent Gramoli, Ralph Holz, Bernhard Scholz, Technical Report, School of Computer Science, The University of Sydney, Sydney, Australia, September 2018. [[pdf](https://arxiv.org/pdf/1809.03981.pdf)] [[BibTeX](pubs/Vandal18.bib)]\n\n* _MadMax: Surviving Out-of-Gas Conditions in Ethereum Smart Contracts_,\nNeville Grech, Michael Kong, Anton Jurisevic, Lexi Brent, Bernhard Scholz, Yannis Smaragdakis, SPLASH 2018 OOPSLA, Boston, November 2018. [[pdf](pubs/Grech18-OOPSLA.pdf)] [[BibTeX](pubs/Grech18.bib)]\n\n* _A Scalable Method to Analyze Gas Costs, Loops and Related Security Vulnerabilities on the Ethereum Virtual Machine_, Michael Kong, Honours Thesis, November 2017, School of Computer Science, The University of Sydney. [[pdf](pubs/MKong17.pdf)] [[BibTeX](pubs/MKong17.bib)]\n\n## Resources\n\n- [Overview of Vandal](https://github.com/usyd-blockchain/vandal/wiki)\n- [Getting Started with Vandal](https://github.com/usyd-blockchain/vandal/wiki/Getting-Started-with-Vandal)\n- [Demo: Creating a new analysis specification in Vandal](https://github.com/usyd-blockchain/vandal/wiki/Demo:-Creating-a-new-analysis-specification-in-Vandal)\n- [Vandal technical paper](https://arxiv.org/pdf/1809.03981.pdf)\n- [Summary of EVM Instructions](https://github.com/usyd-blockchain/vandal/wiki/Summary-of-EVM-Instructions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusyd-blockchain%2Fvandal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusyd-blockchain%2Fvandal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusyd-blockchain%2Fvandal/lists"}