Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

相亲照妖镜 Blind Date Mirror

v1.0.0

Scan someone's public social media profiles before a date — generate a data-driven "Date Intel Report" with personality traits, interests, lifestyle, values,...

0· 159·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for sophie-xin9/blind-date-mirror.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "相亲照妖镜 Blind Date Mirror" (sophie-xin9/blind-date-mirror) from ClawHub.
Skill page: https://clawhub.ai/sophie-xin9/blind-date-mirror
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install blind-date-mirror

ClawHub CLI

Package manager switcher

npx clawhub@latest install blind-date-mirror
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill's description says it only reads publicly visible content and requires no credentials, yet its workflow depends on ManoBrowser (a browser MCP) to drive the user's Chrome instance. That tool requires an endpoint/API key (implied by the check script and instructions) and will run scripts inside the user's browser context (which has access to logged-in session cookies). Additionally, the repo includes platform submodules (bilibili/weibo/douban/xiaohongshu) whose scripts are written to extract data for the current logged‑in user (using fetch with credentials, window.$CONFIG, __INITIAL_STATE__, XHR interception). The main SKILL.md asks to only use public parts, but the included modules contain code and steps that assume/require logged-in access — a mismatch between stated purpose and actual capabilities.
!
Instruction Scope
Runtime instructions instruct the agent to: search for another skill's SKILL.md, git-clone the ManoBrowser repo if missing, read local skill/tool configs, call chrome_navigate/chrome_execute_script to run JS in page contexts, inject XHR interceptors, open/close tabs and save raw JSON to local paths. The page scripts explicitly use fetch(..., {credentials:'include'}), window.__INITIAL_STATE__, DOM clicks to open details, and override XMLHttpRequest.prototype to capture API responses — actions that can surface non-public data when executed in a logged‑in browser. Although the doc repeatedly states 'only public data', the instructions give an agent the power to access and extract richer logged‑in data depending on the browser session, and automatically downloading/manipulating other skills is permitted by the instructions.
!
Install Mechanism
There is no declared install spec, but the SKILL.md directs the agent to git clone ManoBrowser from GitHub if not found. The repo also includes a shell helper (check_manobrowser.sh) that makes a curl POST to an MCP endpoint example (datasaver.deepminingai.com) with an API Key. Git cloning a GitHub repo is common, but the script's example endpoint and automated clone behavior mean the skill can pull external code and expects a remote MCP service — this raises risk if the endpoint is untrusted or misconfigured.
!
Credentials
The skill declares no required environment variables, but the runtime expects a ManoBrowser MCP endpoint and API key to be present in TOOLS.md or provided to check_manobrowser.sh. That credential gives the skill (via the MCP) the ability to drive the user's browser and access cookies/session state, which is disproportionate relative to the stated 'public-only' goal. Also, many submodules explicitly use fetch with credentials and rely on logged-in pages, so the skill could easily collect more than public data if executed against a browser where the user is logged in to the target platforms.
Persistence & Privilege
The skill is not 'always: true' and does not request permanent inclusion. However it instructs the agent to clone ManoBrowser into skills directories and to read/modify TOOLS.md for MCP configuration, which implies writing to the agent's skills/tools config and installing plugins. That is a moderate persistence/privilege action but not automatically privileged by metadata — still, adding an MCP endpoint/API key in config is sensitive and effectively grants the skill remote control of the browser.
Scan Findings in Context
[GIT_CLONE_EXTERNAL_REPO] expected: The SKILL.md instructs the agent to 'git clone https://github.com/ClawCap/ManoBrowser.git' if ManoBrowser is missing. Cloning a browser-control tool is expected for web scraping, but it pulls external code automatically which increases risk if the repo or its releases are untrusted.
[CURL_TO_REMOTE_MCP_ENDPOINT] unexpected: scripts/check_manobrowser.sh POSTs to an example endpoint (datasaver.deepminingai.com) with an API key. A browser MCP endpoint is necessary to control the browser, but the example endpoint is external and not declared in skill metadata — users should verify where their MCP connects and whether the host is trusted.
[FETCH_WITH_CREDENTIALS_INCLUDE] unexpected: Platform modules use fetch(..., {credentials:'include'}) and page-internal APIs (e.g., /x/web-interface/nav, window.$CONFIG.user), which access login-scoped data. For scanning other people's public profiles this is not expected — it indicates the code is also designed to extract data available only when logged into an account.
[XHR_INTERCEPTION_OVERRIDE] unexpected: xiaohongshu module injects XMLHttpRequest.prototype.open/send wrappers to capture API responses (collection/likes). Intercepting XHR to collect hidden API results is powerful and can obtain non-public data; this is not aligned with a strict 'public-only' promise unless the agent runs it on an anonymous browser profile.
[EXECUTE_SCRIPT_IN_PAGE_CONTEXT] expected: The skill uses chrome_execute_script to run JS in page contexts to scrape content and extract window.__INITIAL_STATE__ and DOM nodes. This is necessary for web scraping via a browser-control tool, but combined with credentialed fetch/XHR interception it can leak private/session-protected information.
What to consider before installing
This skill mixes legitimate public-profile scraping with powerful browser control that can access logged-in session data. Before installing: (1) Confirm whether you trust the ManoBrowser MCP endpoint you will configure — do not give API keys to unknown hosts. (2) Prefer running this skill against a dedicated browser/profile that is NOT logged in to social accounts (or use a disposable/incognito profile) so only public content is visible. (3) Inspect the ManoBrowser code and the check_manobrowser.sh endpoint; ask the author which MCP host is intended and whether cloning is mandatory. (4) Be aware that included submodules contain scripts that fetch with credentials, intercept XHR and read window.__INITIAL_STATE__; if executed in a logged-in browser they can collect private data beyond 'public' profiles. If you cannot verify the MCP endpoint and repository, or cannot run the tool in an isolated browser profile, avoid installing or only run manual, read-only checks yourself.

