Formal Security Logo

Formal Security for Web Technologies

We use Formal Methods to enhance the security and reliability of modern web technologies. Our research focuses on Static Analysis, Symbolic Execution, and Automated Exploit Generation for languages like JavaScript and WebAssembly.

Formal Verification Web Security Program Analysis SMT Solving

Research Projects

We develop open-source tools to solve real-world security challenges.

smtml

An SMT solver frontend for OCaml, providing a unified interface for multiple solvers.

OCaml Formal Methods SMT Solver
graphjs

An MDG-based static vulnerability scanner for npm packages, detecting taint-style and prototype pollution vulnerabilities.

Security JavaScript Static Analysis
owi

A symbolic execution engine for WebAssembly (superseded wasp). Developed by OCamlPro.

WebAssembly Symbolic Execution OCaml
wasp

A symbolic execution engine for WebAssembly, providing a framework for testing and verifying Wasm modules.

WebAssembly Symbolic Execution Testing
ocaml-cvc5

OCaml bindings for the cvc5 SMT solver, allowing easy integration of cvc5 into OCaml projects.

OCaml SMT cvc5
explode-js

Automated exploit generation for Node.js packages based on static analysis findings.

Security Exploit Generation Node.js
whilloc

A simple 'while'-like programming language with memory allocation support, used for educational and research purposes.

PL Formal Verification

Our Team

José Santos

Principal Investigator / Researcher

@j3fsantos
André Nascimento

PhD Student

@andreffnascimento
Filipe Marques

PhD Student

@filipeom
Frederico Ramos

PhD Student

@frediramos
João Pereira

PhD Student

@joaomhmpereira
José Afonso

PhD Student

@zezeafonso
Rafael Gonçalves

PhD Student

@rafa1906

Selected Publications

Efficient Static Vulnerability Analysis for JavaScript with Multiversion Dependency Graphs

Mafalda Ferreira, Miguel Monteiro, Tiago Brito, Miguel E. Coimbra, Nuno Santos, Limin Jia, and José Fragoso Santos

PLDI'24 Paper

Contact & Location

We are part of INESC-ID and the Instituto Superior Técnico (IST) at the University of Lisbon.

INESC-ID Lisboa
Rua Alves Redol 9
1000-029 Lisboa, Portugal

formalsec@example.com

Find us in Lisbon

Our research takes place in the heart of Portugal's capital.

View on Maps