Smelly Kube: a tool to detect security smells in Kubernetes manifests

dc.contributor.advisorCorreia, Luiz Henrique Andrade
dc.contributor.refereeDurelli, Rafael Serapilha
dc.contributor.refereeMalheiros, Neumar Costa
dc.contributor.refereeBorges, Hudson Silva
dc.creatorBorges, Vitor Oriel de Castro Nunes
dc.creator.Latteshttp://lattes.cnpq.br/2900171687070459
dc.creator.orcidhttps://orcid.org/0009-0003-8818-1263
dc.date.accessioned2025-08-27T21:55:12Z
dc.date.issued2024-12-16
dc.description.abstractThe adoption of microservices-based architectures has become common in modern web applications. Kubernetes stands out as a leading platform for managing and orchestrating these services due to its scalability and ability to handle complex environments. However, security risks often arise when Kubernetes manifests are not carefully designed. To address this issue, the tool Smelly Kube (SK) was developed, following a client/server architecture: i) Client: a Visual Studio Code plugin that sends Kubernetes manifests to a Golang-based server via HTTP requests, providing developers with a straightforward interface for performing security checks directly in their development environment, and ii) Server: a Golang application that processes these manifests to detect and analyze security smells. This architecture ensures that developers can easily integrate security checks into their workflows using other tools and platforms by reusing the same server API. To validate the tool’s effectiveness, an experiment was conducted, applying SK to 2,107 Kubernetes applications after sanitizing 5,055 Cloud Native packages sourced from Artifact Hub. Another dataset of 183,225 Kubernetes manifests was provided from GitHub. The results demonstrated that SK successfully detected a wide range of security smells, providing valuable insights for developers and helping to improve the overall security of Kubernetes-based microservices.
dc.description.areastematicasdaextensaoTecnologia e produção
dc.description.notesArquivo retido, a pedido da autora, até julho de 2026.
dc.description.odsODS 9: Indústria, inovação e infraestrutura
dc.description.resumoA adoção de arquiteturas baseadas em microserviços tornou-se comum em aplicações web modernas. O Kubernetes se destaca como uma plataforma líder para gerenciar e orquestrar esses serviços devido à sua escalabilidade e capacidade de lidar com ambientes complexos. No entanto, riscos de segurança frequentemente surgem quando os manifestos do Kubernetes não são cuidadosamente projetados. Para resolver essa questão, a ferramenta Smelly Kube (SK) foi desenvolvida, seguindo uma arquitetura cliente/servidor: i) Cliente: um plugin do Visual Studio Code que envia manifestos do Kubernetes para um servidor baseado em Golang via requisições HTTP, oferecendo aos desenvolvedores uma interface simples para realizar verificações de segurança diretamente em seu ambiente de desenvolvimento, e ii) Servidor: uma aplicação Golang que processa esses manifestos para detectar e analisar malcheiros de segurança. Essa arquitetura garante que os desenvolvedores possam integrar facilmente as verificações de segurança em seus fluxos de trabalho, reutilizando a mesma API do servidor com outros ferramentas e plataformas. Para validar a eficácia da ferramenta, foi realizado um experimento, aplicando o SK em 2.107 aplicações Kubernetes após a sanitização de 5.055 pacotes Cloud Native provenientes do Artifact Hub. Outro conjunto de dados, contendo 183.225 manifestos Kubernetes, foi fornecido do GitHub. Os resultados demonstraram que o SK detectou com sucesso uma ampla gama de malcheiros segurança, fornecendo insights valiosos para os desenvolvedores e ajudando a melhorar a segurança geral dos microserviços baseados em Kubernetes.
dc.description.tipodeimpactoTecnológico
dc.identifier.citationBORGES, Vitor Oriel de Castro Nunes. Smelly Kube: a tool to detect security smells in Kubernetes manifests. 2025. 86 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2024.
dc.identifier.urihttps://repositorio.ufla.br/handle/1/60248
dc.language.isoen_US
dc.publisherUniversidade Federal de Lavras
dc.publisher.collegeInstituto de Ciências Exatas e Tecnológicas (ICET)
dc.publisher.countrybrasil
dc.publisher.departmentDepartamento de Ciência da Computação
dc.publisher.initialsUFLA
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação
dc.relation.dadosabertoshttps://github.com/VitorOriel/ppgcc-ufla
dc.rightsAttribution 3.0 Brazilen
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/br/
dc.subjectKubernetes
dc.subjectSegurança de redes de computadores
dc.subjectComputação em nuvem
dc.subjectSegurança de software
dc.subjectAnálise estática
dc.subjectComputer network security
dc.subjectCloud computing
dc.subjectSoftware security
dc.subjectStatic analysis
dc.subject.cnpqCiências Exatas e da Terra
dc.titleSmelly Kube: a tool to detect security smells in Kubernetes manifests
dc.title.alternativeSmelly Kube: uma Ferramenta para detectar malcheiros de segurança em manifestos Kubernetes
dc.typedissertação

Arquivos

Pacote original

Agora exibindo 1 - 2 de 2
Carregando...
Imagem de Miniatura
Nome:
Texto completo
Tamanho:
1.91 MB
Formato:
Adobe Portable Document Format
Carregando...
Imagem de Miniatura
Nome:
Impactos da pesquisa
Tamanho:
300.61 KB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
955 B
Formato:
Item-specific license agreed upon to submission
Descrição: