Projecten per jaar
Samenvatting
The digital infrastructures supporting modern software have grown too complex to manage by hand. Therefore, Infrastructure as Code (IaC) has become a widely adopted practice to programmatically automate deploying such infrastructures. As infrastructure code may rely on third-party libraries and packages, understanding the software supply chains generated by these deployment dependencies is crucial to ensure reproducibility and security of software deployments. Nonetheless, deployment software supply chains remain an understudied topic. This paper aims to bridge this gap by first investigating which types of third-party software IaC may depend upon, then building an automated mechanism to identify such dependencies from infrastructure implementations. We focus our investigation on Ansible, one of the most popular IaC tools, and its plugins, which implement the interactions with the deployment platforms under configuration. From a manual analysis of 266 documented third-party requirements of Ansible plugins, we construct a taxonomy of 7 types of third-party software dependencies and their properties. We also found that a plugin’s dependencies are typically only described informally in the plugin’s documentation, which may be unstructured, incorrect, or incomplete, which encumbers the automatic generation of Software Bills of Materials (SBOMs) for deployment code. Therefore, we design an automated Software Composition Analysis (SCA) that extracts these dependencies from an Ansible plugin’s implementation, leveraging 5 dependency implementation patterns identified in our manual analysis. This approach achieves a recall of 61%– 77% and a precision of 74%–95%. Finally, we apply the SCA in a large-scale quantitative experiment on 11,241 plugins, and find that 38% have third-party dependencies. The taxonomy presented in this paper can serve as a reference to design deployment SBOMs for these plugins, whereas our SCA forms a first step towards automatically generating such SBOMs.
Originele taal-2 | English |
---|---|
Titel | Proceedings - 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) |
Uitgeverij | IEEE |
Pagina's | 181-192 |
Aantal pagina's | 12 |
ISBN van elektronische versie | 979-8-3315-3510-0 |
DOI's | |
Status | Published - mrt 2025 |
Evenement | 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2025) - Polytechnique Montréal, Montréal, Canada Duur: 4 mrt 2025 → 7 mrt 2025 Congresnummer: 2025 https://conf.researchr.org/home/saner-2025 |
Conference
Conference | 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2025) |
---|---|
Verkorte titel | SANER |
Land/Regio | Canada |
Stad | Montréal |
Periode | 4/03/25 → 7/03/25 |
Internet adres |
-
VLAAI2: Cybersecurity Onderzoeksprogramma Vlaanderen – tweede cyclus
De Meuter, W., Braeken, A., Devriese, D., Gonzalez Boix, E. & De Roover, C.
1/01/24 → 31/12/28
Project: Toegepast
-
-
FWOSB103: Pattern mining en statische analyse om defecten te detecteren in Infrastructure as Code
1/11/20 → 31/10/24
Project: Fundamenteel
Datasets
-
Replication package for "Analysing Infrastructure-as-Code Software Supply Chains: Extraction of Ansible Plugin Dependencies"
Opdebeeck, R. (Creator), Adams, B. (Creator) & De Roover, C. (Creator), figshare Academic Research System, 4 dec 2024
DOI: 10.6084/m9.figshare.27195810, https://figshare.com/articles/dataset/Replication_package_for_Analysing_Infrastructure-as-Code_Software_Supply_Chains_Extraction_of_Ansible_Plugin_Dependencies_/27195810
Dataset