GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code

被引:6
|
作者
Saavedra, Nuno [1 ,2 ]
Ferreira, Joao F. [1 ,2 ]
机构
[1] Univ Lisbon, IST, Lisbon, Portugal
[2] Univ Lisbon, INESC ID, Lisbon, Portugal
关键词
devops; infrastructure as code; security smells; Ansible; Chef; Puppet; intermediate model; static analysis;
D O I
10.1145/3551349.3556945
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Infrastructure as Code (IaC) is the process of managing IT infrastructure via programmable configuration files (also called IaC scripts). Like other software artifacts, IaC scripts may contain security smells, which are coding patterns that can result in security weaknesses. Automated analysis tools to detect security smells in IaC scripts exist, but they focus on specific technologies such as Puppet, Ansible, or Chef. This means that when the detection of a new smell is implemented in one of the tools, it is not immediately available for the technologies supported by the other tools - the only option is to duplicate the effort. This paper presents an approach that enables consistent security smell detection across different IaC technologies. We conduct a large-scale empirical study that analyzes security smells on three large datasets containing 196,755 IaC scripts and 12,281,251 LOC. We show that all categories of security smells are identified across all datasets and we identify some smells that might affect many IaC projects. To conduct this study, we developed GLITCH, a new technology-agnostic framework that enables automated polyglot smell detection by transforming IaC scripts into an intermediate representation, on which different security smell detectors can be defined. GLITCH currently supports the detection of nine different security smells in scripts written in Ansible, Chef, or Puppet. We compare GLITCH with state-of-the-art security smell detectors. The results obtained not only show that GLITCH can reduce the effort of writing security smell analyses for multiple IaC technologies, but also that it has higher precision and recall than the current state-of-the-art tools.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] Polyglot Code Smell Detection for Infrastructure as Code with GLITCH
    Saavedra, Nuno
    Goncalves, Joao
    Henriques, Miguel
    Ferreira, Joao F.
    Mendes, Alexandra
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 2042 - 2045
  • [2] Control and Data Flow in Security Smell Detection for Infrastructure as Code: Is It Worth the Effort?
    Opdebeeck, Ruben
    Zerouali, Ahmed
    De Roover, Coen
    2023 IEEE/ACM 20TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2023, : 534 - 545
  • [3] cASpER: A Plug-in for Automated Code Smell Detection and Refactoring
    De Stefano, Manuel
    Gambardella, Michele Simone
    Pecorelli, Fabiano
    Palomba, Fabio
    De Lucia, Andrea
    PROCEEDINGS OF THE WORKING CONFERENCE ON ADVANCED VISUAL INTERFACES AVI 2020, 2020,
  • [4] An Automated Code Smell and Anti-Pattern Detection Approach
    Velioglu, Sevilay
    Selcuk, Yunus Emre
    2017 IEEE/ACIS 15TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA), 2017, : 271 - 275
  • [5] Security-based code smell definition, detection, and impact quantification in Android
    Zhong, Yi
    Shi, Mengyu
    He, Jiawei
    Fang, Chunrong
    Chen, Zhenyu
    SOFTWARE-PRACTICE & EXPERIENCE, 2023, 53 (11): : 2296 - 2321
  • [6] Security controls in infrastructure as code
    Almuairfi S.
    Alenezi M.
    Computer Fraud and Security, 2020, 2020 (10): : 13 - 19
  • [7] Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study
    Walker, Andrew
    Das, Dipta
    Cerny, Tomas
    APPLIED SCIENCES-BASEL, 2020, 10 (21): : 1 - 20
  • [8] Leveraging code smell detection with inter-smell relations
    Pietrzak, Blazej
    Walter, Bartosz
    EXTREME PROGRAMMING AND AGILE PROCESSES IN SOFTWARE ENGINEERING, PROCEEDINGS, 2006, 4044 : 75 - 84
  • [9] An Insight into Code Smell Detection Tool
    Mourya, Shrasti
    Singh, Piyush Pratap
    Singh, V.B.
    Springer Series in Reliability Engineering, 2024, Part F2569 : 245 - 273
  • [10] Textual Analysis for Code Smell Detection
    Palomba, Fabio
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 769 - 771