关于 tech-stack-teardown
这项命令行 skill 根据公开的 DNS、网站、黑名单和投诉信号,调查公司的销售、营销及外呼技术栈。它生成带证据的报告,无需登录或访问该公司的工具 API。
主要功能
- 01检查 DNS 记录与邮件认证
- 02扫描网站源码中的工具特征
- 03可选使用 Apify 分析技术
- 04检查域名黑名单
- 05搜索公开垃圾邮件投诉
- 06生成 Markdown 或 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 包含项、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)
- 加载第三方工具的脚本标签
- Meta 标签和框架特征
- 隐藏的表单处理程序和 API 端点
第 3 层:Apify 技术画像工具(按次付费,每个域名约 $0.005)
运行 justa/technology-profiling-engine Actor,使用 8 层检查和置信度评分,深入检测 7,000 多种技术。可检测不会出现在源代码中的工具(例如动态加载或通过 GTM 加载的工具)。
第 4 层:黑名单检查(免费,即时)
查询 6 个主要的基于 DNS 的黑名单:
- 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 | 约 $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
用法
单家公司
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,并搜索 40 多种已知工具特征(脚本 URL、像素 ID、跟踪域名)
- Apify 技术画像(可选)— 对 7,000 多种技术进行深度 8 层检测,并提供置信度评分
- 黑名单检查 — 查询 6 个基于 DNS 的黑名单,检查域名是否在列
- 出站域名检测 — 检查该域名的常见变体是否存在(get[name].com、try[name].com、[name]reach.com 等),并分析其 DNS 中的冷外呼模式
- 报告生成 — 生成结构化 Markdown 报告,包含已确认的工具、证据、邮件认证评估、黑名单状态和总体评估
Agent 集成
将此技能用作 Agent 时,请遵循以下流程:
- 用户提供一个或多个公司域名
- 对所有域名运行
recon.py(如果域名超过 5 个,先确认 Apify 费用) - 呈现报告——按以下类别归纳发现:
- 已确认的工具(附证据)
- 邮件认证(SPF/DKIM/DMARC 评估)
- 可送达性(黑名单状态 + 垃圾邮件投诉)
- 值得注意的信号(出站域名、缺少 DMARC、SPF 缺口)
- 如果是批量检查,请在末尾附上比较摘要表
不使用脚本的 Agent
Agent 可以使用内置工具手动执行所有检查:
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 包含项 → 工具识别
| SPF 包含项 | 工具 |
|---|---|
_spf.google.com | Google Workspace |
spf.protection.outlook.com | Microsoft 365 |
sendgrid.net | SendGrid |
amazonses.com | Amazon SES |
*.hubspotemail.net | HubSpot |
*.rsgsv.net 或 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 或 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 |
网站源码模式 → 工具识别
| 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 重定向到公司的主域名
- 没有自己的网站内容
- 域名名称符合以下模式:
[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 记录或网站源码中查找 Smartlead 的
open.sleadtrack.com,以确认这一点。
“Apify 分析器超时”
- 有些网站加载需要较长时间。分析器的超时时间为 3 分钟。
- 重试一次。如果再次失败,请依靠 DNS 和源码分析。
“artisan.ai 可以解析,但会重定向到 Afternic”
- 该域名已停放/待售。请检查常见的替代域名:
.co、.com、.io。 - 通配符 DNS(所有子域名都解析到同一 IP)表明该域名可能已停放。