BAMF 专家特邀文章:LinkedIn 自动化安全(来自检测到的自动化工具开发人员的见解)

Engage in the Latest Data forum for valuable lead-generation strategies
Post Reply
zihadhosenjm
Posts: 13
Joined: Mon Dec 02, 2024 9:14 am

BAMF 专家特邀文章:LinkedIn 自动化安全(来自检测到的自动化工具开发人员的见解)

Post by zihadhosenjm »

我是谁?
我叫 Alexander Erin,2016 年 10 月我创立了 Linked Helper,并且是 Linked Helper 1 的唯一开发者和首席执行官,这是一款完全由我独自开发的 Chrome 扩展程序。最近,我与其他 7 个人共同开发了 Linked Helper 2,这是一款独立应用程序,是一款新的 Web 浏览器,而不是扩展程序。

我不仅看到了 LinkedIn 用来捕获 Meet Alfred Chrome 扩展程序(当时我们的主要竞争对手之一)的早期算法,而且一年后,在 2019 年 8 月的几周内,我成功应对了新的 LinkedIn 检测算法。当时 Linked Helper 1 的一些用户报告收到了来自 LinkedIn 的警告消息。

本文涵盖了 LinkedIn 自动化的许多技 B2B电子邮件清单 术方面,许多读者可能会觉得有些复杂。

目录
我是谁?
TL;DR
行为和技术检测
行为方法
您通常会做多少种动作?
您究竟是如何完成这些操作的?
你的潜在客户对你的行动有何反应?
并行访问您的 LinkedIn 帐户
技术方法
Chrome 或浏览器扩展程序
第一个扩展检测算法
第二种扩展检测算法
通过 LinkedIn API 运行的云解决方案
基于浏览器的解决方案(云或桌面应用程序)
哪一个更安全:基于云浏览器还是基于桌面浏览器的解决方案?
TL;DR
为了让事情简单一点,在我们深入讨论之前,我首先要揭示我们的主要发现:

Image

即使您在 LinkedIn 上手动工作,即使您在 LinkedIn 上手动工作,也不能保证您的帐户不会受到限制或禁止, 或者您不会在某一天收到来自 LinkedIn 的警告消息,说您可能正在使用自动化工具。
如果您信任助手或基于云的解决方案来代您管理 LinkedIn 帐户,您应该知道 LinkedIn 会分析您机器的 IP 和位置。如果发现您从不同国家/地区访问您的帐户,他们可能会对其进行限制,并且您需要解释为什么一个条目来自菲律宾,而第二个条目来自美国,并且在同一天。
即使您坚持非常低的活动限制,但使用草率的 LinkedIn 自动化工具,您仍然面临在 LinkedIn 上受到限制或禁止的风险。
由于扩展的技术限制,Chrome 或浏览器扩展工具永远不可能 100% 安全。
基于云 API 的解决方案与扩展一样安全(提示:它们并不安全)
目前,基于浏览器或基于云浏览器的解决方案是市场上最安全的。话虽如此,只有 LinkedIn 开发人员或特定工具的开发人员才能证明该工具的安全性。
如果您手动在 LinkedIn 上工作或使用最安全的自动化工具,请不要忽视安全规则:遵守每日活动限制(仅发送 50-70 个邀请),每 3 周取消待处理的未接受的邀请,并密切关注您的邀请的转化率。
行为和技术检测
众所周知,LinkedIn 使用两种主要方法来捕捉自动化工具的使用情况:

行为
技术的
行为方法
此类分析着眼于:

您通常会做多少种动作?
您究竟是如何做出这些动作的?
你的潜在客户对你的行动有何反应?
并行访问您的帐户
您通常会做多少种动作?
这是许多 LinkedIn 用户普遍存在的一个谬论,在那些不太懂 LinkedIn 的教练的鼓吹下,他们认为只要手动操作 LinkedIn,就永远不会被禁止。

我们进行了自己的测试,就像许多其他在 Facebook 和论坛上分享的 LinkedIn 用户一样,发现事实并非如此。

如果你想要一些证据,请自己看:

1. 尝试在一个月内每天发送 500 个连接请求,您很快就会(可能是 2 周后)发现 LinkedIn 限制了您的个人资料,现在您必须输入每个您尝试连接的人员的有效电子邮件地址。

2. 进入 LinkedIn 搜索页面,选择第二级关系,然后浏览每一页搜索结果,并每 5 秒点击一次“连接”按钮来添加人员。接下来发生的事情是 LinkedIn 将你踢出平台。再次登录,重复你所做的 3-4 次,你最终将被 LinkedIn 限制。

