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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Octopii — AI搭載の個人識別情報(PII)スキャナー。 | Kitploit
ツール/GitHubGitHub/redhuntlabs/octopii
OSINT (オープンソースインテリジェンス)データ流出情報収集プライバシー機械学習
GitHubredhuntlabs/octopii

Octopii

AI搭載の個人識別情報(PII)スキャナー。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

Octopii

root@kitploit:~
⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀       
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀

⠀⠀⠀⠀⠀⠀      ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited

Octopii は、光学式文字認識(OCR)、正規表現リスト、自然言語処理(NLP)を使用して、画像、PDF、文書内の政府発行ID、住所、メールアドレスなどの個人識別情報(PII)を公開されている場所から検索するツールです。

PII の漏洩は、サイバーセキュリティの分野でしばしば見落とされがちです。RedHunt Labs では、組織やサービスが必要とするサイバーセキュリティソリューションを、常に独創的かつ革新的な方法で提供することに取り組んでいます。私たちは、サーバーの設定が誤っている組織に数多く遭遇してきました。その結果、従業員や顧客の PII が常に漏洩し、悪意のある者にその出身地、ID番号、連絡先、所在地に関する機密情報が渡ってしまうのです。

そこで私たちは、PII の漏洩や機密文書がインターネット上でいかに簡単に自動発見・抽出されるかを示し、検出するためのツール、Octopii を開発しました。

使用方法

依存関係のインストール

  1. pip install -r requirements.txt ですべての依存関係をインストールします。
  2. Ubuntu の場合は sudo apt install tesseract-ocr -y、Arch Linux の場合は sudo pacman -Syu tesseract で Tesseract ヘルパーをローカルにインストールします。
  3. python -m spacy download en_core_web_sm で Spacy の言語定義をローカルにインストールします。

上記をインストールすれば準備完了です。

実行

Octopii を実行するには、次のように入力します。

root@kitploit:~
python3 octopii.py <スキャンする場所>

ここで <スキャンする場所> はファイルまたはディレクトリです。

Octopii は現在、ファイルシステムパス、S3 URL、Apache のオープンディレクトリリスティングによるローカルスキャンをサポートしています。個々の画像URLやファイルを引数として指定することもできます。

例

テスト用のサンプル PII を含む dummy-pii/ フォルダを用意しました。これを引数として渡すと、次のような出力が得られます。

root@kitploit:~
owais@artemis ~ $ python3 octopii.py dummy-pii/

Searching for PII in dummy-pii/dummy-drivers-license-nebraska-us.jpg
{
    "file_path": "dummy-pii/dummy-drivers-license-nebraska-us.jpg",
    "pii_class": "Nebraska Driver's License",
    "country_of_origin": "United States",
    "faces": 1,
    "identifiers": [],
    "emails": [],
    "phone_numbers": [
        "4000002170"
    ],
    "addresses": [
        "Nebraska"
    ]
}

Searching for PII in dummy-pii/dummy-PAN-India.jpg
{
    "file_path": "dummy-pii/dummy-PAN-India.jpg",
    "pii_class": "Permanent Account Number",
    "country_of_origin": "India",
    "faces": 0,
    "identifiers": [],
    "emails": [],
    "phone_numbers": [],
    "addresses": [
        "INDIA"
    ]
}

...

output.txt というファイルが作成され、ツールの出力が保存されます。このファイルにはリアルタイムで順次追記されます。

動作原理

Octopii は、Tesseract による光学式文字認識(OCR)と NLTK による自然言語処理(NLP)を使用して、個人識別情報の文字列を検出します。これは以下の手順で行われます。

1. 入力とインポート

Octopii は画像(jpg、png)と文書(pdf、doc、txt など)をスキャンします。3つのソースをサポートしています。

  1. Amazon Simple Storage Service (S3): S3 コンテナの URL から XML を走査します。
  2. オープンディレクトリリスティング: Apache のオープンディレクトリリスティングを走査し、ファイルをスキャンします。
  3. ローカルファイルシステム: UNIX 系ファイルシステム(macOS および Linux ベースの OS)内のファイルやフォルダにアクセスできます。

画像は Python Imaging Library (PIL) で検出され、OpenCV で開かれます。PDF は画像のリストに変換され、OCR でスキャンされます。テキストベースのファイルタイプは文字列として読み込まれ、OCR なしでスキャンされます。

2. 顔検出

「Haar cascade」として知られる二値分類画像検出技術を使用して、画像内の顔を検出します。このリポジトリには、OpenCV が使用するカスケードデータを含む、事前学習済みのカスケードモデルが同梱されています。同一の PII 画像内で複数の顔を検出でき、検出された顔の数が返されます。

3. 画像のクリーニングとテキストの読み取り

画像は、以下の画像変換手順でテキスト抽出のために「クリーニング」されます。

  1. 自動回転
  2. グレースケール化
  3. モノクロ化
  4. 平均値閾値処理
  5. ガウス閾値処理
  6. 3回の傾き補正(Deskewing)

画像フィルタリングの図

これらの手順では画像データ(写真の色を含む)が削除されるため、この画像クリーニング処理は顔検出の後に行われます。

4. 光学式文字認識(OCR)

Tesseract を使用して、画像/ファイルからテキスト文字列をすべて取得します。その後、改行文字('\n')とスペース(' ')で分割され、文字列のリストにトークン化されます。null 文字列や単一文字などの文字化けしたテキストはこのリストから破棄され、潜在的な単語の「理解可能な」リストが生成されます。

この単語リストは類似性チェッカー関数に渡されます。この関数は Gestalt パターンマッチングを使用して、PII 文書から抽出された各単語を definitions.json に含まれるキーワードリストと比較します。このチェックはクリーニングごとに1回行われます。キーワードリストからの単語が出現する回数がカウントされ、これが信頼度スコアの算出に使用されます。特定の定義のキーワードがこれらのスキャンで繰り返し出現すると、その定義が最高スコアを獲得し、予測された PII クラスとして選択されます。

Octopii はまた、正規表現を使用して、電子メール、電話番号、一般的な政府発行 ID の一意の識別子などの機密性の高い PII 部分文字列もチェックします。自然言語処理を使用して、住所や国などの地理位置情報データを抽出することもできます。

4. 出力

出力は以下の内容で構成されます。

  • file_path: PII を含むファイルの場所
  • pii_class: このファイルに含まれる PII の種類
  • country_of_origin: この PII の発祥国
  • identifiers: PII に記載された個人を特定するために使用される可能性のある一意の識別子、コード、または番号
  • emails および phone_numbers: ファイル内の連絡先情報
  • addresses: PII 内の地理位置情報データ。個人の位置を特定するために使用される可能性があります。

貢献について

Octopii への貢献方法については、こちら をクリックしてお読みください。


クレジット

  • BeautifulSoup
  • Tesseract
  • SciKit
  • OpenCV および Python Image Library
  • Spaces - DigitalOcean

...その他多数

免責事項

このツールは研究および教育目的のみを意図しています。RedHunt Labs および本プロジェクトへの他の貢献者は、このツールの悪用について一切の責任を負いません。

ライセンス

MIT License

Copyright © 2023 RedHunt Labs Private Limited.

作成者: Owais Shaikh

  • 仕事用: [email protected]
  • 個人用: [email protected]
ツールをダウンロード