Ammar Askar

About

I'm a computer scientist pursuing my PhD at Georgia Tech advised by Taesoo Kim. I'm a CPython core developer and was a finalist at DEFCON CTF 29.

My current research interests include:

Software security, especially low level binary analysis and exploit automation. Programming languages, specifically theorem provers, compilers and program synthesis. The intersection of these fields within secure programming languages.

My blog may also give you an idea of what I'm interested in.

Contact Details

Publications

PyFET: Forensically Equivalent Transformation for Python Binary Decompilation (to appear)
Ali Ahad, Chijung Jung, Ammar Askar, Doowon Kim, Taesoo Kim, and Yonghwi Kwon.
In the Proceedings of the 44th IEEE Symposium on Security and Privacy 2023.
Fuzzing@Home: Distributed Fuzzing on Untrusted Heterogeneous Clients
Daehee Jang, Ammar Askar, Insu Yun, Stephen Tong, Yiqin Cai and Taesoo Kim.
In the Proceedings of the 25th International Symposium on Research in Attacks, Intrusions and Defenses 2022. [PDF] [DOI: 10.1145/3545948.3545971]
RUDRA: Finding Memory Safety Bugs in Rust at the Ecosystem Scale
Yechan Bae, Youngsuk Kim, Ammar Askar, Jungwon Lim and Taesoo Kim.
In the Proceedings of the 28th ACM Symposium on Operating Systems Principles 2021. [PDF] [DOI: 10.1145/3477132.3483570]
FuzzBench: An Open Fuzzer Benchmarking Platform and Service
Jonathan Metzman, László Szekeres, Laurent Simon, Read Sprabery and Abhishek Arya1.
In the Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering 2021. [PDF] [DOI: 10.1145/3468264.3473932]

1Worked on the initial idea and implementation as part of an intern project at Google. Acknowledged in the paper, did not author it.

Stellar-Mass Black Holes in Globular Clusters: Dynamical Consequences and Observational Signatures
Abbas Askar, Mirek Giersz, Manuel Arca Sedda, Ammar Askar, Mario Pasquato and Agostino Leveque.
In the Proceedings of the International Astronomical Union Symposium No. 351 2019. [PDF] [DOI: 10.1017/S1743921319006847]
Finding Black Holes with Black Boxes – Using Machine Learning to Identify Globular Clusters with Black Hole Subsystems
Ammar Askar, Abbas Askar, Mario Pasquato and Mirek Giersz.
In Monthly Notices of the Royal Astronomical Society 2019. [PDF] [DOI: 10.1093/mnras/stz628]
Tailored Termination for Optimal Supercompilation
Ammar Askar and Benjamin Delaware.
In ACM SIGPLAN Symposium on Principles of Programming Languages (POPL)'s Student Research Competition 2019. [PDF] [Poster]

Open Source

Projects Started

pyCraft

A well documented and well tested python2/3 compatible library designed to communicate with a minecraft server as a client.

Was used as a method for stress testing servers by connecting hundreds of bots.

GeoIP-Scraper

A script that generates a cool looking map of traffic inflow to your servers by scraping logs containing IP addresses.

Used in some company's "war room" TVs to actively monitor the locations of current player connections.

sphinx-action

A github action that builds documentation powered by Sphinx and handily presents errors in-line for Github pull requests.

Projects Contributed To

This changes a lot year-to-year but here's the ones I'm most proud of recently (as of 2019):
CPython

The default and widely used implementation of the Python programing language. Contributions have ranged from worflow to adding fuzz testing for security. Currently a triager, reviewing bugs and pull requests when they come in to lighten the burden on core developers.

psutil

A very popular python package used to grab system level details such as processor utilization. Contributed a patch to simulate a POSIX-like load average calculation for Windows.

oss-fuzz

Google's fuzzing platform for open-source project. Contributed and finished integration for Python, initially including the json, csv and regex modules.

Bukkit/Spigot Minecraft Servers

My first foray into open source software came from the Minecraft server mods Bukkit and Spigot. My contributions were namely in the form of performance improvements, the most significant of which was off-loading chunk I/O from the main thread. This was all done inside a reverse engineered Java codebase.

Apache Mesos
ZNC (IRC bouncer)
Dark Mode