Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SecML — Secure and Explainable Machine LearningのためのPythonライブラリ ドキュメントは @ https://secml.gitlab.io で入手できます。 Twitterでフォロー: @ https://twitter.com/secml_py | Kitploit
ツール/GitLabGitLab/secml/secml
エクスプロイト機械学習論文と研究学習と教育AIセキュリティ敵対的攻撃
GitLabsecml/secml

SecML

Secure and Explainable Machine LearningのためのPythonライブラリ ドキュメントは @ https://secml.gitlab.io で入手できます。 Twitterでフォロー: @ https://twitter.com/secml_py

リポジトリを見る
271715年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SecML: セキュアで説明可能な機械学習のためのライブラリ

SecMLは、機械学習(ML)アルゴリズムのセキュリティ評価のためのオープンソースPythonライブラリです。

強力な機能を備えています:

  • 幅広いMLアルゴリズムのサポート。 scikit-learnでサポートされているすべての教師あり学習アルゴリズムと、PyTorch深層学習プラットフォームによるニューラルネットワーク(NN)が利用可能です。
  • 組み込みの攻撃アルゴリズム。 カスタム開発された高速ソルバーに基づく回避攻撃およびポイズニング攻撃。さらに、他のサードパーティの敵対的機械学習ライブラリへのコネクタも提供します。
  • 密/疎データのサポート。 単一のデータ構造で、密データ(numpyライブラリ経由)と疎データ(scipyライブラリ経由)の両方を完全かつ透過的にサポートします。
  • 結果の可視化。 広く知られているライブラリmatplotlibに基づく可視化およびプロットフレームワークを提供します。
  • 結果の説明。 影響力のある特徴やプロトタイプを介してモデルの決定を解釈する説明可能なMLメソッド。
  • モデルZoo。 事前学習済みモデルを使用して時間を節約し、科学的研究結果を簡単に再現できます。
  • マルチプロセッシング。 さらに時間を節約したいですか? scikit-learnおよびpytorchのすべてのマルチプロセッシング機能との完全な互換性と、joblibライブラリの組み込みサポートを提供します。
  • 拡張可能。 提供された抽象インターフェースを拡張することで、MLモデルや攻撃アルゴリズムなどの新しいコンポーネントを簡単に作成できます。

ソースコードのホスト先: https://gitlab.com/secml/secml

SecMLは現在開発中です。 バグを発見した場合は、GitLab issue trackerを使用して報告してください。 また、今後の開発の方向性の概要については、ROADMAPをご覧ください。

Status Alpha Python 3.6 | 3.7 | 3.8 Platform Linux | MacOS | Windows Apache License 2.0

インストールガイド

SecMLは、依存関係とともに特定の環境にインストールすることをお勧めします。

環境を作成・管理する一般的なフレームワークとしては、virtualenvやcondaがあります。どちらの代替手段も環境を正しくセットアップするための便利なユーザーガイドを提供しているため、このガイドでは設定手順については説明しません。

オペレーティングシステムの要件

SecMLはPython >= 3.6で追加の設定手順なしで実行できます。主要なmacOSバージョン、Linuxディストリビューション、Windows用のホイールパッケージとしてすべての依存関係が利用可能だからです。

ただし、追加の高度な機能をサポートするには、使用するオペレーティングシステムに応じてさらにパッケージが必要になる場合があります:

  • Linux(Ubuntu 16.04以降または同等のディストリビューション)

    • MatplotLibのTkベースのバックエンドを実行するためのpython3-tk;
    • GPUサポートのためのNVIDIA® CUDA® Toolkit。
  • macOS(10.12 Sierra以降)

    • 特になし。
  • Windows(7以降)

    • Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019。
    • GPUサポートのためのNVIDIA® CUDA® Toolkit。

インストール手順

インストール手順を開始する前に、次のコマンドを実行してpipマネージャーの最新バージョンを入手してください: pip install -U pip

Pythonパッケージsetuptoolsがセットアッププロセスを管理します。次のコマンドで最新バージョンを入手してください: pip install -U setuptools

