Software and Tools
As a Network of Excellence and a European Lighthouse, ELSA is committed to transparently sharing the network’s research results. Foundational AI and ML research and its results are key to increasing the safety of AI in Europe.
On this page, we guide you through the ELSA-affiliated software, tools, repositories, and more.
Please note that the content primarily relates to ELSA research and therefore refers to ELSA-related or acknowledging papers. You can find the papers on the publications page.
Topics of the tools you will find:
Featured Tools
These tools are ready to use for researchers and experienced developers.
| SecurityNets | Observatory | Application Area: AI Attacks | Access via GitHub |
SecurityNets is an “observatory” of AI/ML vulnerabilities that consists of a large dataset of trained models that are audited for vulnerabilities.
| AdvMLPhish | Tool | Application Area: Auditing Machine Learning | Access via GitHub |
AdvMLPhish is an open-source tool for evaluating the robustness of machine-learning phishing webpage detectors. It includes a set of functionality- and rendering-preserving adversarial manipulations, and a black-box optimization algorithm inspired to mutation-based fuzzing to optimally select which manipulations should be applied to evade the target detector.
| disco | Browser Platform | Application Area: Training of Machine Learning Models | Access via GitHub |
DISCO is a code-free and installation-free browser platform that allows any non-technical user to collaboratively train machine learning models (such as LLMs) without sharing any private data.
| Fast Minimum-Norm (FMN) Adversarial Attack | Algorithm | Application Area: Auditing Machine Learning | Access via GitHub |
Minimum-norm gradient-based adversarial attack that works with multiple norms. In summary, the algorithm performs normalized gradient descent and projects into an epsilon Lp-ball which is adapted to find the minimum norm adversarials.
| Indicators of Attack Failure | Tool | Application Area: Auditing Machine Learning | Access via GitHub |
Indicators of failure is a tool that analyzes failures in the optimization of adversarial attacks, uses indicators to reveal when they happen, and offers a systematic framework to avoid them.
| Waf-a-MOLE | Fuzzer | Application Area: Auditing Machine Learning | Access via GitHub |
Waf-a-MOLE is a guided mutation-based fuzzer for ML-based Web Application Firewalls, inspired by AFL and based on the FuzzingBook by Andreas Zeller et al. Given an input SQL injection query, it tries to produce a semantic invariant query that is able to bypass the target WAF. You can use this tool for assessing the robustness of your product by letting WAF-A-MoLE explore the solution space to find dangerous “blind spots” left uncovered by the target classifier.
| Memorization in Federated LoRA | Repository, scripts, tools | Application Area: Federated Learning for LLMs | Access via GitHub |
This repository contains the code used to achieve the results presented in our paper: “Mitigating Unintended Memorization with LoRA in Federated Learning for LLMs”. It contains scripts and tools to fine-tune, evaluate, and operate on open Large Language Models (LLMs) using centralized and federated learning techniques, as well as notebooks to create the datasets used in our experiments.
| Meditron | Suite of open-source medical Large Language Models (LLMs). | Application Area: LLM development | Access via GitHub |
Model and Code for “Meditron-70b: Scaling medical pretraining for large language models”
| MT_COOL | Paper Resource: Library | Application Area: Algorithm Testing | Access via GitHub |
This library is designed for testing algorithms in the context of online decentralized learning. Online decentralized learning involves the dynamic interaction between an environment, which selects a graph, and a learner, which determines the algorithm employed by each node within that graph.
| twinify | Software | Application Area: Generation of sensitive dataset twins | Access via GitHub |
Twinify is a software package for privacy-preserving generation of a synthetic twin to a given sensitive tabular data set.
| AttackBench | Paper Ressource: Framework | Application Area: Gradient-based attack comparisons | Access via GitHub |
The AttackBench framework wants to fairly compare gradient-based attacks based on their security evaluation curves.
CoDE (Contrastive Deepfake Embeddings) is a novel approach that utilizes contrastive learning and global-local similarities to create an effective embedding space specifically for deepfake detection. Models and Code for “Contrasting Deepfakes Diffusion via Contrastive Learning and Global-Local Similarities” paper published at ECCV 2024.
| DAGER | Algorithm | Application Area: LLM development | Access via GitHub |
DAGER is the first algorithm to recover whole batches of input text exactly, recovering full batches of size up to 128 on large language models (LLMs).
Auditing
After writing your code, you might want to audit its performance against attacks, vulnerabilite s, and securities. Here Below, you find helpful input and inspiration from the ELSA network.
Auditing Vulnerabilities
Repositories for developers aiming to audit their code in terms of vulnerability
| CodeLMSec Benchmark | Paper Resource: Repository | Application Area: Auditing Code Generation for Vulnerabilities | Access via GitHub |
Code repository containing data for “CodeLMSec Benchmark: Systematically Evaluating and Finding Security Vulnerabilities in Black-Box Code Language Models”. The paper presents a method to systematically study the security issues of code language models to assess their susceptibility to generating vulnerable code.
| (SVEN) Large Language Models for Code: Security Hardening and Adversarial Testing | Paper Resource: Repository | Application Area: Auditing Code Generation for Vulnerabilities | Access via GitHub |
Code repository containing data for the paper “Large Language Models for Code: Security Hardening and Adversarial Testing”
Explainability
Tools for developers and researchers to increase the explainability of their code.
| b-cos explainability | Paper Resource: Repository | Application Area: Repository making DNNs inherently interpretable. | Access via GitHub |
Code repository for the paper “B-cos Networks: Alignment is all we need for Interpretability”, that presents a new direction for increasing the interpretability of deep neural networks (DNNs) by promoting weight-input alignment during training.
Machine Learning
| MLDoctor | Code Base | Application Area: Auditing Machine Learning | Access via GitHub |
MLDoctor is a code base for developers and/or researchers for holistically assessing the risks of inference attacks against machine learning models.
| SecML | Python Library | Application Area: Auditing Machine Learning | Access via GitHub |
SecML is a python library for Secure and Explainable Machine Learning. It is equipped with evasion and poisoning adversarial machine learning attacks, and it can wrap models and attacks from other different frameworks.
| SecML Malware | Python Library | Application Area: Auditing Machine Learning by creating adversarial attacks against Windows Malware detectors. | Access via GitHub |
SecML Malware is a python library for creating adversarial attacks against Windows Malware detectors. Built on top of SecML, SecML Malware includes most of the attack proposed in the state of the art.
Privacy
| GanLeaks | Paper Resource: Repository | Application Area: Membership Inference Attacks against Generative Models | Access via GitHub |
Code repository containing the implementation for “GAN-Leaks: A Taxonomy of Membership Inference Attacks against Generative Models” (CCS 2020)
| MLLeaks | Paper Resource: Repository | Application Area: Membership inference attacks on Machine Learning as a service (MLaaS) | Access via GitHub |
Code repository for the paper “ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models”
Interpretability
Helpful tools to increase the interpretability of code for developers and researchers.
| Interpretable-through-prototypes deepfake detection for diffusion models | Paper Resource: Repository | Application Area: Auditing Interpretability | Access via GitHub |
Repository containing materials for the following paper “Interpretable-through-prototypes deepfake detection for diffusion models.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023.
LLM Deliberation & Vulnerability
Input for developers and researchers tackling LLM deliberation and tracking vulnerabilities.
| LLM deliberation | Paper Resource: Repository | Application Area: LLM Deliberation | Access via GitHub |
Repository for benchmark paper “Cooperation, Competition, and Maliciousness: LLM-Stakeholders Interactive Negotiation” (NeurIPS 2024)
| LVE Repository | Repository | Application Area: LLM Vulnerability Documentation | Access via website |
Tracking and documentation of vulnerabilities and exposures of large language models (LVEs).
Privacy-Preserving and Collaborative Learning
Repositories and code tackling challenges in privacy-preserving matters and collaboration. These repositories, models, and code are work related to specific papers. Applying and using them requires a certain knowledge for the topics such as algorithm development, AI, ML, security and privacy constraints and more.
| CoBo | Paper Resource: Repository | Application Area: Personalized vision models and personalized collaborative learning. | Access via GitHub |
Code for “CoBo: Collaborative Learning via Bilevel Optimization” published at NeurIPS 2024
| CoMiGS | Paper Resource: Code | Application Area: Collaborative Language Modeling | Access via GitHub |
Code for “On-Device Collaborative Language Modeling via a Mixture of Generalists and Specialists”.
| DECOR | Paper Resource: Code | Application Area: Decentralised Learning | Access via GitHub |
Code for “The Privacy Power of Correlated Noise in Decentralized Learning” Published at ICML 2024.
| DPConvCNP | Paper Resource: Code | Application Area: Differentially Private Regression | Access via GitHub |
Repository for differentially private convolutional conditional neural process (DPConvCNP) model presented in the paper Noise-Aware Differentially Private Regression via Meta-Learning (NeurIPS 2024).
| DPFed-KM | Paper Resource: Code | Application Area: Kaplan-Meier estimators | Access via GitHub |
Code for: “Private and Collaborative Kaplan- Meier Estimators” published at WPES at CCS 2024.
| DP-FSL | Paper Resource: Repository | Application Area: Membership Inference Attacks against Generative Models | Access via GitHub |
Code repository containing the implementation for “GAN-Leaks: A Taxonomy of Membership Inference Attacks against Generative Models” (CCS 2020).
| FedLAP-DP | Paper Resource: Code | Application Area: Privacy-preserving approach for federated learning | Access via GitHub |
Code for: “FedLAP-DP: Federated Learning by Sharing Differentially Private Loss Approximations“ published at PoPETs’24.
| GS-WGAN | Paper Resource: Code | Application Area: Sensitive data sanitisation with rigorous privacy guarantees | Access via GitHub |
Code for: “GS-WGAN: A Gradient-Sanitized Approach for Learning Differentially Private Generators” published at NeurIPS 2020.
| ML-Doctor Code | Paper Resource: Code | Application Area: Inference Attacks against Machine Learning Models | Access via GitHub |
Code for: “ML-Doctor: Holistic Risk Assessment of Inference Attacks Against Machine Learning Models” published at USENIX’22.
| MyTH | Paper Resource: Repository | Application Area: Bias in Federated Learning | Access via GitHub |
Code for “MyThisYourThat: Interpretable Identification of Systematic Bias in Federated Learning for Biomedical Images”.
| Personalized Collaborative LLMs | Paper Resource: Code Base | Application Area: LLM finetuning | Access via GitHub |
Code for “Personalized Collaborative Fine-Tuning for On-Device Large Language Models” Published at CoLM 2024. Exploration on-device self-supervised collaborative fine-tuning of large language models with limited local data availability, using Low-Rank Adaptation (LoRA).
| PRO-GENE-GEN | Paper Resource: Repository | Application Area: Gene expression data generation | Access via GitHub |
Code for: “Towards Biologically Plausible and Private Gene Expression Data Generation” published at PoPETs’24.
| PROLIN | Paper Resource: Repository | Application Area: Federated Learning | Access via GitHub |
Code for: “Client-specific Property Inference against Secure Aggregation in Federated Learning” published at WPES at CCS 2023.
| PSG | Paper Resource: Repository | Application Area: Federated Learning | Access via GitHub |
Code for: “Client-specific Property Inference against Secure Aggregation in Federated Learning” published at WPES at CCS 2023.
| individual-accounting-gdp | Paper Resource: Repository | Application Area: Gaussian Differential Privacy | Access via GitHub |
Model and Code for “Meditron-70b: Scaling medical pretraining for large language models”.
| PFL-DocVQA-Competition | Competition Resource | Application Area: Privacy-preserving for fine-tuning document understanding multi-modal language models | Access via GitHub |
This repository with base framework and method for the PFL-DocVQA Competition and code for: “Privacy-Aware Document Visual Question Answering” published in ICDAR 2024.
| SecurityNet Code | Paper Resource: Repository | Application Area: ML model training | Access via GitHub |
Code for: “SecurityNet: Assessing Machine Learning Vulnerabilities on Public Models” published at USENIX 2024.
| subsampling-is-not-magic | Paper Resource: Code & notebook | Application Area: Differentially Private Stochastic Optimisation | Access via GitHub |
Code and Mathematica notebook for: “Subsampling is not Magic: Why Large Batch Sizes Work for Differentially Private Stochastic Optimisation” (ICML 2024).
| Towards Efficient Scalable Training DP DL | Paper Resource: Repository | Application Area: Deep Learning Training | Access via GitHub |
Code to reproduce the experiments carried out in “Towards Efficient and Scalable Training of Differentially Private Deep Learning” published at Workshop on Advancing Neural Network Training at International Conference on Machine Learning (WANT@ICML 2024).
Technical Robustness and Safety
From adversarial robustness to technical safety, the repositories and content below aim to support researchers in exploring and testing their algorithms.
| Adversarial Pruning Benchmark | Paper Resource: Repository | Application Area: LLM Deliberation | Access via GitHub |
The Adversarial Pruning Benchmark is a framework implemented to enable a uniform and reliable evaluation of Adversarial Pruning methods.
| AdversarialRecovery | Repository | Application Area: Sample recovery | Access via GitHub |
AdversarialRecovery is a repository for robust adversarial sample recovery, especially for cross-domain samples (unseen datasets, unseen objects, and unseen adversarial algorithms to the training stage).
| Adversarial Robustness Certification for Bayesian Neural Networks | Paper Resource: Repository | Application Area: Robustness certification of Bayesian neural networks (BNNs) | Access via GitHub |
This repository provides implementations for training Bayesian Neural Networks (BNNs) using various inference methods, along with comprehensive certifications for their probabilistic robustness, decision robustness, and uncertainty quantification.
| Automated Design for Linear Bounding Functions for Sigmoidal Nonlinearities in Neural Networks | Paper Resource: Repository | Application Area: Robustness verification framework for neural networks | Access currently unavailable |
The code implements a robustness verification framework for neural networks with general activation functions (e.g., Sigmoid, Tanh), focusing on enhancing the quality of linear bounds in convex relaxation techniques.
| FAST (FeAture SelecTion) | Code | Application Area: Testing for deep neural networks | Access via GitHub |
The code implements FAST (FeAture SelecTion), a method to enhance the efficiency and effectiveness of test case prioritization for deep neural networks (DNNs).
| FullCert | Certification Library | Application Area: Neural network training | Access via GitHub |
A Deterministic End-to-End Certification for Training and Inference of Neural Networks.
GeometricKernels is a library that implements kernels — most importantly, heat and Matérn kernels — on non-Euclidean spaces such as Riemannian manifolds, graphs and meshes.
| ModSec-AdvLearn | Paper Ressource: Experiments | Application Area: Countering Adversarial SQL Injections | Access via GitHub |
ModSec-AdvLearn is a machine-learning-based methodology that improves the detection of SQL injection attacks on Web Application Firewall (WAF) while addressing vulnerabilities to adversarial manipulations.
| Nebula | Transformer Neural Network | Application Area: Windows Malware Analysis | Access via GitHub |
Nebula is a tool to perform dynamic analysis of Windows malware which, by generalizing across different behavioral representations and formats, combines diverse information from dynamic log reports.
| PREMAP: A Unifying PREiMage APproximation Framework for Neural Networks | Framework | Application Area: Preimage Approximation | Access via GitHub |
A general and flexible preimage approximation framework designed to generate inputs that satisfy specific target properties.
| SecML-Torch | Python Library | Application Area: Adversarial Machine Learning and robustness evaluation | Access via GitHub |
SecML-Torch (SecMLT) is an open-source Python library designed to facilitate research in the area of Adversarial Machine Learning (AML) and robustness evaluation.
| SecML-Torch Encryption Plugin | Python Plugin | Application Area: Encryption (SecML-Torch) | Access via GitHub |
An open-source Python plugin for the SecML-Torch library that integrates homomorphic encryption techniques within machine learning models.
| SecML-Torch Fairness Plugin | Python Plugin | Application Area: Fairness (SecML-Torch) | Access via GitHub |
An open-source Python plugin for the SecML-Torch library that introduces a set of methods for analyzing and mitigating discriminatory bias in machine learning models.
| SecML-Torch Interpretability Plugin | Python Plugin | Application Area: Interpretability (SecML-Torch) | Access via GitHub |
An open-source Python plugin for the SecML-Torch library. This plugin provides tools for the interpretation and explainability of machine learning models.
| Sigma-zero | Code | Application Area: Optimization of ℓ0-norm Adversarial Examples | Access via GitHub |
This tool is the official PyTorch implementation of the σ-zero: Gradient-based Optimization of L0-norm Adversarial Examples.
| TaskTracker | Code | Application Area: Task drift detection in LLMs | Access via GitHub |
TaskTracker is an approach to detecting task drift in Large Language Models (LLMs) by analysing their internal activations. It provides a simple linear probe-based method and a more sophisticated metric learning method to achieve this. The project also releases the computationally expensive activation data to stimulate further AI safety research.
| Uncertainty Adversarial Robustness | Paper Resource: Repository | Application Area: Uncertainty Attack Performance | Access via GitHub |
The Uncertainty Adversarial Robustness repository provides practical tools for performing uncertainty attacks against robust models.
| Understanding Certified Training with Interval Bound Propagation | Repository | Application Area: Training certifiably neural networks | Access via GitHub |
This project leverages a novel metric for measuring the tightness of IBP bounds.
The software and tools which you can find here are also described in the ELSA deliverables D1.3 and D2.3. You can access then via the page “Deliverables”.
