アーティファクトは、コード(SLIC)としてインフラストラクチャ用のセキュリティリナーのソースコードを含むDocker画像です。 SLICは、コード(IAC)スクリプトとしてインフラストラクチャのセキュリティ臭いを探す静的分析ツールです。 Docker画像には、SLICを実行して経験的分析を実行するPuppetスクリプトがあるディレクトリも含まれています。 SLICを実行する最も簡単な方法は、以下に説明する指示1〜8を実行することです。
7つのセキュリティの匂いは、ICSE 2019の論文「The Seven Sins:Security Smells in Code」に記載されています。紙のプリプリントは、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_spを実行しますdocker run -it --name slic akondrahman/ruby_for_sp bashを実行するcd /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を実行します。このコマンドは、Mozillaリポジトリから収集されたスクリプトのSLICを実行します。分析が完了すると、 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分かかります。手順6-8に従ってください:
python main.py -oを実行します。このコマンドは、OpenStackリポジトリから収集されたスクリプトのSLICを実行します。分析が完了すると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を実行します。このコマンドは、Wikimediaリポジトリから収集されたスクリプトのSLICを実行します。分析が完了すると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を実行します。このコマンドは、GitHubリポジトリから収集されたスクリプトのSLICを実行します。分析が完了すると、 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ベースの研究アーティファクトを提供します。アーティファクトは、SLICのソースコードを含むDocker画像です。 Docker画像には、SLICを実行して経験的分析を実行するPuppetスクリプトがあるディレクトリも含まれています。ツールを実行するには、Dockerをインストールする必要があります。 「Docker Pull」や「Docker Run」など、Dockerの基本的なスキルは十分です。インストールに関する詳細な指示と、readme.mdおよびinstall.mdでツールを実行する方法を提供しました。ツール用のdoi:https://doi.org/10.6084/m9.figshare.6943316