Cargo Sherlock: An SMT-Based Checker for Software Trust Costs

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Hassnain, Muhammad, Basu, Anirudh, Ng, Ethan, Stanford, Caleb
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866908807120027648
author Hassnain, Muhammad
Basu, Anirudh
Ng, Ethan
Stanford, Caleb
author_facet Hassnain, Muhammad
Basu, Anirudh
Ng, Ethan
Stanford, Caleb
contents Supply chain attacks threaten open-source software ecosystems. This paper proposes a formal framework for quantifying trust in third-party software dependencies that is both formally checkable - formalized in satisfiability modulo theories (SMT) - while at the same time incorporating human factors, like the number of downloads, authors, and other metadata that are commonly used to identify trustworthy software in practice. We use data from both software analysis tools and metadata to build a first-order relational model of software dependencies; to obtain an overall "trust cost" combining these factors, we propose a formalization based on the minimum trust problem which asks for the minimum cost of a set of assumptions which can be used to prove that the code is safe. We implement these ideas in Cargo Sherlock, targeted for Rust libraries (crates), incorporating a list of candidate assumptions motivated by quantifiable trust metrics identified in prior work. Our evaluation shows that Cargo Sherlock can be used to identify synthetically generated supply chain attacks and known incidents involving typosquatted and poorly AI-maintained crates, and that its performance scales to Rust crates with many dependencies.
format Preprint
id arxiv_https___arxiv_org_abs_2512_12553
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Cargo Sherlock: An SMT-Based Checker for Software Trust Costs
Hassnain, Muhammad
Basu, Anirudh
Ng, Ethan
Stanford, Caleb
Logic in Computer Science
Software Engineering
Supply chain attacks threaten open-source software ecosystems. This paper proposes a formal framework for quantifying trust in third-party software dependencies that is both formally checkable - formalized in satisfiability modulo theories (SMT) - while at the same time incorporating human factors, like the number of downloads, authors, and other metadata that are commonly used to identify trustworthy software in practice. We use data from both software analysis tools and metadata to build a first-order relational model of software dependencies; to obtain an overall "trust cost" combining these factors, we propose a formalization based on the minimum trust problem which asks for the minimum cost of a set of assumptions which can be used to prove that the code is safe. We implement these ideas in Cargo Sherlock, targeted for Rust libraries (crates), incorporating a list of candidate assumptions motivated by quantifiable trust metrics identified in prior work. Our evaluation shows that Cargo Sherlock can be used to identify synthetically generated supply chain attacks and known incidents involving typosquatted and poorly AI-maintained crates, and that its performance scales to Rust crates with many dependencies.
title Cargo Sherlock: An SMT-Based Checker for Software Trust Costs
topic Logic in Computer Science
Software Engineering
url https://arxiv.org/abs/2512.12553