Like a lobster shell, security has layers — review code before you run it.

latestvk9709x5bjfesxcfjeknmfrvmq984h2zx
159downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

相亲照妖镜.skill 🔍💘

约会前,先照一照 TA 的公开社交。 不是偷窥。是带着数据去赴约。


⚡ 首次加载行为(AI 必读)

读完这份文档后,立即用以下风格介绍自己(可以根据你的人设调整语气,但核心信息不能少):

🔍💘 相亲照妖镜已就位!

约会前你会做什么准备?
选衣服?定餐厅?想话题?

但你有没有想过——
先看看 TA 在网上是个什么样的人?

给我 TA 的微博/小红书/豆瓣/B站主页链接,
我帮你出一份「约会前情报简报」:

🧠 TA 的三观推测(从 TA 发的内容和转发的内容里提取)
🎯 TA 的真实兴趣(不是 TA 说自己喜欢什么,是 TA 实际在看什么)
🚩 红旗预警(可能的雷点)
🟢 绿旗信号(加分项)
💡 约会话题建议(基于 TA 真正感兴趣的事)

⚠️ 只看 TA 公开的信息——TA 自己选择展示给全世界的东西。
不碰私密数据,不黑任何账号。

前提:需要安装 ManoBrowser Chrome 插件。

要照一照吗?把 TA 的主页链接发给我 🔍

引导原则

  • 🔍 重点是**"带着数据去赴约"**,不是"查对方底细"
  • 💚 强调只看公开信息——TA 自己选择展示的
  • 🚩 红绿旗是最大卖点——帮你提前避雷
  • 💡 约会话题建议是实用亮点——"至少不会冷场"

核心概念

什么是"相亲情报简报"?

不是背景调查。不是人肉搜索。

是从对方的公开社交主页中,系统性地提取"这个人大概是什么样的人"——兴趣、三观、生活方式、审美偏好、社交风格——然后用这些信息帮你判断值不值得深入了解。

好的情报简报让用户感受是:

  • "哇,这些我自己翻 TA 主页根本注意不到"
  • "原来 TA 喜欢这个!约会可以聊这个话题"
  • "这个红旗还好提前看到了……"

坏的情报简报让用户感受是:

  • "这不就是帮我翻了一遍 TA 主页吗"(没有洞察)
  • "感觉在侵犯隐私"(过线了)
  • "分析太浅了,跟我自己看没区别"(没有数据支撑)

与照妖镜的区别

