Repolode
dlint-py

dlint-py/dlint

execの使用や危険なデシリアライズなど、安全でないPythonのコーディングパターンを検出するflake8プラグイン。

スター
178
フォーク
18
未解決の Issue
23
最終コミット
18 日前

これは何?

Dlintは、安全でないパターンやバグ・セキュリティ問題につながりやすいコーディング慣習をソースコードから検出するPython用リンターです。flake8のプラグインとして動作するため、既存のflake8のワークフロー、オプション、設定をそのまま利用できます。各ルールにはDUOプレフィックス付きのIDがあり、違反箇所はファイル名、行番号、簡潔な説明とともに報告されます。たとえば、execの使用を検出できます。

DlintはpipでPyPIからインストールでき、コマンドラインから `flake8 --select=DUO` を実行すると、Dlintのルールだけに絞ってチェックできます。Vim、Emacs、Sublime Text、PyCharm、Atom、VS Codeなどのエディターでは、既存のflake8プラグインを通じて連携できます。また、ドキュメントに記載された命名規則に従い、名前が `dlint_plugin_` で始まる個別のモジュールとして独自ルールを作成できます。

主な機能

  • 01DUOルールプレフィックスのもと、execの使用など安全でないPythonのパターンを検出する。
  • 02flake8を基盤としており、flake8のオプションや設定を利用できる。
  • 03コマンドラインから単一のファイルまたはディレクトリ全体をチェックできる。
  • 04一般的なエディターのflake8連携に対応し、インラインで結果を確認できる。
  • 05命名規則に従って読み込まれるカスタムルールプラグインに対応する。

ユースケース

  • PythonプロジェクトのCIパイプラインに、セキュリティ重視のlintチェックを追加する。
  • execのような危険な構文がないか、既存のPythonコードを確認する。
  • カスタムプラグインを使って、チーム独自のセキュアコーディングルールを徹底する。

クイックスタート

  1. 1

    PyPIからDlintをインストールする

    python -m pip install dlint
  2. 2

    ファイルまたはディレクトリに対して、flake8でDlintのルールを実行する

    python -m flake8 --select=DUO /path/to/code

使う前に知っておきたいこと

  • Dlintはflake8プラグインとして動作するため、flake8とPythonのインストールが必要です。

収録されている特集

トピック

よくある質問

dlint とは?
execの使用や危険なデシリアライズなど、安全でないPythonのコーディングパターンを検出するflake8プラグイン。 Dlintは、安全でないパターンやバグ・セキュリティ問題につながりやすいコーディング慣習をソースコードから検出するPython用リンターです。flake8のプラグインとして動作するため、既存のflake8のワークフロー、オプション、設定をそのまま利用できます。各ルールにはDUOプレフィックス付きのIDがあり、違反箇所はファイル名、行番号、簡潔な説明とともに報告されます。たとえば、execの使用を検出できます。
dlint は無料で使えますか?ライセンスは?
dlint は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
dlint は今もメンテナンスされていますか?
活発にメンテナンス中。dlint の最終コミットは 2026年10月20日 です。
dlint は何に使えますか?
PythonプロジェクトのCIパイプラインに、セキュリティ重視のlintチェックを追加する。 execのような危険な構文がないか、既存のPythonコードを確認する。 カスタムプラグインを使って、チーム独自のセキュアコーディングルールを徹底する。
dlint のインストール方法は?
PyPIからDlintをインストールする: python -m pip install dlint ファイルまたはディレクトリに対して、flake8でDlintのルールを実行する: python -m flake8 --select=DUO /path/to/code
dlint はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dlint-py/dlint

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト