Threat Intelligence & CTI について
Threat Intelligence & CTI は、生のセキュリティ観測情報を構造化された実用的なインテリジェンスにする Claude スキルです。IOC 処理、分析モデル、確信度評価、脅威アクターの追跡、機械可読・人間可読形式での共有を扱います。
主な機能
- 01IOC の抽出、正規化、エンリッチメント
- 02脅威モデルを用いた分析の構成
- 03情報源の信頼性と評価の確信度判定
- 04脅威アクターとキャンペーンの追跡
- 05STIX または MISP 形式での出力
活用シーン
- 01インシデント報告内の指標を正規化
- 02取り込み用の STIX バンドルを準備
- 03アトリビューション評価の確信度を判定
- 04防御担当者や経営層向けの情報成果物を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ masriyan/ claude-code-cybersecurity-skill --skill threat-intelligence-&-ctiインストール後、Claude Code で/threat-intelligence-&-ctiを入力して読み込まれたか確認します。
同梱ファイルexamples/example_usage.mdscripts/cti_processor.py
詳細
脅威インテリジェンスとCTI
目的
Claude が生の観測情報を完成されたインテリジェンス、つまり防御担当者が行動に移せ、意思決定者が信頼できる評価へと変換できるようにします。このスキルは、要件の設定、指標の収集と正規化、構造化分析モデルの適用、情報源の評価と確信度の判定、アクターやキャンペーンの追跡、機械可読形式(STIX/MISP)および人が読める形式(レポート)での配布まで、インテリジェンスサイクル全体を扱います。
これはスキル06(脅威ハンティング)とは異なります。脅威ハンティングではインテリジェンスを活用して環境内の敵対者の活動を探しますが、このスキルではインテリジェンスそのものを作成し、管理します。また、スキル05(マルウェア分析)とも異なります。マルウェア分析では技術的な事実を明らかにし、このスキルではそれらの事実に文脈を与えて配布します。
起動条件
次のような依頼があった場合、このスキルが起動します。
- レポート、メール、フィードからIOCを抽出、無害化/再有効化、正規化、重複排除する
- STIX 2.1バンドル、MISPイベント、またはTAXIIで提供可能な指標セットを作成する
- 情報源の信頼性や評価の確信度を判定する(Admiralty/NATOコード、確率の推定表現)
- Diamond Model、Cyber Kill Chain、MITRE ATT&CKを適用して侵入を構造化する
- 脅威アクター/キャンペーンを追跡またはクラスタリングする、あるいは帰属について推論する
- 戦術、作戦、または戦略レベルの脅威インテリジェンスレポートやインテリジェンス評価書を作成する
- 優先インテリジェンス要件(PIR)を設定する、または収集計画を作成する
- TLPのマーキング、インテリジェンスの配布、フィードの経年劣化/減衰、誤検知の抑制を行う
- 指標をエンリッチする(WHOIS/パッシブDNS/レピュテーション)、または1つの指標を起点に関連インフラをピボット検索する
前提条件
python3 --version # 3.10+; standard library only for the core script
pip install requests # optional — only for --enrich (live reputation/WHOIS lookups)
任意の拡張ツール:
misp/ PyMISP — MISPインスタンスでのイベント作成と共有stix2/taxii2-client(OASIS) — より豊富なSTIXオブジェクトのモデリングとTAXIIによるプッシュ/プルopencti— アクター/キャンペーンのナレッジグラフを管理するCTIプラットフォーム- エンリッチメント用のパッシブDNS/レピュテーションプロバイダー(VirusTotal、Shodan、GreyNoise、urlscan)
稼働中のマルウェアと指標の取り扱い: サンプルハッシュ、稼働中のC2ドメイン、ペイロードURLは敵対的なものとして扱ってください。文章中では無害化した状態(
hxxp://、evil[.]com)を維持し、本番ホストから解決や取得を行わず、配布前にTLPで共有範囲を明示してください。
主な機能
1. インテリジェンスサイクルと要件
すべてのタスクをサイクルの該当段階に位置付け、要件の設定を決して省略しないでください。
- 方向付け — 優先インテリジェンス要件(PIR)を設定します。適切なPIRとは、「脅威について教えてください」ではなく、利用者と期限が明確で、意思決定に関係する問いです(例:「今四半期、当セクターのERP環境を積極的に標的とするランサムウェアグループはどれか?」)。
- 収集 — 各PIRを具体的な情報源(内部テレメトリ、OSINT、商用フィード、ISAC/共有コミュニティ)に対応付け、収集の空白を明示します。
- 処理 — 生データを正規化、無害化、重複排除、翻訳、構造化します(§2を参照)。
- 分析 — 構造化モデル(§3)と推定表現(§4)を適用し、観測と評価を分けます。
- 配布 — 利用者が活用できる形式で提供します(§5)。機械向けにはSTIX、経営層向けにはブリーフ、SOC向けには検知ルールを用います。
- フィードバック — 成果物がPIRに回答できたかを確認し、改善します。
成果物を作成する前に、依頼がどの段階に該当するか、また該当するPIRは何かを明示してください。
2. IOC の抽出、正規化、エンリッチメント
ユーザーがレポート、メール、またはブロブを提供し、インジケーターを求めた場合:
- 抽出 — IPv4/IPv6、ドメイン、URL、メールアドレス、ファイルハッシュ(MD5/SHA1/SHA256)、CVE ID、ASN、レジストリキー、ミューテックス、Bitcoin/暗号資産アドレス。
- Refang してから一貫して再 defang —
hxxp、[.]、(dot)、[at]、\.を受け入れ、内部的に正規化し、本文中では常に defang した形で出力し、クリーンな値は構造化フィールド/引用フィールド内でのみ使用します。 - 正規化 — ドメインを小文字化し、無関係な URL フラグメントやデフォルトポートを除去し、アルゴリズムごとにハッシュ長を検証し、明白なノイズ(RFC 1918/ループバック/
example.com/ドキュメント用レンジ)は、ユーザーが保持を求めた場合を除き除外します。 - 重複排除と型付け — 各インジケーターに first/last seen、由来するレポート、対応する kill-chain フェーズ、信頼度といったコンテキストを付与します。
- エンリッチメント(任意) — WHOIS/レジストラ、パッシブ DNS、ASN/地理情報、レピュテーション、および関係性(このドメインはあの IP に解決する、あの IP はこれらの他のドメインをホストしている)によりピボットを可能にします。
- 自動化可能な抽出/defang/正規化/重複排除/STIX エクスポートの各ステップには
scripts/cti_processor.pyを使用し、確認済みインジケーターとして公開する前に人間の判断を適用します。
3. 構造化分析モデル
問いに合ったモデルを選び、それらを代替案として扱うのではなく重ねて使用します:
- Diamond Model — 単一の侵入イベントについて、4 つの頂点(adversary、capability、infrastructure、victim)とメタ特性(timestamp、phase、result、direction、methodology)を埋めます。頂点をまたいでピボットし知識を拡張します(ある capability からそれを届けた infrastructure へ、など)。
- Cyber Kill Chain(Lockheed Martin) — 観測された活動を Recon → Weaponization → Delivery → Exploitation → Installation → C2 → Actions on Objectives の順に並べます。検知は早いほど安価であり、検知機会のある最も早いフェーズを記録します。
- MITRE ATT&CK — 観測された各挙動を technique/sub-technique ID と tactic にマッピングします。これは Skills 06、12、15、22 への引き継ぎに用いられる共通言語です。
- Analysis of Competing Hypotheses(ACH) — 帰属や意図が争われている場合、仮説を列挙し、証拠をリストアップし、各仮説をどれだけ反証するか(診断的証拠)で証拠を採点します。自分のお気に入りをどれだけ裏付けるかではありません。
4. ソースと信頼度のスコアリング
ソースをどれだけ信頼するかと主張をどれだけ信頼するかを分離し、両方を明示します:
- Admiralty / NATO のソース信頼性コード — 信頼性
A–F(Reliable → Cannot be judged)× 情報の信憑性1–6(Confirmed → Cannot be judged)。例えばB2のように報告します。 - 推定確率を表す言葉 — 較正された表現(「almost certainly」「likely」「roughly even chance」「unlikely」)を用い、有用な場合は明示的なパーセンテージ帯を示します。「could」を「will」の代わりに偽装させてはなりません。
- 各評価に対する信頼度(low/medium/high)を、その根拠(ソース数、裏付け、分析的仮定)を明示して付します。
- 仮定と情報ギャップはインラインで指摘します。明示されない仮定は CTI における最も一般的な失敗モードです。
5. アクターとキャンペーンの追跡、および帰属の規律
- まずTTPでクラスタリングし、名前は後から付けます。 公開されているアクター名を使う前に、共通のインフラ、ツール、行動に基づいて、名前のない活動クラスター(UNC形式)に活動をグループ化します。
- 帰属は判定ではなく、段階的なものです。 技術的な帰属(このクラスターがこれを行った)、アクターへの帰属(この名前付きグループが行った)、国家/支援元への帰属(最も困難で、最も重大なもの)を区別します。各段階について、確信度と証拠の分類を示します。
- 重複と偽装に注意してください — ツールの共有、一般的なマルウェア、意図的な偽装により、単一の指標に基づく帰属の信頼性は低くなります。交換可能なインフラより、持続性のある行動TTPを重視します。
- 一貫した内部スキーマ(クラスターID、別名、関連するマルウェア、標的セクター/地域、最初/最後の活動)でキャンペーンを追跡し、ベンダーごとの命名における別名を対応付けます(MISPのギャラクシーが役立ちます)。
6. 本番運用、共有、およびフィードの衛生管理
- 利用者に合った成果物を選びます — 戦術的(SOC向けのIOC/検知)、運用的(防御担当者とIR向けのTTP/キャンペーン)、戦略的(リーダー層向けの傾向/リスク)。1つの入力から、異なる3種類の成果物が得られることもよくあります。
- すべての成果物にTLP 2.0のマーキング(
TLP:RED / AMBER+STRICT / AMBER / GREEN / CLEAR)を付けます — マーキングは共有に関する取り決めです。配布前に明示してください。 - 機械可読形式で共有 — 自動取り込み用にSTIX 2.1バンドル(インジケーター、リレーションシップ、マーキング定義)を出力します。コミュニティ共有にはMISPイベントを、プル/プッシュにはTAXIIを使用します。
- フィードの衛生管理 — インジケーターは時間の経過とともに有効性が低下します。経年評価/スコアリングを適用して古いインジケーターを失効させ、許可リストで誤検知が既知のインフラ(CDN、シンクホール、共有ホスティング)を除外し、トリアージしていないフィードをブロック用に直接送信してはいけません。
出力テンプレート
# Threat Intelligence Product
**Title:** [Short descriptive title]
**Date:** [YYYY-MM-DD] | **TLP:** [RED / AMBER+STRICT / AMBER / GREEN / CLEAR]
**Product type:** [Tactical / Operational / Strategic]
**PIR addressed:** [the requirement this answers]
---
## Bottom Line Up Front (BLUF)
[2–3 sentences of assessment, with an estimative-language judgment and an overall confidence level.]
## Key Assessments
- [Assessment 1] — *Confidence: [Low/Med/High]* — *Source: [Admiralty e.g. B2]*
- [Assessment 2] — ...
## Diamond / Kill Chain Summary
| Vertex / Phase | Observed |
|----------------|----------|
| Adversary | [cluster/actor + attribution confidence] |
| Capability | [malware/tooling + ATT&CK techniques] |
| Infrastructure | [C2/staging + defanged] |
| Victim | [sector/geo/asset] |
| Earliest detection opportunity | [kill-chain phase] |
## Indicators of Compromise
| Indicator (defanged) | Type | Kill-chain phase | Confidence | First seen | Source |
|----------------------|------|------------------|------------|-----------|--------|
## ATT&CK Techniques Observed
| Tactic | Technique (ID) | Evidence |
|--------|----------------|----------|
## Assumptions & Intelligence Gaps
- [Assumption / gap and how it affects confidence]
## Recommended Actions
- [Detection to deploy → Skill 12 / 15] · [Hunt to run → Skill 06] · [Emulation to validate → Skill 22]
スクリプトリファレンス
cti_processor.py
# Extract, defang, normalize, dedup IOCs from a report and print a summary
python scripts/cti_processor.py --input report.txt
# Emit a STIX 2.1 bundle and a MISP-style event
python scripts/cti_processor.py --input report.txt --stix iocs_stix.json --misp event.json
# Tag every indicator with a TLP marking and an Admiralty source score
python scripts/cti_processor.py --input report.txt --tlp AMBER --source-score B2 --output iocs.json
# Optional live enrichment (adds network calls; requires `requests`)
python scripts/cti_processor.py --input report.txt --enrich --output iocs.json
# Self-contained demonstration on a bundled sample report
python scripts/cti_processor.py --demo
IPv4/IPv6、ドメイン、URL、メールアドレス、MD5/SHA1/SHA256ハッシュ、CVE、ASN、暗号資産アドレスを抽出します。複数の形式が混在したデファングを復元し、正規化と検証を行い、プライベートアドレスや文書用のノイズを除外し、重複を削除したうえで、TLPとAdmiraltyスコアリングを含むSTIX 2.1/MISP形式のJSONとしてエクスポートします。抽出と確信度の判定はヒューリスティックに基づくため、インジケーターを確定済みとして公開する前に確認してください。
スキルの連携
| 条件 | 次のスキル |
|---|---|
| インジケーターを環境内で検索する準備ができている | → Skill 06(脅威ハンティング) |
| 報告の根拠となるマルウェアサンプルがある | → 技術的な事実を確認するためSkill 05(マルウェア分析) |
| 参照されているCVEの優先順位付けが必要 | → CVSS/EPSS/KEVを確認するためSkill 02(脆弱性スキャナー) |
| インジケーター/TTPを検知に活用する必要がある | → Skill 12(ログ分析/Sigma)およびSkill 15(ブルーチーム) |
| 評価に基づいてエミュレーションを行う必要がある | → Skill 22(パープルチーム)で、アクターのTTPを検知できるか検証します |
| CTIが攻撃活動の脅威モデルに反映される | → Skill 14(レッドチーム運用) |
| リーダー層/コンプライアンス向けの戦略的リスク評価 | → Skill 19(GRCとコンプライアンス) |
| ライブIR中にインテリジェンスが生成された | ← Skill 07(インシデント対応) |