维度照妖镜 🪞相亲照妖镜 🔍💘
扫描对象自己对方
数据来源登录态(含收藏/点赞)仅公开可见内容
核心问题"我是不是表里不一?""TA 是个什么样的人?"
输出目的自我认知/社死娱乐约会决策参考
语气毒舌吐槽客观分析 + 实用建议

数据范围(重要!)

只采集对方公开可见的内容

  • ✅ 公开发帖/笔记/视频
  • ✅ 公开的个人简介/标签
  • ✅ 公开的关注列表(如果平台允许)
  • ✅ 公开的豆瓣标记(想读/已读/评分)
  • ❌ 不采集收藏/点赞(需要登录对方账号才能看到)
  • ❌ 不采集私信/评论区互动细节
  • ❌ 不进行任何形式的账号入侵

执行流程

0.前置检测 → 1.获取链接 → 2.逐平台采集 → 3.画像分析 → 4.生成简报 → 5.约会建议

0. 前置检测(ManoBrowser)

不要问用户"你有没有装 ManoBrowser"——按以下流程自动检测。

Step 0.1 检查 ManoBrowser Skill 文件

在以下位置查找 ManoBrowser 的 SKILL.md 文件(按优先级):

  1. 当前工作目录下 manobrowser/SKILL.md
  2. ~/.openclaw/skills/manobrowser/SKILL.md
  3. 其他已知的 skills 目录
  • 找到 → 进入 Step 0.2
  • 未找到 → 自动从 GitHub 下载:
    git clone https://github.com/ClawCap/ManoBrowser.git ./manobrowser
    

Step 0.2 检查连接配置

确认 .mcp.json 或可用工具列表中已有 ManoBrowser 连接:

  • 已配置 → 进入 Step 0.3
  • 未配置 → 读取 manobrowser/SKILL.md 引导安装

Step 0.3 验证设备在线

调用 chrome_navigate 访问 about:blank 验证连接:

  • ✅ 正常 → 进入 Step 1
  • ❌ 异常 → 引导排查

工具名映射

短名称(如 chrome_navigate)实际调用时需加 MCP 实例前缀: mcp__{实例名}__{工具短名}


1. 获取对方主页链接

🔍 把 TA 的社交主页链接发给我——

📕 小红书主页 · 🐦 微博主页 · 📖 豆瓣主页 · 📺 B站主页

有几个发几个,至少 1 个。平台越多画像越立体。

💡 提示:

  • 小红书:打开 TA 的主页,复制浏览器地址栏链接
  • 微博:TA 的主页 URL(weibo.com/u/xxxxx)
  • 豆瓣:TA 的主页 URL(douban.com/people/xxxxx)
  • B站:TA 的空间 URL(space.bilibili.com/xxxxx)

链接验证

收到链接后:

  1. 检查是否是有效的平台主页 URL
  2. chrome_navigate 尝试访问,确认页面可加载
  3. 确认是个人主页而不是某条具体内容

2. 逐平台采集

相亲照妖镜采集原则

跟照妖镜不同——只能采集公开可见的内容(因为没有登录对方账号):

可采集不可采集
公开发帖/笔记内容收藏列表(需登录态)
个人简介/标签/签名点赞列表(需登录态)
公开关注列表(部分平台)私信/互动详情
豆瓣公开标记/评分隐私设置的内容
发帖时间分布浏览记录

采集方式:复用平台子模块

使用内置的采集子模块,但只执行"公开内容"部分的步骤

平台子模块相亲照妖镜采集范围
📕 小红书xiaohongshu-deep-profile-collect/SKILL.md基础资料 + 发布笔记标题和详情(步骤1-4.5)。跳过收藏和点赞(步骤5-10),因为看不到对方的
🐦 微博weibo-deep-profile-collect/SKILL.md基础资料 + 原创微博内容。跳过收藏(看不到对方的)
📖 豆瓣douban-deep-profile-collect/SKILL.md基础资料 + 公开标记(想读/已读/评分/短评)
📺 B站bilibili-deep-profile-collect/SKILL.md基础资料 + 投稿视频列表。跳过收藏夹(通常不公开)

⚠️ 关键区别:照妖镜采集自己的账号所以能看到收藏/点赞(B面真相层),相亲照妖镜只能看到对方的公开内容(A面展示层)。分析方法因此完全不同——不是找反差,而是从公开信息中推测画像。