環境がセットアップされたら、SecMLは複数の方法でインストールおよび実行できます:

  1. 公式PyPIリポジトリからインストール:

    • pip install secml
  2. ホイール/zipパッケージからインストール (https://pypi.python.org/pypi/secml#files):

    • pip install <package-file>

いずれの場合も、セットアッププロセスは正しい依存関係をインストールしようとします。インストール中に問題が発生した場合は、まずpip install -r requirements.txtを実行して依存関係をインストールしてみてください。

これでSecMLはPythonでimport secmlでインポートできるようになります。

上記のいずれかの方法で現在のインストールを更新するには、pip installディレクティブの後に-Uパラメータを追加してください。ソースバージョンとターゲットバージョンに応じた具体的なアップグレード手順については、Update Guidesを参照してください。

追加コンポーネント

SecMLには、必要に応じてインストールできる一連の追加コンポーネントが用意されています。

インストールする追加コンポーネントを指定するには、pip installを呼び出す際に[extras]セクションを追加します。extrasはインストールしたいコンポーネントのカンマ区切りリストです。例:

  • pip install secml[extra1,extra2]

上記のpipによるインストール手順はすべて、[extras]セクションの定義を許可しています。

利用可能な追加コンポーネント

  • pytorch : PyTorch深層学習プラットフォームによるニューラルネットワーク(NN)。
    インストール: torch >= 1.4, torchvision >= 0.5
    Windowsのみ: インストールアーカイブへのURLは手動で指定する必要があります: pip install secml[pytorch] -f https://download.pytorch.org/whl/torch_stable.html。
  • foolbox : Foolboxのラッパー。ニューラルネットワークを欺く敵対的サンプルを作成するPythonツールボックス。
    インストール: foolbox >= 3.3.0, eagerpy >= 0.29.0, torch >= 1.4, torchvision >= 0.5
  • cleverhans : CleverHansのラッパー。機械学習システムの敵対的サンプルに対する脆弱性をベンチマークするPythonライブラリ。
    インストール: tensorflow >= 1.14.*, < 2, cleverhans < 3.1 : では利用不可

使用ガイド

SecMLは、Pythonによる科学計算および機械学習で広く使用されているパッケージ、numpy、scipy、scikit-learn、pytorchに基づいています。

その結果、ライブラリのインターフェースのほとんどは、これらのパッケージの頻繁なユーザーにはかなり馴染み深いはずです。

主要なデータクラスはsecml.array.CArrayで、密データと疎データの両方を埋め込んだ多次元(現在は2次元に制限)の配列構造であり、入力としてnumpy.ndarrayおよびscipy.sparse.csr_matrixを受け入れます(より多くの疎フォーマットがまもなくサポートされる予定です)。この構造は、ライブラリ内の他のすべてのクラスの標準的な入出力です。

secml.mlパッケージには、分類器、損失関数と正則化関数、カーネル、パフォーマンス評価関数など、すべての機械学習アルゴリズムとサポートクラスが含まれています。また、secml.model_zooパッケージによって事前学習済みモデルのZooも提供されています。

secml.advパッケージには、カスタム開発されたソルバーに基づく回避攻撃およびポイズニング攻撃と、機械学習アルゴリズムのセキュリティ評価を簡単に実行するためのクラスが含まれています。

secml.explanationパッケージには、特徴やトレーニングプロトタイプなどの関連コンポーネントを分析することで分類器の決定を解釈できる、さまざまな説明可能な機械学習メソッドが含まれています。

secml.figureパッケージには、matplotlibに基づく可視化およびプロットフレームワークが含まれています。

開発者とコントリビューター

コントリビューションと開発者向けガイドは以下で入手可能です: https://secml.gitlab.io/developers/

SecMLの引用方法

学術出版でSecMLを使用する場合は、以下の論文を引用してください:

secml: A Python Library for Secure and Explainable Machine Learning, Melis et al., arXiv preprint arXiv:1912.10013 (2019).

BibTeXエントリ:

root@kitploit:~
@article{melis2019secml,
  title={secml: A Python Library for Secure and Explainable Machine Learning},
  author={Melis, Marco and Demontis, Ambra and Pintor, Maura and Sotgiu, Angelo and Biggio, Battista},
  journal={arXiv preprint arXiv:1912.10013},
  year={2019}
}

著者

このライブラリはPRALab - Pattern Recognition and Applications Labによってメンテナンスされています。

コントリビューター一覧:

  • Marco Melis [1]
  • Ambra Demontis [1]
  • Maura Pintor [1], [2]
  • Battista Biggio [1], [2]

[1] イタリア、カリャリ大学、電気電子工学科
[2] イタリア、Pluribus One

謝辞

  • numpy Travis E, Oliphant. "A guide to NumPy", USA: Trelgol Publishing, 2006.
  • scipy Travis E. Oliphant. "Python for Scientific Computing", Computing in Science & Engineering, 9, 10-20, 2007.
  • scikit-learn Pedregosa et al., "Scikit-learn: Machine Learning in Python", JMLR 12, pp. 2825-2830, 2011.
  • matplotlib J. D. Hunter, "Matplotlib: A 2D Graphics Environment", Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95, 2007.
  • pytorch Paszke, Adam, et al. "Automatic differentiation in pytorch.", NIPS-W, 2017.
  • cleverhans Papernot, Nicolas, et al. "Technical Report on the CleverHans v2.1.0 Adversarial Examples Library." arXiv preprint arXiv:1610.00768 (2018).
  • foolbox Rauber, Jonas, et. al. "Foolbox: A Python toolbox to benchmark the robustness of machine learning models", arXiv preprint arXiv:1707.04131 (2017).

謝辞

SecMLは、欧州連合のALOHAプロジェクト Horizon 2020研究・イノベーションプログラム(助成契約番号780788)の支援を受けて部分的に開発されました。

著作権

SecMLは、PRALab - Pattern Recognition and Applications labおよびPluribus One s.r.l.によって、Apache License 2.0のもとで開発されました。無断複写・転載を禁じます。

ツールをダウンロード

警告
python >= 3.8
  • tf-gpu : GPUサポート付きのTensorFlowパッケージをインストールするためのショートカット(LinuxおよびWindowsのみ)。
    インストール: tensorflow-gpu >= 1.14.*, < 2
    警告: python >= 3.8では利用不可