Артефакт - это изображение Docker, которое содержит исходный код для обеспечения Linter для инфраструктуры в качестве кода (SLIC). SLIC - это статический инструмент анализа, который ищет запахи безопасности в инфраструктуре как сценарии кода (IAC). Изображение Docker также включает в себя каталоги, в которых у нас есть кукольные сценарии, для которых мы запускаем SLIC и проводим эмпирический анализ. Самый простой способ запустить SLIC-выполнить инструкции 1-8, упомянутые ниже.
Семь запахов безопасности перечислены в нашей статье ICSE 2019 «Семь грехов: запахи безопасности в инфраструктуре как код». Предварительный пост бумаги доступен здесь: https://akondrahman.github.io/papers/icse19_slic.pdf
Артефакт доступен здесь: https://cloud.docker.com/repository/docker/akondrahman/ruby_for_sp/general
Зависимости: Docker
Инструкции для воспроизведения:
docker pull akondrahman/ruby_for_spdocker run -it --name slic akondrahman/ruby_for_sp bashcd /SecurityInIaC/IacSec/SLIC/Чтобы получить результаты за несколько тестовых сценариев , для завершения требуется 0,04 минуты . Запустите
python main.py -t. Эта команда выполнит SLIC для тестовых сценариев. После завершения анализаDumped CSV output file of 1197 bytes,Dumped symbolic output PICKLE of 6 bytesиDuration: 0.0453675349553 minutesбудут отображаться, что указывает на то, что выполнение SLIC завершено.
Чтобы получить результаты для репозитории Mozilla , для завершения требуется 251 минута . Следуйте шагам 6-8:
python main.py -m . Эта команда выполнит SLIC для сценариев, собранных в репозиториях Mozilla. После завершения анализа Dumped CSV output file of XXX bytes Dumped symbolic output PICKLE of XXX bytes и Ended at:XXX будет отображаться, что указывает на то, что выполнение SLIC завершено, и оно сгенерировало файлы результатов, используемые для ответа на RQ2 и RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -m . После исполнения результаты RQ2 будут получены. Сравните полученные результаты с результатами, представленными в таблице VIII статьи. Результаты, которые соответствуют месяцу 2018-06, соответствуют результатам, представленным в статье.Чтобы получить результаты для репозиториев OpenStack , для завершения 725 минут требуется 725 минут . Следуйте шагам 6-8:
python main.py -o . Эта команда выполнит SLIC для сценариев, собранных в репозиториях OpenStack. После завершения анализа Dumped CSV output file of XXX bytes Dumped symbolic output PICKLE of XXX bytes и Ended at:XXX будет отображаться, что указывает на то, что выполнение SLIC завершено, и оно сгенерировало файлы результатов, используемые для ответа на RQ2 и RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -o . При исполнении будут получены результаты RQ2. Сравните полученные результаты с результатами, представленными в таблице VIII статьи. Результаты, которые соответствуют месяцу 2018-06, соответствуют результатам, представленным в статье.Чтобы получить результаты для репозиториев Wikimedia , для завершения требуется 286 минут . Следуйте шагам 6-8:
python main.py -w . Эта команда выполнит SLIC для сценариев, собранных из репозитории Wikimedia. После завершения анализа Dumped CSV output file of XXX bytes Dumped symbolic output PICKLE of XXX bytes и Ended at:XXX будет отображаться, что указывает на то, что выполнение SLIC завершено, и оно сгенерировало файлы результатов, используемые для ответа на RQ2 и RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -w . При исполнении будут получены результаты RQ2. Сравните полученные результаты с результатами, представленными в таблице VIII статьи. Результаты, которые соответствуют месяцу 2018-06, соответствуют результатам, представленным в статье.Чтобы получить результаты для репозиториев GitHub , для его завершения требуется 1431,9 минуты . Следуйте шагам 6-8:
python main.py -g . Эта команда выполнит SLIC для сценариев, собранных в репозиториях GitHub. После завершения анализа Dumped CSV output file of XXX bytes Dumped symbolic output PICKLE of XXX bytes и Ended at:XXX будет отображаться, что указывает на то, что выполнение SLIC завершено, и оно сгенерировало файлы результатов, используемые для ответа на RQ2 и RQ3.cd /SecurityInIaC/IacSec/analysis/python frq_cnt.py -g . При исполнении будут получены результаты RQ2. Сравните полученные результаты с результатами, представленными в таблице VIII статьи. Результаты, которые соответствуют месяцу 2018-06, соответствуют результатам, представленным в статье.Абстрактный:
Название бумаги: Семь грехов: запах безопасности в инфраструктуре как сценарии кода
Практикующие используют инфраструктуру в качестве сценариев кода (IAC) для серверов предоставления и среды развития. При разработке сценариев IAC практикующие могут непреднамеренно вводить запахи безопасности. Запах безопасности - это повторяющиеся паттерны кодирования, которые указывают на слабость безопасности и потенциально могут привести к нарушениям безопасности. Цель обмена исследовательским артефактом состоит в том, чтобы помочь практикующим программным обеспечениям и исследователям использовать наш статический инструмент «Безопасность инструмента» для инфраструктуры в качестве кода (SLIC) для определения запахов безопасности в инфраструктуре в качестве сценариев кода. Мы подаем заявку на доступный значок. Мы предоставляем исследовательский артефакт на основе Docker для использования и воспроизведения основных результатов, представленных в статье. Артефакт - это изображение Docker, которое содержит исходный код для SLIC. Изображение Docker также включает в себя каталоги, в которых у нас есть кукольные сценарии, для которых мы запускаем SLIC и проводим эмпирический анализ. Для запуска нашего инструмента необходимо установить Docker. Основные навыки в Docker достаточно, такие как «Docker Pull» и «Docker Run». Мы предоставили подробные инструкции по установке и о том, как запустить инструмент в readme.md и install.md. Doi для инструмента: https://doi.org/10.6084/m9.figshare.6943316