Build it, Break it, Fix it

Build it, Break it, Fix it is a security-oriented programming contest where participants implement a program according to a given specification. In the first round, the contest infrastructure automatically grades submissions based on correctness and performance. In the second round, contestants are given each other's source code and submit attacks against other participants that demonstrate confidentiality and integrity vulnerabilities. The web application is written in Yesod, a Haskell web framework, and the backend uses Docker containers to test submissions.


PKAuth enables simple and secure logins by leveraging public key cryptography.


Deni Bertovic and I develop and maintain docker-hs, an API client for Docker written in Haskell.


LMonad is an Information Flow Control (IFC) framework for Haskell applications. It is in the style of LIO, but generalized to track information flow for any monad using a monad transformer.


tld is a Haskell library that separates subdomains, domains, and top-level-domains from URLs.