L'artefact est une image Docker qui contient du code source pour la sécurité de sécurité pour l'infrastructure sous forme de code (SLIC). SLIC est un outil d'analyse statique qui recherche des odeurs de sécurité dans l'infrastructure en tant que scripts de code (IAC). L'image Docker comprend également les répertoires où nous avons des scripts de marionnettes pour lesquels nous exécutons SLIC et effectuons une analyse empirique. Le moyen le plus simple d'exécuter SLIC est d'exécuter les instructions 1 à 8 mentionnées ci-dessous.
Les sept odeurs de sécurité sont répertoriées dans notre article de l'ICSE 2019 «The Seven Sins: Security Smells in Infrastructure as Code». La pré-imprimée du document est disponible ici: https://akondrahman.github.io/papers/icse19_slic.pdf
L'artefact est disponible ici: https://cloud.docker.com/repository/docker/akondrahman/ruby_for_sp/general
Dépendances: Docker
Instructions pour reproduire:
docker pull akondrahman/ruby_for_spdocker run -it --name slic akondrahman/ruby_for_sp bashcd /SecurityInIaC/IacSec/SLIC/Pour obtenir les résultats de quelques scripts de test, il faut 0,04 minutes pour terminer . Exécutez
python main.py -t. Cette commande exécutera SLIC pour les scripts de test. À la fin de l'analyseDumped CSV output file of 1197 bytes,Dumped symbolic output PICKLE of 6 bytesetDuration: 0.0453675349553 minutesseront affichés, ce qui indique que l'exécution de Slic est terminée.
Pour obtenir les résultats pour les référentiels de Mozilla, il faut 251 minutes pour terminer . Suivez les étapes 6-8:
python main.py -m . Cette commande exécutera SLIC pour les scripts collectés dans les référentiels de Mozilla. À la fin de l'analyse Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes et Ended at:XXX sera affiché, ce qui indique que l'exécution de Slic est terminée et elle a généré les fichiers de résultats utilisés pour répondre à RQ2 et RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -m . Lors de l'exécution, les résultats de RQ2 seront obtenus. Comparez les résultats obtenus avec les résultats présentés dans le tableau VIII de l'article. Les résultats qui correspondent au mois 2018-06, correspondent aux résultats présentés dans l'article.Pour obtenir les résultats des référentiels OpenStack, il faut 725 minutes pour terminer . Suivez les étapes 6-8:
python main.py -o . Cette commande exécutera SLIC pour les scripts collectés dans les référentiels OpenStack. À la fin de l'analyse Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes et Ended at:XXX sera affiché, ce qui indique que l'exécution de Slic est terminée et elle a généré les fichiers de résultats utilisés pour répondre à RQ2 et RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -o . Lors de l'exécution, les résultats de RQ2 seront obtenus. Comparez les résultats obtenus avec les résultats présentés dans le tableau VIII de l'article. Les résultats qui correspondent au mois 2018-06, correspondent aux résultats présentés dans l'article.Pour obtenir les résultats pour les référentiels Wikimedia, il faut 286 minutes . Suivez les étapes 6-8:
python main.py -w . Cette commande exécutera SLIC pour les scripts collectés dans les référentiels Wikimedia. À la fin de l'analyse Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes et Ended at:XXX sera affiché, ce qui indique que l'exécution de Slic est terminée et elle a généré les fichiers de résultats utilisés pour répondre à RQ2 et RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -w . Lors de l'exécution, les résultats de RQ2 seront obtenus. Comparez les résultats obtenus avec les résultats présentés dans le tableau VIII de l'article. Les résultats qui correspondent au mois 2018-06, correspondent aux résultats présentés dans l'article.Pour obtenir les résultats des référentiels GitHub, il faut 1431,9 minutes pour terminer . Suivez les étapes 6-8:
python main.py -g . Cette commande exécutera SLIC pour les scripts collectés dans les référentiels GitHub. À la fin de l'analyse Dumped CSV output file of XXX bytes , Dumped symbolic output PICKLE of XXX bytes et Ended at:XXX sera affiché, ce qui indique que l'exécution de Slic est terminée et elle a généré les fichiers de résultats utilisés pour répondre à RQ2 et RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -g . Lors de l'exécution, les résultats de RQ2 seront obtenus. Comparez les résultats obtenus avec les résultats présentés dans le tableau VIII de l'article. Les résultats qui correspondent au mois 2018-06, correspondent aux résultats présentés dans l'article.Abstrait:
Titre du papier: The Seven Sins: Security Smeaux dans l'infrastructure sous forme de scripts de code
Les praticiens utilisent l'infrastructure comme des scripts de code (IAC) pour fournir des serveurs et des environnements de développement. Tout en développant des scripts IAC, les praticiens peuvent introduire par inadvertance des odeurs de sécurité. Les odeurs de sécurité sont des modèles de codage récurrents qui indiquent une faiblesse de sécurité et peuvent potentiellement entraîner des violations de sécurité. L'objectif de partager l'artefact de recherche est d'aider les praticiens et les chercheurs de logiciels à utiliser notre outil d'analyse statique Linter pour l'infrastructure en tant que code (SLIC) pour identifier les odeurs de sécurité dans l'infrastructure en tant que scripts de code. Nous postulons pour l'insigne disponible. Nous fournissons un artefact de recherche basé sur Docker pour utiliser et reproduire les principales conclusions présentées dans l'article. L'artefact est une image Docker qui contient le code source de SLIC. L'image Docker comprend également les répertoires où nous avons des scripts de marionnettes pour lesquels nous exécutons SLIC et effectuons une analyse empirique. Pour exécuter notre outil, il est nécessaire d'installer Docker. Les compétences de base dans Docker sont suffisantes telles que «Docker Pull» et «Docker Run». Nous avons fourni des instructions détaillées sur les installations et comment exécuter l'outil dans Readme.md et Install.md. Doi pour l'outil: https://doi.org/10.6084/m9.figshare.6943316