采集注意事项

  1. 导航到对方主页:用用户提供的链接直接 chrome_navigate
  2. 处理隐私设置:如果对方设了"仅粉丝可见"等限制,跳过该平台并告知用户
  3. 不关注对方:采集过程中不要点"关注"按钮
  4. 每个平台采集完保存:写入 date-reports/{日期}_raw_data.json

3. 画像分析(⚠️ 核心步骤)

分析框架

从公开数据中提取以下维度:

A. 🧠 基础画像

昵称/签名/简介 → 自我定位
IP属地 → 所在城市
关注数/粉丝数/获赞数 → 社交活跃度
发帖频率 → 内容创作习惯

B. 🎯 兴趣图谱

统计发帖/标签的主题分布,聚类出 TOP 5 兴趣:

TA 的发帖内容中:
  美食/探店:34%
  旅行:22%
  健身/运动:18%
  职场/成长:15%
  其他:11%

→ 💡 TA 是一个爱吃、爱玩、有运动习惯的人
   约会建议:选一家有特色的餐厅,TA 大概率会喜欢

C. 🔮 三观推测

从原创内容(非转发)中提取价值倾向:

分析 TA 的原创帖子中反复出现的主题/观点:
- 多次提到"独立""自由""不将就" → 可能比较有主见
- 转发了多条关于XX的内容 → 关注这个议题
- 豆瓣评分偏高/偏低 → 审美标准严格/宽容

⚠️ 注意:这是基于公开发帖的推测,不是性格测试结果。
   人们在社交媒体上展示的不一定是真实的自己。

D. 🚩🟢 红绿旗标记

绿旗(加分项)

  • 有稳定的兴趣爱好(持续发某类内容超过1年)
  • 原创内容多,不只是转发
  • 豆瓣评分有自己的标准(不全是5星或1星)
  • 发帖频率稳定(情绪稳定的侧面体现)
  • 评论区跟粉丝互动友善

红旗(注意项)——措辞要客观,不下结论:

  • 所有内容都是转发/抽奖,没有原创 → "TA 可能不太在社交媒体上表达自己"
  • 频繁删帖或内容时间线不连续 → "TA 可能会定期清理社交痕迹"
  • 关注列表中某类账号占比异常高 → 如实呈现,不加评判
  • 突然停更很久又突然恢复 → "TA 的社交媒体使用有间歇性"

⚠️ 红旗不是定罪——只是"你可能想了解更多"的信号。每个红旗都标注"可能的解释",避免武断。

E. 💡 约会话题建议

基于兴趣图谱,推荐 5 个约会可聊的话题:

基于 TA 的内容分析,推荐话题:
1. 🍜 美食探店 — TA 发了12条探店笔记,最近去了XX餐厅
2. ✈️ 旅行 — TA 去年去了3个地方,对日本文化特别感兴趣
3. 📚 最近在读什么 — TA 豆瓣标记了一本新书
4. 🏃 运动 — TA 提到了跑步/瑜伽
5. 🎬 最近看了什么 — TA 给XX电影打了5星

❌ 避开的话题:
- {TA 从未提及的领域,聊了可能冷场}

F. 📊 社交风格画像

内容创作者 vs 消费者:TA 原创多还是转发多?
表达风格:长文分析型 vs 图片视觉型 vs 短句日常型
活跃时段:早鸟还是夜猫子?
社交圈层推测:从关注列表和互动对象推测

分析规则

  1. 只基于公开数据:每个结论都标注数据来源
  2. 推测标注为推测:不说"TA 是XX的人",说"基于公开内容推测,TA 可能…"
  3. 红旗给出多种解释:不武断下结论
  4. 不涉及敏感推测:不推测性取向、经济状况、健康状况、家庭关系
  5. 实用导向:每个分析维度都服务于"约会前该知道什么"

4. 生成情报简报

简报结构

# 🔍💘 相亲情报简报

> 分析对象:{昵称}({平台列表})
> 生成日期:{日期}
> ⚠️ 基于公开社交数据的 AI 推测,不代表真实性格。请以真实接触为准。

---

## 📋 基础信息

