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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CanoP — AI生成コードをSQLインジェクション、安全でないリフレクション、ハードコードされたシークレットなどの脆弱性についてスキャンする静的解析CLI。SARIFエクスポートとCI/CDゲーティングを備える。 | Kitploit
ツール/GitHubGitHub/openbreach/canop
防御ツール静的分析脆弱性スキャナー静的コード分析 (SAST)脆弱性分析コード分析スクリプトと自動化DevSecOpsシークレット検出AIセキュリティ
GitHubopenbreach/canop

CanoP

23日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

AI生成コードをSQLインジェクション、安全でないリフレクション、ハードコードされたシークレットなどの脆弱性についてスキャンする静的解析CLI。SARIFエクスポートとCI/CDゲーティングを備える。

リポジトリを見る

CanoP CLI

CanoP logo

PyPI version License: MIT Python 3.8+ Code style: black

AIコーディングアシスタントによって導入された脆弱性を検出するために特別に設計された、高速でスタンドアロンな静的解析ツールです。CanoPはコードベースをローカルで解析し、AI生成コードに潜むセキュリティリスクを特定します。

機能

  • 高いシグナル対ノイズ比: 従来のスキャナーは大量のアラートを生成します。CanoPは現代のAI特有の失敗モード(SQLインジェクション、安全でないリフレクション、ハードコードされたシークレットなど)に特化して調整されており、表示されるアラートが実行可能で優先度の高いものであることを保証します。
  • マルチ言語サポート: Python、JavaScript、TypeScript、Java、Go、Ruby、PHPの解析をすぐに利用でき、単一のツールでフルスタックアプリケーションを保護できます。
  • CI/CD対応: デプロイメントパイプラインに直接統合できるように設計されています。重大度レベル(例: CRITICALの検出でビルドを失敗させる)や全体的なセキュリティスコアに基づいて失敗のしきい値を設定することで、セキュリティ基準を強制できます。
  • AI処方箋: 欠陥を指摘するだけでなく、CanoPは構造化されたfixes.jsonペイロードを自動生成します。これには、即座にコンテキストを認識した修正を行うために大規模言語モデル(LLM)にフィードバックするよう設計された具体的なプロンプトが含まれています。
  • 標準化されたレポート: 検出結果を標準のJSONまたはSARIF(Static Analysis Results Interchange Format)にエクスポートし、GitHubやその他のセキュリティツールと統合できます。

CanoPの動作を見る

CanoP scanning a project

CanoPはコードをローカルで解析し、AIによる修正ガイダンスを備えた実行可能なセキュリティ検出結果を生成します。

Example fixes.json output

検出の仕組み

