About me

I am a smart contract auditor and blockchain security engineer at ChainSecurity. I like to tackle challenging problems and design neat and efficient solutions. Fast-learner, cheerful and hard-working, I am always excited to learn about new things.

I am particularly interested in zero-knowledge proofs and their applications in the blockchain space (zkSNARKs, zkSTARKs), a wiki on the topic is slowly cooking. I'm also into post-quantum cryptography, data privacy, and rockets. I am never against a nice CTF or arbitrary code execution! I like mountains and coffee.

Experience

Blockchain security engineer

2022 - present

Technologies used:

  • Ethereum
  • Solidity
  • DeFi
  • Foundry

Master project

Spring 2022

Static analyzer for Substrate FRAME's pallets. The tool analyzes the pallets to extract the worst complexity of each extrinsic, so that developers can check whether their weights functions account for the worst case. A badly written weight function could be an attack vector for a DoS against the parachain.

Github repo

Report

Technologies used:

  • Rust compiler
  • Static analysis
  • Substrate
  • FRAME

Internship as blockchain security engineer

2021 - 2022

Conduct audits of smart contracts written in Solidity in teams of 2 auditors on many different projects, mainly around decentralized finance. On top of this, learned a lot about finance and decentralized finance. I also developed audit tools in the form of a VS Code plugin.

Technologies used:

  • Ethereum
  • Solidity
  • DeFi

Semester project

Spring 2021

Using standard hyperparameter tuning algorithms (grid search, random search, bayesian optimization, ...) under federated setting and privacy preserving (HE or SMC) frameworks adds a huge communication and computation overhead. The goal of the project is to find a way to tune hyperparameters without relying on costly frameworks under encryption. The experiments are conducted on several datasets and several models, with iid and non-iid data distribution amongst clients.

Github repo

Report

Technologies used:

  • Python
  • Tensorflow
  • Keras
  • FedJAX

Fullstack app developer

2020 - 2021

The project aims to greatly reduce the burden of stock management process, especially the manual count of items, by using an hybrid app that communicates with the company's ERP system.

Technologies used:

  • NativeScript Angular
  • TypeScript
  • Android
  • Webpack
  • Java
  • SQLite
  • Docker

Certificate Authority Project

2020

In this group project we had to design, implement and analyse a Certificate Authority infrastructure.

My role in this project was to setup the virtual machines/network and configure the router/firewall (iptables). I was also responsible for the database VM, and more precisely: enforce the least privilege property among the MySQL users, encrypt data at rest and write a proxy server with prepared statements to access the database.

Github repo

Specifications

Report

Technologies used:

  • Linux kernel
  • MySQL
  • Python
  • VirtualBox

Min-cuts in 3-uniform hypergraphs

2020

In the context of one of the course assignments we had to extend the Karger Stein algorithm to find the number of min-cuts in 3-uniform hypergraphs. I added the option to ouput the set of each min-cut. Further details on the Github repo.

Github repo

Technologies used:

  • Python

Bachelor project

2019

Formally verified DIR-24-8 Longest Prefix Match data structure. It is part of a wider project that aims to provide fully verified network functions (Vigor).

Bachelor project under the supervision of Prof. George Candea and Dr. Arseniy Zaostrovnykh. Further details on the Github repo.

Github repo

Technologies used:

  • C
  • VeriFast

Backend developer

2019

Report on the feasibility of a source code migration from the Devart’s ODAC database access API to Oracle’s OCCI.

Technologies used:

  • C
  • C++
  • Oracle SQL

Android app developer

2019

Develop an Android app as part of the Software Engineering course, the idea was to discover the world of Agile development. The project was done in groups of 6 people with the help of continuous integration tools such as Travis CI and CodeClimate.

Technologies used:

  • Java
  • Android Studio
  • Google Maps API
  • Firebase

Compiler for Amy language

2018

I had to write a compiler for the Amy language written in Scala in the context of the Computer Language Processing course in 2018. We had to add something to the compiler and our group chose to implement a documentation generation engine directly in the compiler. Further details on the Github repo.

Github repo

Technologies used:

  • Scala

Consultant

2018

I was mandated to do a status report on the company’s information security level. Then I worked on the development and implementation of various policies and procedures required by ISO 27000 and the GDPR.

Technologies used:

  • ISO 27000
  • MongoDB
  • Graylog

Education

MSc in Cybersecurity

EPFL/ETHZ, Lausanne/Zurich
2019 - 2022
GPA: 4.96/6

BSc in Computer Science

EPFL, Lausanne
2016 - 2019
Specialisation in Data Science, GPA: 4.65/6

Highschool diploma

Saint-Michel College, Fribourg
2011 - 2015
Mention: good, specific option: law and economics, complementary option: computer science

Other certifications

Blockchain Specialization

University at Buffalo and The State University of New York on Coursera
May 2021
I learned about the architecture of blockchains and how they work. I was introduced to Ethereum smart contracts programming language Solidity and I am able to design and program smart contracts and decentralized applications. You can find the course's certificate here.

Relevant courses

Some Skills & Tools

  • C
  • Solidity
  • Python
  • Scala
  • Rust
  • TypeScript

Others

  • Git
  • Java
  • Linux
  • Android
  • C++

Language

  • French (Native)
  • English (Professional)
  • German (Casual)

Interests

  • Cryptography
  • Blockchain
  • Machine learning

Hobbies

  • Climbing
  • Mountaineering
  • Cooking