tech-stack-teardown について
公開DNS、ウェブサイト、ブラックリスト、苦情の情報から企業の営業・マーケティング・アウトバウンド技術を調査するコマンドラインスキルです。対象企業のツールへのログインやAPIアクセスなしで、根拠を示すレポートを作成します。
主な機能
- 01DNSレコードとメール認証の確認
- 02ウェブサイトソースからツールを検出
- 03Apifyによる技術調査(任意)
- 04ドメインのブラックリスト確認
- 05公開スパム苦情の検索
- 06MarkdownまたはJSONレポート生成
活用シーン
- 01見込み企業の営業・マーケティング構成を把握
- 02メール認証と到達性のシグナルを確認
- 03複数企業ドメインの技術構成を比較
- 04アウトバウンドドメインや苦情を調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill tech-stack-teardownインストール後、Claude Code で/tech-stack-teardownを入力して読み込まれたか確認します。
同梱ファイルscripts/recon.pyskill.meta.json
詳細
テックスタックの調査
公開情報から、企業の営業、マーケティング、アウトバウンドのインフラをリバースエンジニアリングします。ログインも、各種ツールへの API アクセスも不要です。DNS レコード、ウェブサイトのソースコード、テクノロジープロファイリング、ブラックリストデータベース、公開されている苦情などからすべてを導き出します。
検出対象
| カテゴリ | 検出されるツール |
|---|---|
| CRM | HubSpot、Salesforce(SPF、ウェブサイトのピクセル、DNS 経由) |
| コールドメールツール | Smartlead、Instantly、Outreach、Salesloft、Lemlist(SPF、DKIM、TXT レコード、ウェブサイトのソース経由) |
| 人物データベース | Apollo、ZoomInfo、Clearbit、6sense(ウェブサイトのトラッカースクリプト経由) |
| メール配信 | SendGrid、Amazon SES、Postmark、Mailgun、Mandrill(SPF の include、DKIM セレクター経由) |
| メールマーケティング | Mailchimp、Brevo、ActiveCampaign、Klaviyo(DKIM セレクター経由) |
| 広告リターゲティング | LinkedIn Insight Tag、Facebook Pixel、AdRoll、Reddit Ads、Twitter Ads(Apify プロファイラーとソース経由) |
| ウェブサイトビルダー | Webflow、Framer、Next.js、WordPress(Apify プロファイラーとソース経由) |
| チャット/サポート | Intercom、Drift、Crisp、Zendesk(ウェブサイトのソース経由) |
| アナリティクス | Google Analytics、Segment、Mixpanel、Amplitude、PostHog、Heap(ウェブサイトのソース経由) |
| アウトバウンド用ドメイン | コールドメール送信用の独立ドメイン(Google Workspace の SPF のみを使用し、メインドメインへリダイレクト) |
動作の仕組み
このスキルでは、異なるシグナルを明らかにする 5 層の検出を実行します。
レイヤー 1:DNS レコード(無料、即時)
MX → Primary email provider (Google Workspace, Microsoft 365, etc.)
SPF → Every service authorized to send email on their behalf
DKIM → Cryptographic proof of which tools actually send email
DMARC → Email authentication policy (how strict they are)
TXT → Misc verifications (Smartlead tracking domains, tool verifications)
CNAME → Subdomains pointing to third-party services
最も有力なシグナルが得られるレイヤーです。SPF と DKIM に嘘はありません。SPF に SendGrid が含まれていれば、その企業は SendGrid を利用しています。
レイヤー 2:ウェブサイトのソース検査(無料、即時)
対象のウェブサイトを取得し、HTML 内を検索します。
- トラッキングピクセル(Apollo、REB2B、HubSpot、Facebook、LinkedIn)
- サードパーティツールを読み込むスクリプトタグ
- メタタグとフレームワークのシグネチャ
- 非表示のフォームハンドラーと API エンドポイント
レイヤー 3:Apify テクノロジープロファイラー(従量課金、約 $0.005/ドメイン)
justa/technology-profiling-engine アクターを実行し、信頼度スコア付きの 8 層検査で 7,000 以上のテクノロジーを詳細に検出します。ソースコードに表示されないツール(動的に読み込まれるものや、GTM 経由のものなど)も検出できます。
レイヤー 4:ブラックリスト照合(無料、即時)
主要な DNS ベースのブラックリスト 6 件を照会します。
- Spamhaus(zen.spamhaus.org)
- Barracuda(b.barracudacentral.org)
- SpamCop(bl.spamcop.net)
- SORBS(dnsbl.sorbs.net)
- SURBL(multi.surbl.org)
- URIBL(black.uribl.com)
レイヤー 5:公開されている苦情の検索(無料)
Trustpilot、Reddit、SpamCop のフォーラム、ウェブ全般を検索し、スパムに関する苦情を探します。また、企業名とツール名を組み合わせて検索し、その企業のスタックに関する公開情報も探します。
コスト
| 項目 | コスト |
|---|---|
| DNS クエリ | 無料 |
| ウェブサイトのソース取得 | 無料 |
| ブラックリスト照合 | 無料 |
| ウェブ検索 | 無料 |
| Apify テクノロジープロファイラー | 約 $0.005/ドメイン |
一般的なコスト:
| シナリオ | ドメイン数 | 推定コスト |
|---|---|---|
| 企業 1 社 | 1 | 約 $0.005 |
| 小規模バッチ | 5 | 約 $0.025 |
| 大規模バッチ | 20 | 約 $0.10 |
--no-apify を指定すると Apify プロファイラーをスキップし、無料の分析(DNS、ソース、ブラックリスト照合)のみを実行できます。
セットアップ
1. 必須
# dig (DNS lookups) — included on macOS/Linux
which dig
# curl (website source fetch) — included on macOS/Linux
which curl
# Python 3 with requests + dotenv
pip3 install requests python-dotenv
2. オプション(Apify テクノロジープロファイラー用)
# Get your token at https://console.apify.com/account/integrations
# Add to .env:
APIFY_API_TOKEN=apify_api_YOUR_TOKEN_HERE
使用方法
企業 1 社
python3 scripts/recon.py --domains pump.co
複数企業の一括処理
python3 scripts/recon.py --domains "dili.ai,pump.co,runautomat.com"
無料のみのモード(Apify なし)
python3 scripts/recon.py --domains pump.co --no-apify
ファイルへの出力
python3 scripts/recon.py --domains "dili.ai,pump.co" --output /path/to/report.md
JSON 出力
python3 scripts/recon.py --domains pump.co --json
スクリプトの処理内容
各ドメインに対して、次の処理を行います。
- DNS スキャン — MX、SPF、DKIM(一般的な 18 種類のセレクター)、DMARC、TXT レコード、および 30 以上の一般的なサブドメイン(email、tracking、click、bounce、send、smtp、mail など)を照会します
- ウェブサイトソースのスキャン — ホームページの HTML を取得し、既知のツールのシグネチャ(スクリプト URL、ピクセル ID、トラッキングドメイン)40 種類以上を検索します
- Apify テクノロジープロファイル(任意)— 7,000 種類以上のテクノロジーを対象に、信頼度スコア付きの 8 階層の詳細な検出を実行します
- ブラックリストのチェック — ドメインについて、DNS ベースの 6 つのブラックリストを照会します
- 送信ドメインの検出 — ドメインの一般的なバリエーション(get[name].com、try[name].com、[name]reach.com など)が存在するかを確認し、DNS を分析してコールドアウトバウンドのパターンを調べます
- レポートの生成 — 確認済みのツール、根拠、メール認証の評価、ブラックリストの状況、総合評価を含む構造化された Markdown レポートを生成します
エージェントとの連携
このスキルをエージェントとして使用する場合は、次の手順に従います。
- ユーザーから 1 つ以上の企業ドメインを受け取ります
- すべてのドメインについて
recon.pyを実行します(ドメインが 5 つを超える場合は、Apify の費用を確認します) - レポートを提示します。調査結果は次の項目ごとにまとめます。
- 確認済みのツール(根拠付き)
- メール認証(SPF/DKIM/DMARC の評価)
- 到達性(ブラックリストの状況とスパム苦情)
- 注目すべきシグナル(送信ドメイン、DMARC の未設定、SPF の不足)
- 複数ドメインをまとめて調査した場合は、最後に比較サマリーテーブルを含めます
スクリプトを使わないエージェント
エージェントは組み込みツールを使って、すべてのチェックを手動で実行できます。
DNS チェック — Bash ツールを使用します。
dig +short MX example.com
dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT selector._domainkey.example.com
dig +short CNAME subdomain.example.com
ウェブサイトソースのスキャン — Bash ツールを使用します。
curl -sL https://www.example.com | grep -oi 'pattern1\|pattern2\|pattern3' | sort -u
ブラックリストのチェック — Bash ツールを使用します。
dig +short example.com.zen.spamhaus.org A
Apify プロファイラー — Python で Bash ツールを使用します。
# See scripts/recon.py for the full implementation
スパム苦情 — WebSearch ツールを使用します。
"example.com" spam OR unsolicited OR "cold email" OR blacklist
DNS レコード早見表
SPF の Include → ツールの特定
| SPF Include | ツール |
|---|---|
_spf.google.com | Google Workspace |
spf.protection.outlook.com | Microsoft 365 |
sendgrid.net | SendGrid |
amazonses.com | Amazon SES |
*.hubspotemail.net | HubSpot |
*.rsgsv.net or servers.mcsv.net | Mailchimp/Mandrill |
spf.mandrillapp.com | Mandrill(Mailchimp のトランザクションメール) |
mail.zendesk.com | Zendesk |
*.freshdesk.com | Freshdesk |
spf.mailjet.com | Mailjet |
spf.brevo.com | Brevo (Sendinblue) |
_spf.salesforce.com | Salesforce |
mktomail.com | Marketo |
postmarkapp.com | Postmark |
mailgun.org | Mailgun |
DKIM セレクター → ツールの特定
| セレクターパターン | ツール |
|---|---|
google._domainkey | Google Workspace |
selector1._domainkey / selector2._domainkey | Microsoft 365 |
s1._domainkey / s2._domainkey → *.sendgrid.net | SendGrid |
k1._domainkey → *.mcsv.net or dkim.mcsv.net | Mailchimp |
k2._domainkey / k3._domainkey → dkim2.mcsv.net / dkim3.mcsv.net | Mailchimp |
mandrill._domainkey | Mandrill |
pm._domainkey | Postmark |
smtp._domainkey | 汎用 SMTP |
em._domainkey | 複数のサービス(CNAME の参照先を確認) |
TXT レコード → ツールの特定
| TXT パターン | ツール |
|---|---|
open.sleadtrack.com | Smartlead(カスタムトラッキングドメイン) |
hubspot-developer-verification=* | HubSpot |
anthropic-domain-verification-* | Anthropic (Claude) |
MS=* | Microsoft 365 |
google-site-verification=* | Google Search Console |
slack-domain-verification=* | Slack |
atlassian-domain-verification=* | Atlassian (Jira/Confluence) |
docusign=* | DocuSign |
facebook-domain-verification=* | Facebook/Meta |
_github-pages-challenge-* | GitHub Pages |
stripe-verification=* | Stripe |
Webサイトのソースパターン → ツールの特定
| HTML 内のパターン | ツール |
|---|---|
assets.apollo.io/micro/website-tracker | Apollo.io(訪問者トラッキング) |
hs-script または js.hs-scripts.com | HubSpot |
px.ads.linkedin.com | LinkedIn Insight Tag |
connect.facebook.net または fbq( | Facebook Pixel |
snap.licdn.com | LinkedIn Insight Tag |
cdn.segment.com | Segment |
cdn.mxpnl.com または mixpanel | Mixpanel |
cdn.amplitude.com | Amplitude |
app.posthog.com または posthog | PostHog |
widget.intercom.io | Intercom |
js.driftt.com | Drift |
client.crisp.chat | Crisp |
static.zdassets.com | Zendesk |
s3-us-west-2.amazonaws.com + reb2b | REB2B |
clearbit.com/tag.js または reveal | Clearbit Reveal |
6sc.co または 6sense | 6sense |
tag.demandbase.com | Demandbase |
d.adroll.com | AdRoll |
googletagmanager.com | Google Tag Manager |
gtag('config', 'G-*') | Google Analytics 4 |
コールドアウトバウンド用ドメインのパターン
コールドメールに別のドメインが使われている場合、次の特徴があります。
- Google Workspace の MX(または同様のもの)はあるが、SPF に製品/マーケティングメールツールがない
- SPF に
_spf.google.comのみが含まれている(通常のメールボックスから送信) - 会社のプライマリドメインへの 301/302 リダイレクトがある
- 独自のWebサイトコンテンツがない
- ドメイン名が次のようなパターンに従っている:[brand]reach.com、get[brand].com、try[brand].com、meet[brand].com、[brand]hq.com
DMARC 評価ガイド
| ポリシー | 意味 | 評価 |
|---|---|---|
p=reject | 認証されていないメールを拒否する | 強固 — ベストプラクティス |
p=quarantine | 認証されていないメールを迷惑メールに振り分ける | 良好 — 強制適用中 |
p=none | 監視のみで、強制適用しない | 弱い — 誰でもドメインをなりすませる |
| DMARC レコードなし | ポリシーがまったくない | 未設定 — なりすましに対して無防備 |
トラブルシューティング
「ツールが検出されない」
- 会社が創業初期で、使用しているツールが最小限である可能性があります
- 一部のツール(送信ではなく見込み客の開拓にのみ使用される Apollo など)は、DNS に痕跡を残しません
- LinkedIn Sales Navigator、Clay のエンリッチメントなどのツールは、公開シグナルを残しません
- 無料のみのモードを実行した場合は、Apify プロファイラーを試してください
「SPF には Google しかないのに Smartlead/Instantly を使っている」
- これは正常です。通常、Smartlead と Instantly は SMTP 経由で Google Workspace のメールボックスに接続し、Google 経由で送信するため、SPF は Google の include を通じてパスします。コールドメールツール自体に独自の SPF エントリーは必要ありません。
- 確認のため、TXT レコードまたはWebサイトのソースで Smartlead の
open.sleadtrack.comを探してください。
「Apify プロファイラーがタイムアウトした」
- 読み込みに時間がかかるサイトもあります。プロファイラーのタイムアウトは 3 分です。
- 1 回再試行してください。再度失敗した場合は、DNS とソースコードの分析を頼りにしてください。
「artisan.ai は解決されるが、Afternic にリダイレクトされる」
- そのドメインはパーキング中、または売り出し中です。
.co、.com、.ioなどの一般的な代替候補を確認してください。 - ワイルドカード DNS(すべてのサブドメインが同じ IP に解決される)は、パーキング中のドメインである兆候です。