Banditは、Pythonコードに共通するセキュリティ問題を発見するために設計されたツールです。Banditは各ファイルを処理し、そこからAST (Application Security Test) を構築し、そのASTノードに対して適切なプラグインを実行します。Banditは、すべてのファイルのスキャンを終えると、レポートを生成します。
インストール
Banditはpipコマンドでインストールします。
$ pip install bandit
実行方法
Banditの基本的な実行方法は以下の通りです。
% bandit --help
Banditとassertステートメント
BanditはPythonのassertステートメントをセキュリティリスクとして検出します。これは、Pythonが最適化バイトコードをコンパイルするときにassertステートメントが削除されるためです。そのため、ソフトウェアの運用に重要なコードの部分でassertを使用しないように注意が必要です。
しかし、テストケースなどでassertステートメントを使用する場合があります。そのような場合、Banditの設定ファイルを使用して特定のファイルやディレクトリからのチェックをスキップすることができます。
まとめ
BanditはPythonコードのセキュリティチェックに非常に有用なツールです。しかし、その使用方法や設定には注意が必要です。特に、assertステートメントの使用については注意深く考える必要があります。