El artefacto es una imagen de Docker que contiene código fuente para el enlace de seguridad para la infraestructura como código (SLIC). SLIC es una herramienta de análisis estático que busca olores de seguridad en la infraestructura como scripts de código (IAC). La imagen de Docker también incluye los directorios en los que tenemos scripts de títeres para los cuales ejecutamos SLIC y realizamos un análisis empírico. La forma más fácil de ejecutar SLIC es ejecutar las instrucciones 1-8 mencionadas a continuación.
Los siete olores de seguridad se enumeran en nuestro artículo de ICSE 2019 'The Seven Sins: Seguridad Huele en la infraestructura como código'. La preimpresión del documento está disponible aquí: https://akondrahman.github.io/papers/icse19_slic.pdf
El artefacto está disponible aquí: https://cloud.docker.com/repository/docker/akondrahman/ruby_for_sp/general
Dependencias: Docker
Instrucciones para replicar:
docker pull akondrahman/ruby_for_spdocker run -it --name slic akondrahman/ruby_for_sp bashcd /SecurityInIaC/IacSec/SLIC/Para obtener los resultados para algunos scripts de prueba, se necesitan 0.04 minutos en completarse . Ejecute
python main.py -t. Este comando ejecutará SLIC para los scripts de prueba. Al finalizar el análisisDumped CSV output file of 1197 bytes,Dumped symbolic output PICKLE of 6 bytesyDuration: 0.0453675349553 minutesse mostrarán, lo que indica que la ejecución de Slic está completa.
Para obtener los resultados para los repositorios de Mozilla, se necesitan 251 minutos en completarse . Siga los pasos 6-8:
python main.py -m . Este comando ejecutará SLIC para los scripts recopilados de los repositorios de Mozilla. Al completar el análisis Dumped CSV output file of XXX bytes , se mostrará Dumped symbolic output PICKLE of XXX bytes y Ended at:XXX , lo que indica que la ejecución de SLIC está completa y generó los archivos de resultados utilizados para responder RQ2 y RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -m . Tras la ejecución se obtendrán los resultados de RQ2. Compare los resultados obtenidos con los resultados presentados en la Tabla VIII del documento. Los resultados que corresponden al mes 2018-06, corresponden a los resultados presentados en el documento.Para obtener los resultados para los repositorios de OpenStack, se necesitan 725 minutos en completarse . Siga los pasos 6-8:
python main.py -o . Este comando ejecutará SLIC para los scripts recopilados de los repositorios de OpenStack. Al completar el análisis Dumped CSV output file of XXX bytes , se mostrará Dumped symbolic output PICKLE of XXX bytes y Ended at:XXX , lo que indica que la ejecución de SLIC está completa y generó los archivos de resultados utilizados para responder RQ2 y RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -o . Tras la ejecución se obtendrán los resultados de RQ2. Compare los resultados obtenidos con los resultados presentados en la Tabla VIII del documento. Los resultados que corresponden al mes 2018-06, corresponden a los resultados presentados en el documento.Para obtener los resultados de los repositorios de Wikimedia, se tarda 286 minutos en completarse . Siga los pasos 6-8:
python main.py -w . Este comando ejecutará SLIC para los scripts recopilados de los repositorios de Wikimedia. Al completar el análisis Dumped CSV output file of XXX bytes , se mostrará Dumped symbolic output PICKLE of XXX bytes y Ended at:XXX , lo que indica que la ejecución de SLIC está completa y generó los archivos de resultados utilizados para responder RQ2 y RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -w . Tras la ejecución se obtendrán los resultados de RQ2. Compare los resultados obtenidos con los resultados presentados en la Tabla VIII del documento. Los resultados que corresponden al mes 2018-06, corresponden a los resultados presentados en el documento.Para obtener los resultados para los repositorios de GitHub, se necesitan 1431.9 minutos en completarse . Siga los pasos 6-8:
python main.py -g . Este comando ejecutará SLIC para los scripts recopilados de los repositorios de GitHub. Al completar el análisis Dumped CSV output file of XXX bytes , se mostrará Dumped symbolic output PICKLE of XXX bytes y Ended at:XXX , lo que indica que la ejecución de SLIC está completa y generó los archivos de resultados utilizados para responder RQ2 y RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -g . Tras la ejecución se obtendrán los resultados de RQ2. Compare los resultados obtenidos con los resultados presentados en la Tabla VIII del documento. Los resultados que corresponden al mes 2018-06, corresponden a los resultados presentados en el documento.Abstracto:
Título del documento: The Seven Sins: Seguridad Huele en la infraestructura como scripts de código
Los profesionales utilizan los scripts de infraestructura como código (IAC) para servidores de provisión y entornos de desarrollo. Mientras desarrollan guiones de IAC, los profesionales pueden introducir inadvertidamente olores de seguridad. Los olores de seguridad son patrones de codificación recurrentes que son indicativos de debilidad de seguridad y potencialmente pueden conducir a violaciones de seguridad. El objetivo de compartir el artefacto de investigación es ayudar a los profesionales e investigadores de software a utilizar nuestro Linter de seguridad de la herramienta de análisis estático para infraestructura como código (SLIC) para identificar los olores de seguridad en la infraestructura como scripts de código. Estamos solicitando la insignia disponible. Proporcionamos un artefacto de investigación basado en Docker para usar y replicar los principales hallazgos presentados en el documento. El artefacto es una imagen de Docker que contiene código fuente para SLIC. La imagen de Docker también incluye los directorios en los que tenemos scripts de títeres para los cuales ejecutamos SLIC y realizamos un análisis empírico. Para ejecutar nuestra herramienta, se requiere que tenga instalado Docker. Las habilidades básicas en Docker son suficientes, como 'Docker Pull' y 'Docker Run'. Hemos proporcionado instrucciones detalladas sobre las instalaciones y cómo ejecutar la herramienta en ReadMe.md e install.md. Doi para la herramienta: https://doi.org/10.6084/m9.figshare.6943316