apify-osint-threat-intel について
apify-osint-threat-intel は、Apify actors のライブデータを使って最新のセキュリティ脅威を調査するエージェントスキルです。脆弱性、情報漏えい、脅威アクター、セキュリティニュースの検索を案内し、出典と日付を付けた評価を作成します。
主な機能
- 01ライブ脅威情報ソースを検索
- 02CVE と漏えい情報を調査
- 03脅威アクターと活動を分析
- 04深刻度別に調査結果を分類
- 05出典と日付付きのレポートを作成
活用シーン
- 01ドメインの漏えい情報を確認
- 02CVE の悪用状況を評価
- 03脅威アクターの活動を調査
- 04セキュリティニュースの概要を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ apify/ awesome-skills --skill apify-osint-threat-intelインストール後、Claude Code で/apify-osint-threat-intelを入力して読み込まれたか確認します。
詳細
OSINT 脅威インテリジェンス
Apify アクターを介した最新の脅威データに基づくリアルタイムのセキュリティインテリジェンスです。 セキュリティに関する質問には、学習データだけを根拠に回答しないでください。 CVE、情報漏えい、脅威アクターの活動状況は日々変化します。必ず最初に最新データを収集し、その後に分析してください。
前提条件
- Apify CLI v1.5.0 以降:
npm i -g apify-cli - 認証済みであること:
apify loginまたはexport APIFY_TOKEN=your_token - トークン:https://console.apify.com/settings/integrations
CLI のルール(必ず守ってください)
すべての apify CLI 呼び出しで、必ず --user-agent apify-awesome-skills/apify-osint-threat-intel を指定してください。テレメトリに不可欠なため、省略しないでください。
apify actors call "ACTOR_ID" -i 'INPUT_JSON' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
apify datasets get-items DATASET_ID --format json --user-agent apify-awesome-skills/apify-osint-threat-intel > /tmp/results.json 2>/dev/null
jq '.[] | "\(.field1) | \(.field2)"' /tmp/results.json
apify actors info "ACTOR_ID" --input --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null # check schema
アクターのルーティング表
| 必要なデータ | アクター ID | 備考 |
|---|---|---|
| CVE の検索 | apify/google-search-scraper | クエリ:site:nvd.nist.gov [product] [version] |
| NVD の完全なレコード | apify/website-content-crawler | URL:nvd.nist.gov/vuln/detail/CVE-XXXX-XXXXX |
| CISA の悪用が確認された脆弱性 | apify/rag-web-browser | URL:cisa.gov/known-exploited-vulnerabilities-catalog |
| GitHub のアドバイザリ | apify/rag-web-browser | URL:github.com/advisories?query=[product] |
| Exploit-DB の検索 | apify/google-search-scraper | クエリ:site:exploit-db.com [product] [version] |
| セキュリティニュース | data_xplorer/google-news-scraper-fast | キーワード:"[target]" vulnerability OR exploit OR breach |
| Reddit の脅威に関する議論 | harshmaur/reddit-scraper | searchTerms と withinCommunity を指定します。1 回の実行につきサブレディットは 1 つです(netsec を指定し、次に cybersecurity を指定して 2 回目を実行します)。netsec OR cybersecurity のような値を指定すると、フィルターが暗黙のうちに無効になり、Reddit 全体が検索されます。最新情報を得るため、必ず postedAfter(YYYY-MM-DD)を設定してください。searchTime は適用されず、アクターは上限件数を数年前の投稿で埋めます。従量課金:1 回の実行につき $0.02 + 1 件の投稿につき $0.002。maxPostsCount は検索語ごとに適用されます。 |
| 脅威インテリジェンスに関する Twitter/X の投稿 | apidojo/tweet-scraper | キーワード:#threatintel [target]、検索モード |
| 情報漏えいに関する言及の検索 | apify/google-search-scraper | クエリ:"[domain]" site:pastebin.com OR intext:breach |
| ベンダーのセキュリティアドバイザリ | apify/website-content-crawler | ベンダーのセキュリティページの直接 URL |
| Shodan の露出情報の手掛かり | apify/google-search-scraper | クエリ:site:shodan.io "[domain OR org name]" |
| 脅威アクターの調査 | apify/rag-web-browser | MITRE ATT&CK:attack.mitre.org/groups/ |
速度を優先し、website-content-crawler よりも apify/google-search-scraper と apify/rag-web-browser を優先してください。
ページ本文全体が必要な場合(NVD の詳細やベンダーのアドバイザリなど)に限り、website-content-crawler を使用してください。
次のサイトでは website-content-crawler を使用しないでください:reddit.com、twitter.com、pastebin.com、linkedin.com。
基本的なワークフロー
ステップ 0 — 実行前に範囲を確認する
ユーザーに次の項目を確認します。
- 対象の種類:ドメイン、IP、ソフトウェア/バージョン、CVE ID、脅威アクター名、またはキーワードですか?
- 目的:1 回限りの検索ですか、それとも継続的な監視レポートですか?
- 自律性:完全自動で進めますか、それともアクターを呼び出すたびに確認しますか?
ステップ 1 — モジュールを特定する
| ユーザーの依頼 | モジュール | 手順 |
|---|---|---|
| 「[product] の CVE を検索して」 | CVE インテリジェンス | 2a |
| 「[domain] で情報漏えい/露出があったか」 | ドメイン脅威プロファイル | 2b |
| 「[threat actor / malware] を調査して」 | 脅威アクタープロファイル | 2c |
| 「[topic] に関するセキュリティニュース」 | セキュリティニュース概要 | 2d |
| 「[company] の攻撃対象領域」 | 攻撃対象領域の探索 | 2b + 2d |
| 「[target] の包括的な脅威レポート」 | マルチモジュール | 2a + 2b + 2c + 2d |
ステップ 2a — CVE インテリジェンス
製品またはバージョンの最新の CVE データを収集します。
# 1. Search NVD via Google
apify actors call "apify/google-search-scraper" -i '{
"queries": "site:nvd.nist.gov CVE [PRODUCT] [VERSION]",
"maxPagesPerQuery": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 2. Pull full NVD record for each CVE ID found
apify actors call "apify/website-content-crawler" -i '{
"startUrls": [{"url": "https://nvd.nist.gov/vuln/detail/CVE-XXXX-XXXXX"}],
"proxyConfiguration": {"useApifyProxy": true},
"maxCrawlPages": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 3. Check if CVE is in CISA's Known Exploited Vulnerabilities list
apify actors call "apify/rag-web-browser" -i '{
"query": "[CVE-ID] site:cisa.gov/known-exploited-vulnerabilities-catalog",
"maxResults": 3
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 4. Check Exploit-DB for public PoC
apify actors call "apify/google-search-scraper" -i '{
"queries": "site:exploit-db.com [PRODUCT] [VERSION]",
"maxPagesPerQuery": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
次の項目を統合します:深刻度(CVSS)、悪用可能性(CISA KEV への掲載=実際に悪用中)、公開 PoC の有無(はい/いいえ)、パッチの有無(はい/いいえ)。
ステップ 2b — ドメイン脅威プロファイル
# 1. Search for breach mentions
apify actors call "apify/google-search-scraper" -i '{
"queries": "\"[DOMAIN]\" breach OR leak OR hacked OR \"data exposed\"",
"maxPagesPerQuery": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 2. Check paste sites for credential leaks
apify actors call "apify/google-search-scraper" -i '{
"queries": "\"[DOMAIN]\" site:pastebin.com OR site:ghostbin.com OR site:rentry.co",
"maxPagesPerQuery": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 3. Check Shodan exposure hints via Google
apify actors call "apify/google-search-scraper" -i '{
"queries": "site:shodan.io \"[DOMAIN OR ORG]\"",
"maxPagesPerQuery": 1
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 4. Scan r/netsec for mentions — one subreddit per run; repeat with "withinCommunity": "cybersecurity"
# postedAfter = today minus 365 days (YYYY-MM-DD). 3 terms × 5 posts = 15 posts ≈ $0.05.
# Use `postUrl` as the Source and `createdAt` for the date stamp.
apify actors call "harshmaur/reddit-scraper" -i '{
"searchTerms": ["[DOMAIN] breach", "[DOMAIN] hack", "[DOMAIN] vulnerability"],
"withinCommunity": "netsec",
"postedAfter": "[YYYY-MM-DD]",
"maxPostsCount": 5,
"crawlCommentsPerPost": false
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
ステップ 2c — 脅威アクタープロファイル
# 1. MITRE ATT&CK lookup
apify actors call "apify/rag-web-browser" -i '{
"query": "[THREAT ACTOR NAME] site:attack.mitre.org",
"maxResults": 3
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 2. Recent activity via news
apify actors call "data_xplorer/google-news-scraper-fast" -i '{
"keywords": ["[THREAT ACTOR NAME] attack OR campaign OR malware"],
"timeframe": "30d",
"maxArticles": 15
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 3. Community threat intel on Twitter/X
apify actors call "apidojo/tweet-scraper" -i '{
"searchTerms": ["#threatintel [THREAT ACTOR]", "[THREAT ACTOR] TTPs"],
"maxItems": 20,
"sort": "Latest"
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 4. Reddit discussion — postedAfter = today minus 365 days; `createdAt` of the newest post = "Last seen"
apify actors call "harshmaur/reddit-scraper" -i '{
"searchTerms": ["[THREAT ACTOR NAME]"],
"withinCommunity": "netsec",
"postedAfter": "[YYYY-MM-DD]",
"maxPostsCount": 10,
"crawlCommentsPerPost": false
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
ステップ 2d — セキュリティニュース概要
# 1. Google News for topic
apify actors call "data_xplorer/google-news-scraper-fast" -i '{
"keywords": ["[TOPIC] vulnerability OR CVE OR breach OR exploit"],
"timeframe": "7d",
"maxArticles": 20
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
# 2. Reddit r/netsec latest — sort goes into the URL (/new/); `searchSort` does not apply to startUrls
apify actors call "harshmaur/reddit-scraper" -i '{
"startUrls": [{"url": "https://www.reddit.com/r/netsec/new/"}],
"maxPostsCount": 15,
"crawlCommentsPerPost": false
}' --user-agent apify-awesome-skills/apify-osint-threat-intel --json 2>/dev/null
ステップ 3 — トリアージと評価
各調査結果に、以下の分類を適用します。
| 重大度 | 基準 |
|---|---|
| Critical | CVSS ≥ 9.0、または CISA KEV リストに掲載、または公開 PoC があり未修正 |
| High | CVSS 7.0–8.9、またはニュースで実際の悪用が報告されている |
| Medium | CVSS 4.0–6.9、または実際の悪用を伴わない侵害への言及 |
| Low | CVSS < 4.0、または過去のもので、修正済みかつ実際の悪用がない |
| Informational | 脆弱性が確認されていない露出の兆候 |
ステップ 4 — 構造化レポートを提出
出力形式:
## Threat Intelligence Report — [TARGET]
Date: [today]
### Executive Summary
[2–3 sentence risk verdict]
### Critical Findings
- [CVE/Finding] — Severity: [X] — Status: [Patched/Unpatched/Active exploit]
Source: [URL]
### Breach/Exposure Indicators
- [Finding] — Source: [URL]
### Threat Actor Activity (if applicable)
- [Actor] — TTPs: [list] — Last seen: [date]
### Recommended Actions
1. [Immediate action]
2. [Short-term action]
3. [Monitoring recommendation]
### Data Sources
[Bullet list of all URLs cited]
データ品質ルール
- すべての主張に出典 URL が必要です — 根拠のない主張は避けてください
- 結果が空でも情報になります — 「ペーストへの言及は見つかりませんでした」など、明示的に報告してください
- すべての調査結果に日付を記載してください — CVE の重大度、パッチの状態、侵害報告は時間とともに変化します
- 信頼度の区分:
[Confirmed]— 一次情報源(NVD、CISA、ベンダーのアドバイザリ)[Reported]— ニュースとコミュニティで裏付けあり[Unverified]— 二次情報源が 1 件のみ。明確にその旨を示してください
- 独立したアクター呼び出しは並列化してください(CVE 検索、ニュース、Reddit は同時に実行できます。2 つの Reddit 実行(
netsec、cybersecurity)も同様です) - 予算:アクター呼び出しが 10 回を超える場合はユーザーに警告し、続行前に承認を得てください
トラブルシューティング
| 問題 | 対処方法 |
|---|---|
google-search-scraper が 0 件の結果を返す | クエリを簡潔にし、site: フィルターを外して、より広い用語を試してください |
website-content-crawler が NVD でタイムアウトする | 直接 CVE URL を指定し、フォールバックとして rag-web-browser を使用してください |
harshmaur/reddit-scraper が 0 件の項目を返す、または無関係なサブレディットの投稿を返す | 実行のキーバリューストアにある RUN-SUMMARY レコードを確認してください。inputWarnings には withinCommunity が削除された場合(名前が複数ある場合)や、日付を解析できなかった場合の理由が示され、emptyReason には項目が 0 件である理由が説明されています。検索語を短くしてください(Reddit 検索は文字列をそのまま検索します)。フォールバックとして、{"subredditName": "netsec", "subredditKeywords": ["[TERM]"], "subredditTimeframe": "month", "maxPosts": 10} を指定して fatihtahta/reddit-scraper-search-fast を使用してください(投稿あたり $0.00149、開始料金なし。フィールドは title、url、subreddit、created_utc、score、num_comments) |
tweet-scraper の結果が少ない | #cybersecurity [term] のように対象を広げるか、ハッシュタグ必須の条件を外してください |
| CISA KEV ページが大きすぎてクロールできない | 特定の CVE ID をクエリとして rag-web-browser を使用してください |
プロンプトの例
- 「example.com に既知の脆弱性があるか、最近の侵害データに掲載されているか確認してください。」
- 「CVE-2026-1234 に関する最新の脅威インテリジェンスは何ですか。実際に悪用されていますか?」
- 「APT28 グループのプロファイルを作成してください。最近のキャンペーン、TTP、インフラストラクチャを調べてください。」
対象範囲: このスキルでは、組織、インフラストラクチャ、および名前が挙げられた脅威 グループ を調査します。個人のクロスプラットフォームプロファイルは作成しません。