CanoPはバンドルされたルールをcanop/rules/*.ymlから読み込み、組み込みのパターンスキャナーをローカルで実行します。Semgrep CLIがインストールされている場合、CanoPは同じルールをASTベースの解析にも使用できます。Semgrepはオプションです。標準のパッケージインストールではSemgrep CLIをダウンロードしたり必要としたりしません。

インストール

CanoPはPyPIを通じて標準のPythonパッケージとして配布されています。

Windows

Windowsの場合、またはすでにアクティブな仮想環境内にいる場合は、標準のpipインストーラーを使用できます:

root@kitploit:~
pip install canop

macOS & Linux

最新のmacOSおよびLinuxディストリビューションでは、システムパッケージを保護するためにグローバルなpipインストールがしばしば妨げられます(PEP 668)。分離された環境にPython CLIツールをインストールするためのコミュニティ標準はpipxです:

root@kitploit:~
pipx install canop

(注: pipx install canopはWindowsでも完全に動作します!)

検証

インストールを検証し、CLIがシステムパスで利用可能であることを確認します:

root@kitploit:~
canop --version

クイックスタート

リポジトリ内の設定ファイルを初期化します。このコマンドは.canop.ymlポリシーファイルと、node_modulesやvenvのようなノイズの多いディレクトリをスキャンから除外するための.canopignoreファイルを作成します:

root@kitploit:~
canop init

現在のディレクトリに対して包括的なセキュリティスキャンを実行します。スキャナーは内部ルールエンジンに対してコードを評価し、最終的なセキュリティスコアを含む詳細なテーブルを出力します:

root@kitploit:~
canop scan .

gitで変更されたファイルのみをスキャンします。これによりスキャン時間が劇的に短縮され、pre-commitフックに最適で、新しいコードがコミットされる前に安全であることを保証します:

root@kitploit:~
canop scan . --changed

デフォルトでは、CanoPは表示される検出結果を50に制限することでターミナルをクリーンに保ちます。さらに深く調査する必要がある場合や、この制限を調整する場合:

root@kitploit:~
# 制限なし、すべての検出結果を表示:
canop scan . --all

# カスタム制限を設定(例: 上位10件の結果のみを表示したい場合):
canop scan . --limit 10

高度な使用方法

継続的インテグレーション / 継続的デプロイメント(CI/CD)

CanoPは、自動化されたデプロイメントパイプライン(GitHub ActionsやGitLab CIなど)においてセキュリティゲートキーパーとして機能するように構築されています。特定のセキュリティ基準が満たされない場合に、非ゼロの終了コードを返すようにスキャナーを設定できます。これによりビルドが自動的に失敗します。

root@kitploit:~
# CRITICALまたはHIGHの脆弱性が見つかった場合にデプロイメントパイプラインを失敗させる
canop scan . --fail-on HIGH

# 総合セキュリティスコアが85を下回った場合にデプロイメントパイプラインを失敗させる
canop scan . --min-score 85

結果のエクスポート

履歴の追跡、監査、または外部システムとの統合を必要とするチームのために、CanoPは複数の出力形式をサポートしています。

root@kitploit:~
# カスタム解析用に、生のネイティブPython辞書データを標準JSONファイルにエクスポート
canop scan . --json-out results.json

# SARIF(Static Analysis Results Interchange Format)にエクスポート。
# このファイルをGitHubにアップロードすると、GitHubがPull Request内で脆弱性をインライン表示できます。
canop scan . --sarif results.sarif

自動修正

CanoPはルールエンジンから修正メタデータを抽出し、検出された脆弱性を修正する方法をAIコーディングアシスタントに正確に指示するプロンプトを生成します。

root@kitploit:~
# LLM向けの実行可能なプロンプトを含むfixes.jsonファイルを生成
canop scan . --prescriptions fixes.json

設定

CanoPの動作は、プロジェクトのルートに配置された.canop.ymlファイルを使用してコード化できます。このファイルは集中化されたセキュリティポリシーとして機能し、すべての開発者とCI/CDパイプラインが同じしきい値に従うことを保証します。

root@kitploit:~
# .canop.yml
# パイプラインを通過するために最低限必要なセキュリティグレード
min_grade: B

# これらの特定の重大度レベルをパイプラインの失敗として扱う
fail_on:
  - CRITICAL
  - HIGH

# スキャン対象から特定のパスを無視する
ignore:
  - "tests/**"
  - "docs/**"

# 非ゼロの終了コードを返す前に許可する検出結果の数(0 = 厳密に無制限)
max_findings: 0

また、.canopignoreを使用して、スキャナーがスキップすべき特定のファイルやディレクトリを定義することもできます。これは標準のglobパターンを利用し、.gitignoreとまったく同じように機能します。

ローカル開発

CLIに貢献したい場合や、変更をローカルでテストしたい場合は、リポジトリをクローンして編集可能モードでインストールします。編集可能モードでは、canopターミナルコマンドが実際のソースコードに直接マッピングされます。

root@kitploit:~
git clone https://github.com/openbreach/CanoP.git canop
cd canop
pip install -e .

変更を提出する前に、ローカルでテストスイートを実行します:

root@kitploit:~
python -m unittest discover -s tests -v

配布アーティファクトをビルドするには、リリースツールをインストールして実行します:

root@kitploit:~
pip install -r requirements-dev.txt
python -m build

ルール開発

セキュリティルールは標準のSemgrep YAML形式で定義され、canop/rules/*.yml内に配置されています。スキャナーの検出機能を拡張するための新しいルールの構造化、テスト、提出方法に関する包括的なガイドラインについては、CONTRIBUTING.mdを参照してください。

サポート

バグを見つけた場合、機能リクエストがある場合、または一般的なヘルプが必要な場合は、GitHubでissueを開くか、[email protected]まで直接お問い合わせください。

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています - 詳細はLICENSEファイルを参照してください。

ツールをダウンロード