Security smells in infrastructure as code: a taxonomy update beyond the seven sins
2509.18761v1
cs.CR, cs.AI, cs.LG, cs.SE
2025-09-25
Авторы:
Aicha War, Serge L. B. Nikiema, Jordan Samhi, Jacques Klein, Tegawende F. Bissyande
Резюме на русском
## Контекст
Современное управление программным обеспечением сильно зависит от Infrastructure as Code (IaC), которая позволяет автоматизировать развертывание и управление инфраструктурой. Однако безопасность IaC-скриптов часто подвергается угрозам, которые могут привести к серьезным последствиям, как показывают примеры эксплойтов в облачных сервисах. Несмотря на то, что ранее был разработан тематический словарь, охватывающий семь ключевых проблем (seven sins) в IaC, эта работа имела ограниченный круг исследований и недостаточное автоматизированное обнаружение. Мотивация доклада заключается в расширении таксономии, автоматизации диагностики, а также в исследовании распространенности этих проблем в реальных проектах.
## Метод
Для изучения IaC-безопасности был разработан подробный методологический подход. Исследование расширялось на семь популярных IaC-инструментов: Terraform, Ansible, Chef, Puppet, Pulumi, SaltStack и Vagrant. Также был внедрен автоматизированный анализ с помощью Large Language Model (LLM) для обнаружения и категоризации IaC-безопасности. Для всех найденных категорий проводился ручной реконсенсус с учетом стандартов безопасности. Эксперименты проводились на большом датасете скриптов IaC, чтобы обеспечить широковещательность и реалистичность результатов.
## Результаты
Было выявлено 62 категории IaC-безопасности, значительно расширившее предыдущую таксономию. Авторы реализовали новые правила проверки безопасности для linters семи популярных IaC-инструментов, достигнув высокой точности (до 1.00). Анализ проектов на GitHub показал, что IaC-безопасность часто остается недостаточно обрабатываемой в ходе развития проектов, что обусловлено недостатком эффективных инструментов для детектирования и устранения проблем.
## Значимость
Расширенная таксономия и автоматизированные инструменты могут применяться во многих областях, включая анализ безопасности систем, внедрение DevSecOps, а также обучение практикующим IaC-практикам. Это решение позволяет улучшить стабильность и безопасность инфраструктурных решений, а также обеспечивает возможность прогнозировать и профилактировать безопасностные уязвимости в IaC.
## Выводы
Основные достижения исследования заключаются в расширении таксономии IaC-безопасности и внедрении автоматизированных методов для обнаружения и корректировки проблем. Будущие работы будут направлены на расширение анализа для дополнительных IaC-инструментов, улучшение автоматизированных инструментов, а также изучение динамики безопасностных проблем в развивающихся проектах.
Abstract
Infrastructure as Code (IaC) has become essential for modern software
management, yet security flaws in IaC scripts can have severe consequences, as
exemplified by the recurring exploits of Cloud Web Services. Prior work has
recognized the need to build a precise taxonomy of security smells in IaC
scripts as a first step towards developing approaches to improve IaC security.
This first effort led to the unveiling of seven sins, limited by the focus on a
single IaC tool as well as by the extensive, and potentially biased, manual
effort that was required. We propose, in our work, to revisit this taxonomy:
first, we extend the study of IaC security smells to a more diverse dataset
with scripts associated with seven popular IaC tools, including Terraform,
Ansible, Chef, Puppet, Pulumi, Saltstack, and Vagrant; second, we bring in some
automation for the analysis by relying on an LLM. While we leverage LLMs for
initial pattern processing, all taxonomic decisions underwent systematic human
validation and reconciliation with established security standards. Our study
yields a comprehensive taxonomy of 62 security smell categories, significantly
expanding beyond the previously known seven. We demonstrate actionability by
implementing new security checking rules within linters for seven popular IaC
tools, often achieving 1.00 precision score. Our evolution study of security
smells in GitHub projects reveals that these issues persist for extended
periods, likely due to inadequate detection and mitigation tools. This work
provides IaC practitioners with insights for addressing common security smells
and systematically adopting DevSecOps practices to build safer infrastructure
code.