O artefato é uma imagem do Docker que contém código -fonte para Linnter de segurança para infraestrutura como código (SLIC). O SLIC é uma ferramenta de análise estática que procura a segurança cheira na infraestrutura como scripts de código (IAC). A imagem do Docker também inclui os diretórios onde temos scripts de marionetes para os quais executamos o SLIC e realizamos análises empíricas. A maneira mais fácil de executar o SLIC é executar as instruções 1-8 mencionadas abaixo.
Os sete cheiros de segurança estão listados em nosso artigo ICSE 2019 'The Seven Sins: Security Smells in Infrastructure como código'. A pré-impressão do artigo está disponível aqui: https://akondrahman.github.io/papers/icse19_slic.pdf
O artefato está disponível aqui: https://cloud.docker.com/repository/docker/akondrahman/ruby_for_sp/general
Dependências: Docker
Instruções para replicar:
docker pull akondrahman/ruby_for_spdocker run -it --name slic akondrahman/ruby_for_sp bashcd /SecurityInIaC/IacSec/SLIC/Para obter os resultados de alguns scripts de teste, leva 0,04 minutos para ser concluído . execute
python main.py -t. Este comando executará o SLIC para os scripts de teste. Após a conclusão da análiseDumped CSV output file of 1197 bytes,Dumped symbolic output PICKLE of 6 byteseDuration: 0.0453675349553 minutesserá exibida, o que indica que a execução do SLIC está concluída.
Para obter os resultados para os repositórios Mozilla, leva 251 minutos para ser concluído . Siga as etapas 6-8:
python main.py -m . Este comando executará o SLIC para os scripts coletados dos repositórios Mozilla. Após a conclusão da análise Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes e Ended at:XXX será exibido, o que indica que a execução do SLIC está concluída e gerou os arquivos de resultado usados para responder RQ2 e RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -m . Após a execução, os resultados do RQ2 serão obtidos. Compare os resultados obtidos com os resultados apresentados na Tabela VIII do artigo. Os resultados que correspondem ao mês 2018-06 correspondem aos resultados apresentados no artigo.Para obter os resultados dos repositórios do OpenStack, leva 725 minutos para serem concluídos . Siga as etapas 6-8:
python main.py -o . Este comando executará o SLIC para os scripts coletados nos repositórios OpenStack. Após a conclusão da análise Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes e Ended at:XXX será exibido, o que indica que a execução do SLIC está concluída e gerou os arquivos de resultado usados para responder RQ2 e RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -o . Após a execução, os resultados do RQ2 serão obtidos. Compare os resultados obtidos com os resultados apresentados na Tabela VIII do artigo. Os resultados que correspondem ao mês 2018-06 correspondem aos resultados apresentados no artigo.Para obter os resultados para os repositórios da Wikimedia, leva 286 minutos para ser concluído . Siga as etapas 6-8:
python main.py -w . Este comando executará o SLIC para os scripts coletados dos repositórios da Wikimedia. Após a conclusão da análise Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes e Ended at:XXX será exibido, o que indica que a execução do SLIC está concluída e gerou os arquivos de resultado usados para responder RQ2 e RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -w . Após a execução, os resultados do RQ2 serão obtidos. Compare os resultados obtidos com os resultados apresentados na Tabela VIII do artigo. Os resultados que correspondem ao mês 2018-06 correspondem aos resultados apresentados no artigo.Para obter os resultados para os repositórios do GitHub, são necessários 1431,9 minutos para ser concluída . Siga as etapas 6-8:
python main.py -g . Este comando executará o SLIC para os scripts coletados dos repositórios do GitHub. Após a conclusão da análise Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes e Ended at:XXX será exibido, o que indica que a execução do SLIC está concluída e gerou os arquivos de resultado usados para responder RQ2 e RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -g . Após a execução, os resultados do RQ2 serão obtidos. Compare os resultados obtidos com os resultados apresentados na Tabela VIII do artigo. Os resultados que correspondem ao mês 2018-06 correspondem aos resultados apresentados no artigo.Resumo:
Título do papel: Os sete pecados: a segurança cheira a infraestrutura como scripts de código
Os profissionais usam os scripts de infraestrutura como código (IAC) para provisionar servidores e ambientes de desenvolvimento. Enquanto desenvolvem scripts da IAC, os profissionais podem inadvertidamente introduzir cheiros de segurança. Os cheiros de segurança são padrões de codificação recorrentes que são indicativos da fraqueza da segurança e podem levar a violações de segurança. O objetivo de compartilhar o artefato de pesquisa é ajudar os profissionais e pesquisadores de software a usar nosso linhagem de segurança da ferramenta de análise estática para infraestrutura como código (SLIC) para identificar o cheiro de segurança na infraestrutura como scripts de código. Estamos solicitando o crachá disponível. Fornecemos um artefato de pesquisa baseado em docker para usar e replicar as principais descobertas apresentadas no artigo. O artefato é uma imagem do Docker que contém código -fonte para SLIC. A imagem do Docker também inclui os diretórios onde temos scripts de marionetes para os quais executamos o SLIC e realizamos análises empíricas. Para executar nossa ferramenta, é necessário instalar o Docker. As habilidades básicas no Docker são suficientes, como 'Docker Pull' e 'Docker Run'. Fornecemos instruções detalhadas sobre as instalações e como executar a ferramenta no readme.md e install.md. Doi para a ferramenta: https://doi.org/10.6084/m9.figshare.6943316