您究竟是如何完成这些操作的?
LinkedIn 不仅可以通过用户执行的操作数量来跟踪自动化的使用情况,还可以通过用户的操作方式来跟踪。在 Chrome 中单击 Ctrl+Shift+I 即可打开 DevTools 面板,其中显示了 LinkedIn 向其服务器发送的 API 请求。

这是一个例子。

有两种方法可以在 LinkedIn 上打开个人资料:

将个人资料的 URL 链接粘贴到浏览器地址栏中,然后按 Enter
在 LinkedIn 上输入您要寻找的人的姓名,然后在开始出现的选项中选择正确的联系人。
从表面上看,没有什么区别。

但 LinkedIn 已经研究过许多自动化工具,发现它们都使用 URL 方法。显然,您不能在用户通过 URL 打开几次个人资料后就将其屏蔽:这并不是他们使用自动化工具的良好证据。

但他们认为,在 12 小时内通过 URL 打开 50 个个人资料是一个很好的指标。

因此,LinkedIn 现在引入了这一限制,除 Sales Navigator 和 Recruiter 平台外。

尝试在新选项卡中打开搜索结果中的每个个人资料,您很可能会在到达第七页之前就被注销。

重新登录后,继续此做法,直到您看到来自 LinkedIn 的警告消息,说他们怀疑您使用自动化工具。

在 Linked Helper 2 中,我们选择了第二种通过姓名搜索来打开个人资料的方法,因为许多人在浏览 LinkedIn 时很自然地会使用这种方法,而无需任何自动化工具。

你的潜在客户对你的行动有何反应?
您应该关心的主要指标是您的接受率——您发出的邀请中有多少百分比被接受。

鉴于 LinkedIn 对许多用户每周可以发送的邀请数量有所限制,如果您注重连接请求的质量并学习如何编写高转换率的邀请,您将受益匪浅。

LinkedIn 自动化安全,BAMF 专家客座文章:LinkedIn 自动化安全(来自检测到的自动化工具开发人员的见解)
我们建议采取以下策略来提高用户的接受率:

访问个人资料
点赞 2-3 条近期帖子或文章(阅读如何自动化https://linkedhelper.zendesk.com/hc/en-us/articles/360018627020-Like-posts-and-articles)
等待 24 小时并关注个人资料(https://linkedhelper.zendesk.com/hc/en- ... o-Follower
再过 24 小时,通过个人消息发送您的连接请求
一旦您的请求被接受,请发送多条后续消息,直到有人回复您。
LinkedIn 还会分析有多少人在收到您的连接请求时点击了“关闭”。

换句话说,即使您可以吹嘘自己的接受率达到 80%,但您每天发送多达 400 个邀请,那么很有可能由于您的范围,最终会收到太多来自人群的“拒绝”点击,结果您的个人资料受到限制。

因此,我们一般建议您每天保持约 50-70 个邀请的速度,并且不要忘记清除 3 周前的待处理邀请。https ://linkedhelper.zendesk.com/hc/en-us/articles/360015365379-How-to-cancel-sent-pending-invites-

并行访问您的 LinkedIn 帐户
不太严重但存在的威胁是并行访问您的 LinkedIn 帐户。LinkedIn 知道您机器的 IP 及其地理位置。

难怪如果你同时从两个国家访问你的帐户,就会引起怀疑。

我们曾经见过 LinkedIn 在这种情况下屏蔽账户的例子,直到他们收到关于这种情况发生原因的解释,他们声称这样做是为了保护用户的账户。

在以下情况下,可能会出现这种情况:

您将自己的帐户交给了助理或潜在客户开发专家。
您使用基于云的自动化工具,但他们采用了错误的代理。
您在您的机器上使用 VPN。
无论如何,我们认为这并不是一个值得严重担忧的问题。

四年来,我们从未听说有人因为将控制权交给助手而丢失帐户。最有可能的是,您会被提醒使用条款及其部分内容,特别是禁止将您的帐户交给第三方的部分。

话虽如此,我们建议至少确保您的助手从与您相同的国家/地区进入您的帐户。

顺便说一句,要找到提供与特定城镇关联的代理的可靠服务相当困难。下次,当您听说另一个 LinkedIn 自动化工具是安全的,因为它们承诺为您的帐户提供唯一的代理时,请记住,实际上访问可能来自不同的城市,并且 LinkedIn 可以看到它。

为了在这一大节中划清界限,我们想提醒一下,LinkedIn 使用的行为策略不仅仅是自动化工具的麻烦,而且对于今天使用 LinkedIn 的每个人来说,即使是手动使用,也需要注意。

技术方法
您可能已经从名称中猜到了,这种方法不处理您在 LinkedIn 上的手动工作。在这里,我们将研究最大的商业社交平台如何在技术层面上尝试捕捉自动化工具。

目前有三种类型的自动化工具:

Chrome 或浏览器扩展程序。这些是您在浏览器中安装的插件。
通过 LinkedIn API 运行的云解决方案
基于浏览器的解决方案(桌面应用程序或云)
Chrome 或浏览器扩展程序
创建 chrome 扩展程序并不是什么大工程。我花了 2 天时间创建了 Linked Helper 1 的第一个 chrome 扩展程序版本,而我之前对制作 Chrome 扩展程序没有任何经验,对 JavaScript 也有一些初步了解。

这段时间是设计两个简单功能(自动邀请和自动发送消息)所需的时间。如此低的市场准入成本解释了为什么很快约有 100 个类似的扩展如雨后春笋般涌现。

Chrome Store 的角色是分销商和支付处理器。然而,在这 100 个扩展中,只有少数几个像 Linked Helper 一样取得了巨大的成功。

当我们还是一个 Chrome 扩展程序的时候,如果你在 Chrome 网上应用店中输入“LinkedIn”,你会看到我们以 8 万名受众在搜索结果中排名第一,其次是来自 LinkedIn 的两个官方插件,而 Dux-Soup 则排在第四位。

Chrome 扩展程序非常受欢迎,因为从概念上讲,它们是某个网站的附加组件,并且易于上手。

遗憾的是,Chrome 扩展程序并非 100% 安全,下面我将解释原因。但首先,让我们来看看目前用于检测基于扩展程序的自动化工具的算法。

第一种扩展检测算法
最早的检测算法是 100% 基于客户端的。这意味着它在浏览器中运行,寻找扩展的踪迹,并将捕获的扩展列表发送到 LinkedIn 的服务器。

它搜索了特定于特定扩展的界面元素,尽管这只是一个相当肤浅的检查。该算法还向唯一扩展的资源发送本地 HTTP 请求,因为我们知道每个扩展使用的文件及其在 Chrome 商店中的 ID。到那时,Linked Helper 1 已经受到部分保护:我们使用了随机 HTML 标签并删除了唯一资源。

相反,代码的最大部分是从云端加载的。为了绕过最早的检测工作,我们采取的另一项措施是阻止 LinkedIn API 中运行扩展搜索并将其报告给 LinkedIn 的部分。

这种算法很快就发现了当时快速发展的新工具 Meet Leonard 的使用情况,当时他们正在 App Sumo 上进行推广活动。我们不能肯定地说它毁掉了这个产品,但我知道他们的工作当时就陷入了瘫痪。

Meet Leonard 的创始人 Martin Martinez 做出了正确的决定,将 Meet Alfred 打造为一款独立应用。据我所知,这是一个不错的基于浏览器的解决方案。不过我还没有从安全角度检查过它有多好。

第二扩展检测算法
后来 LinkedIn 想出了一个更复杂的扩展检测算法,在随机时间启动所谓的 Web Worker(在页面主程序代码的后台运行的 JS 代码)。

它扫描没有文本内容的标签,提取脚本和样式标签及其内容,然后加密找到的内容,并将其发送到 LinkedIn 的服务器,在那里检查该部分以查找扩展的痕迹。

2019 年 8 月初,当用户开始报告他们被发现使用 Linked Helper 1 时,第二种算法成功突破了 Linked Helper 1 的保护盾。

发生这种情况很大程度上是因为我和我的团队当时的努力完全集中在 Linked Helper 2 应用程序的开发上,而不是保护我们的扩展。

对我来说,已经很清楚,没有一款 LinkedIn 的 Chrome 扩展程序能够 100% 安全。尽管这是来自 LinkedIn 的一次严重打击,但我们在 3 天内设法解决了安全漏洞。

然后我们又花了 2 周时间才正式测试并发布改进后的版本,但那时我们已经失去了 30% 的客户。在我做出这些改变之后,Linked Helper 1 的每个用户都拥有了一个独特的扩展。

现在,如果 LinkedIn 将页面足迹发送到其服务器,它将无法找到任何常见迹象。很大程度上是因为 Chrome 商店的政策越来越严格;扩展程序很难响应 LinkedIn 的检测措施。我们被迫离开 Chrome 商店,开始通过 zip 文件分发我们的产品。

到目前为止,Linked Helper 1 仍然活跃并且运行正常,尽管我们的大部分用户已经切换到 Linked Helper 2 独立应用程序。

我们已经经受住了 LinkedIn 的两次检测活动。为什么我们仍然认为 Chrome 或基于浏览器的扩展程序不是 100% 安全的?

原因有二。

一。下面的屏幕截图显示了用于 LinkedIn 自动化的顶级 Chrome 扩展程序之一的程序代码片段。它们阻止了参与跟踪扩展程序的一些 LinkedIn API。坏消息是 Chrome 继续限制其 Chrome 扩展程序的 API,并且很快可能会强制所有扩展程序使用清单 v3。当它发生时,使用这样的代码将是不可能的:

LinkedIn 自动化安全,BAMF 专家客座文章:LinkedIn 自动化安全(来自检测到的自动化工具开发人员的见解)
二。任何浏览器的旧扩展 API 都无法完全模仿人类的行为。此外,在所有现代浏览器中,网页都可以通过技术手段确定事件是由谁或什么触发的(点击、输入、鼠标移动)——是人为触发还是程序代码触发[АЕ1]。人类触发的事件和行为将具有 'isTrusted===true` 属性,而源自扩展的事件和行为则具有 'isTrusted===false' 属性。

幸运的是,LinkedIn 目前的许多扩展程序都没有使用这种方法,但显然这只是时间问题。如果您点击“连接”按钮,他们会跟踪点击是否来自某个程序,然后发出信号表明您正在使用自动化工具。

相当简单。

通过 LinkedIn API 运行的云解决方案
此类解决方案很容易创建。它包括使用某些 LinkedIn API 端点自动执行工作,例如检索个人资料数据。这用于需要从用户提供的 URL 列表中提取个人资料的任务。其他 API 端点用于发送消息和邀请。

市场上有很多解决方案声称它们是安全的,因为它们在云端运行。LinkedIn 很容易就能检测到它们,尽管他们现在没有这样做。问题是,这些工具只能模拟 LinkedIn 流程的一部分,但要重复所有流程几乎是不可能的

因此,如果用户注册试用,LinkedIn 可以简单地将典型用户的 API 请求图与云解决方案生成的 API 请求图进行比较。或者,通过引入具有随机 API 端点的特殊检测请求,可以一举摧毁此类工具,这甚至更加简单。

基于浏览器的解决方案(云或桌面应用程序)
并非所有 LinkedIn 自动化云解决方案都适用于 LinkedIn API。也有基于浏览器的解决方案。

一个例子是 Phantombuster。这是我所知道的唯一一款云工具,它公开承认并在其 API 文档中证明这是一个基于浏览器的工具,并且建立在https://pptr.dev/ Puppeteer 和无头 Chrome 上。

在其他情况下,不幸的是,只有 LinkedIn 和解决方案本身的开发人员才能知道这种或那种云解决方案的确切类型。我们当然希望,在阅读本文后,所有其他云解决方案都会声称是在无头 Chrome 上实现的。

基于浏览器的桌面应用以 Linked Helper 2 和 Meet Alfred 为代表。这两种解决方案都基于 Chromium 引擎构建,而 Chrome 本身也使用了该引擎。

不幸的是,即使您确实知道某个工具是基于浏览器的,您也不能完全确信它可以安全使用。原因如下:

带有无头 chrome 的 Puppeter 并非为 100% 不可检测的自动化而设计。[АЕ1] 如果您谷歌搜索“Puppeter 被检测为机器人”,您会发现相当多的指南展示如何检测或如何避免被检测到。有些甚至进一步提供寻找此类机器人的付费服务:https ://datadome.co/
过去一段时间,Puppeter 一直被设计成点击按钮的中心,不允许模仿真实用户的随机点击方式。哪个用户会严格点击按钮的中心?
Linked Helper 2 和 Meet Alfred 不使用 Puppeter。话虽如此,我们无法说 Meet Alfred 团队在隐藏所有漏洞和弱点方面做了多大努力,也无法说他们的工具能够多好地伪装成人类,因为该工具的工作原理对用户来说是隐藏的。Linked Helper 2 不仅仅是基于浏览器的,它实际上就是一个带有导航面板的浏览器。因此,当它运行时,您可以看到屏幕上正在发生的事情。
理论上,基于浏览器的工具的开发人员可以在某些部分借助 LinkedIn 的 API 轻松使用,或者将 JavaScript 代码插入 LinkedIn JS 环境中。
说到云解决方案,如果您使用此类工具管理多个 LinkedIn 帐户,它们通常在同一台服务器上运行。机器的一部分,例如您的显卡或声卡的独特占用空间 https://amiunique.org/fp,对 LinkedIn 是可见的。作为用户,您只能希望您使用的云解决方案已经处理好了这些方面。这是现实可行的,但需要时间。在开发 Linked Helper 2 时,我们的团队花了整整 3 周的时间为每个 LinkedIn 帐户创建了一个唯一的指纹,以防用户在一台机器上运行多个 LinkedIn 帐户。
Post Reply