概要

Osintgramは、Instagramの公開プロフィール情報を自動収集・分析するOSINT(オープンソースインテリジェンス)ツールです。ターゲットユーザーのフォロワー、フォロー中ユーザー、投稿履歴、ハッシュタグなどを体系的に抽出し、CSVやJSON形式で出力します。インシデント調査、セキュリティ研究、背景調査が必要な場面で、Instagramの膨大な公開データを手作業ではなく自動化により効率的に活用できる環境を提供します。2024年現在、GitHubのスター数は9,500超。セキュリティ研究者、ジャーナリスト、法執行機関など、データドリブンな情報収集を必要とする現場で採用が広がっています。セキュリティツール全般についてはHackerAIも参照されたい。

Osintgramとは — Instagram OSINTツールの機能と注意点

「osintgram」で情報を探している読者が最初に押さえたいのは、「Osintgramは具体的に何ができるツールで、利用上どのような注意点があるのか」という点だ。Osintgram(GitHub: Datalux/Osintgram)はPython製のOSINT(Open Source INTelligence)ツールで、Instagram上の公開プロフィール情報のみを自動収集・分析する。2024年時点でGitHubスター数は9,500を超え、セキュリティ研究者・ジャーナリスト・法執行機関で採用が広がっている代表的なInstagram OSINTツールだ。

Osintgramが取得可能な公開データは、インタラクティブシェルから下記のコマンドで指定する。

# 対話型シェルで起動(メニューから選択)
python3 main.py <target_username>

# 非対話モードで直接実行
python3 osintgram.py <target_username> -f   # フォロワー一覧取得
python3 osintgram.py <target_username> -p   # 投稿情報取得
python3 osintgram.py <target_username> -c   # コメント取得
python3 osintgram.py <target_username> --json --output ./result

Osintgramを扱ううえでの注意点は主に4つある。

注意点 内容
認証要件 Instagramアカウントでのログインが必須。2段階認証は無効化推奨
利用規約 Instagramの公式API経由ではなく、非公式ライブラリ(Instagrapi等)経由でスクレイピングするため、Instagramの利用規約違反となるリスクがある
アカウント凍結リスク 短時間に大量リクエストを送ると、使用中のInstagramアカウントが一時停止・凍結される可能性
法的リスク 対象国・地域の個人情報保護法、ストーキング規制法に抵触する使い方は禁止。GDPR・日本の個人情報保護法の範囲を必ず確認する

対象データは公開プロフィールに限定されており、非公開アカウントや限定共有コンテンツは取得対象外だ。正当な用途(セキュリティ研究・脅威インテリジェンス・コンプライアンス調査等)で使う際も、Instagram利用規約と現地法令の遵守が大前提になる。

主な機能

  • プロフィール情報自動抽出:ユーザー名、フォロワー数、プロフィール説明、プロフィール画像URLなど、アカウント基本情報を一括取得します。
  • フォロワー・フォロイー分析:ターゲットアカウントのフォロワーリストおよびフォロー中ユーザーリストを完全に列挙し、関係図を構築できます。
  • 投稿履歴の時系列収集:キャプション、いいね数、コメント数、投稿日時といったメタデータを含む投稿情報を全件取得します。
  • ハッシュタグマイニング:投稿に付与されたハッシュタグを抽出し、特定テーマに関連するコンテンツの検出や流行トピック分析に活用できます。
  • ロケーション情報抽出:投稿に紐付けられた地理情報タグを抽出し、ユーザーの行動範囲や滞在地域を可視化します。
  • コメント・相互作用分析:投稿へのコメント内容とコメント者を取得し、ユーザーの対外的な接点ネットワークを構築できます。
  • CSV・JSON出力:収集したデータをCSVまたはJSON形式でエクスポートし、外部ツール(データベース、分析ツール、GIS)との連携を実現します。

技術スタック

  • 開発言語:Python 3.6以上
  • 主要ライブラリ:Requests、BeautifulSoup4、Selenium(ブラウザ自動化オプション)、Instagrapi(非公式Instagram API)
  • データ形式:JSON、CSV
  • 実行環境:Linux、macOS、Windows(WSL推奨)
  • 認証方式:Instagramアカウント認証(ユーザー名・パスワード)
  • 依存ツール:Python pip、Git

導入方法

前提環境:Python 3.6以上がインストール済みであることを確認します。

ステップ1:リポジトリのクローン

git clone https://github.com/Datalux/Osintgram.git
cd Osintgram

ステップ2:依存パッケージのインストール

pip install -r requirements.txt

ステップ3:基本的な使用方法

python3 osintgram.py <target_username>

対話形式のメニューが起動し、収集対象を選択できます。単一オプションで実行する場合:

python3 osintgram.py <target_username> -f  # フォロワー取得
python3 osintgram.py <target_username> -p  # 投稿情報取得
python3 osintgram.py <target_username> -c  # コメント取得

ステップ4:認証設定

初回実行時、Instagramアカウントのログイン認証を求められます。有効なInstagramアカウント(2段階認証を無効化推奨)でログインしてください。

競合比較

項目 Osintgram Instagrapi Social-Bearing
主な用途 包括的なデータ自動収集・分析 Instagram API直結の軽量利用 リアルタイム統計・トレンド分析
対応プラットフォーム Instagram単一 Instagram単一 Instagram・Twitter・YouTube等
取得データ プロフィール・投稿・フォロワー・コメント・ロケーション 投稿・ストーリー・メッセージ フォロワー増減率・エンゲージメント率
学習曲線 初心者向け(対話型UI) 開発者向け(API直結) Webブラウザ(プログラミング不要)
出力形式 CSV・JSON 自由度高(コード記述) CSV・グラフ表示

Osintgramは汎用的なデータ収集に特化し、対話型インターフェースで初心者でも操作できるため、調査・研究用途に向きます。Instrapiraはプログラマー向けの低レベルAPI、Social-Bearingはブラウザベースで統計情報に特化しており、用途によって使い分ける構造です。Osintgramは「生データを大量に取得してから自分たちで分析したい」というニーズに応え、外部ツールとの連携が容易な点が差別化要因となります。収集したデータの定期処理パイプラインを構築するならApache Airflowとの組み合わせが有効です。また、Webブラウザ上での情報収集を自動化する場合はBrowser Useも検討に値します。

こんな人におすすめ

  • セキュリティ研究者・ペネトレーションテスター:ソーシャルメディアを通じたターゲット分析や脅威インテリジェンス収集に、公開データのみを用いた調査基盤を構築できます。
  • ジャーナリスト・調査報道メディア:疑わしいアカウントやキャンペーンの全体像を把握するため、フォロワー構成や投稿パターンを定量的に検証できます。
  • 法執行機関・コンプライアンス担当者:容疑者関連アカウントの活動履歴や関係者ネットワークを証拠として記録・保存でき、事件捜査や不正調査の初期段階を効率化します。
  • マーケティング・競合分析担当者:競合アカウントのフォロワー属性、投稿内容、エンゲージメント傾向を自動抽出し、市場戦略の基礎データとして活用できます。
  • 学生・セキュリティ教育機関:OSINT手法の実践的理解を進める教材として、Instagramの公開データを通じたデータ抽出・分析スキルを習得できます。