| 维度 | 信息 |
|------|------|
| 昵称 | {昵称} |
| 签名 | {签名} |
| 所在地 | {IP属地/城市} |
| 社交活跃度 | {高/中/低}(基于发帖频率) |
| 内容风格 | {原创为主/转发为主/图片型/文字型} |

---

## 🎯 兴趣图谱

{TOP 5 兴趣 + 占比 + 具体例子}

---

## 🧠 三观推测

{基于内容分析的价值观倾向。每条标注"推测"和数据来源。}

---

## 🚩 红旗 & 🟢 绿旗

### 🟢 绿旗(加分项)
{列出 2-4 个绿旗,附具体证据}

### 🚩 红旗(注意项)
{列出 0-3 个红旗,附可能的解释。没有红旗就写"未发现明显红旗"}

---

## 💡 约会攻略

### 推荐话题
{5 个基于 TA 兴趣的话题建议}

### 避开的话题
{TA 从未提及或可能敏感的领域}

### 餐厅/活动建议
{基于 TA 的兴趣推荐约会形式}

---

## 📊 社交风格

{内容型/消费型、活跃时段、表达风格、圈层推测}

---

## ⚠️ 重要提醒

> 这份简报基于 TA 的**公开社交内容**生成,存在以下局限:
> 1. 社交媒体人设 ≠ 真实性格。TA 展示的是 TA 想让别人看到的
> 2. 推测基于有限数据,置信度有限
> 3. 不要凭这份报告"定义"一个人——用它作为**了解的起点**,不是结论
> 4. 真正了解一个人,还是要面对面交流

祝约会顺利 💘

简报质量自检

  • 每个结论都有公开数据支撑?
  • 红旗部分是否给了多种解释?
  • 有没有越界推测(性取向/经济/健康)?
  • 约会话题建议是否具体且可操作?
  • ⚠️ 提醒部分是否存在且完整?

5. 呈现 & 使用建议

🔍💘 TA 的相亲情报简报出来了!

{完整简报}

---

💡 使用建议:
- 这份简报帮你带着"课题"去约会,而不是盲目赴约
- 约会时不要说"我看了你的微博"——自然地引入话题就好
- 如果约会后感觉不错,可以用照妖镜照照自己,看看你俩的反差在哪 🪞

想分析另一个人?发给我新的链接就行。

目录结构

blind-date-mirror/
├── SKILL.md                              ← 本文件
├── README.md
├── scripts/
│   └── check_manobrowser.sh
├── examples/
│   └── xiaokai_date_report.md            ← 示例报告
├── xiaohongshu-deep-profile-collect/     ← 小红书采集
│   └── SKILL.md
├── weibo-deep-profile-collect/           ← 微博采集
│   └── SKILL.md
├── douban-deep-profile-collect/          ← 豆瓣采集
│   └── SKILL.md
├── bilibili-deep-profile-collect/        ← B站采集
│   └── SKILL.md
└── docs/img/
    └── feishu_qr.png

子模块说明

4 个平台的采集子模块已内置,经过实际测试验证。相亲照妖镜只执行子模块中采集公开内容的步骤,跳过需要登录对方账号才能看到的收藏/点赞部分。

⚠️ 不包含抖音:抖音个人主页不通过网页版展示公开内容,需要 APP 端操作,暂不支持。


隐私与伦理说明

  • 只分析公开信息:TA 自己选择展示给全世界的内容
  • 不登录对方账号:不需要也不会尝试登录 TA 的账号
  • 不关注对方:采集过程中不会对 TA 的账号产生任何交互
  • 简报存本地:不上传任何服务器,用户自己保管
  • 不做隐私推测:不推测性取向、经济状况、健康状况、家庭关系
  • 红旗给出多种解释:不武断下结论,避免对人的误判
  • 标注局限性:每份简报都提醒"社交媒体人设 ≠ 真实性格"

伦理边界

本工具的定位是帮你更仔细地阅读对方公开展示的信息——本质上和你自己翻 TA 主页一样,只是更系统、更高效。

❌ 不是:背景调查、人肉搜索、隐私窥探 ✅ 是:带着数据意识去赴约,减少信息不对称


版本信息

  • 当前版本:1.0.0
  • 创建日期:2026-04-05
  • 依赖:ManoBrowser(浏览器自动化,首次使用自动从 GitHub 下载)

Comments

Loading comments...