Low Risk — Risk Score 20/100
Last scan:10 hr ago Rescan
20 /100
zhongjie
中介哥 - 专业买房参谋助手,搜索微信公众号房产文章、计算深圳积分入学、托管本地工作台
合法房产中介助手,所有能力与文档一致,4个硬编码占位IP为测试数据,无恶意行为。
Skill Namezhongjie
Duration40.7s
Enginepi
Safe to install
可安全使用。硬编码IP(123.0.0.0等)为测试占位符,部署前替换为真实配置即可。建议收紧 CORS 白名单(目前 allow_origins=* 仅绑定本地 127.0.0.1,风险可控)。

Findings 3 items

Severity Finding Location
Low
文档未声明 Playwright 反爬指纹伪装 Doc Mismatch
search_wechat.py 中 WECHAT_STEALTH_JS 覆盖 navigator.webdriver/languages/platform 等浏览器指纹,SKILL.md 未提及此实现细节。虽为合法反爬手段,但属于阴影功能(代码做了文档没说)。
WECHAT_STEALTH_JS = """Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); ..."""
→ 在 SKILL.md 技术说明中补充 Playwright 指纹伪装说明,符合文档-行为一致原则
scripts/search_wechat.py:380
Low
硬编码占位 IP 地址 Sensitive Access
search_wechat.py 中 4 个硬编码 IP(123.0.0.0、122.0.0.0、124.0.0.0、131.0.0.0)明显为测试占位符,非真实外部通信地址,但 SKILL.md 未声明。
IP = '123.0.0.0'  # 测试占位符
→ 替换为真实高德/搜狗 API 地址或配置化
scripts/search_wechat.py:46,48,49,465
Low
无依赖版本锁定 Supply Chain
未发现 requirements.txt 或 package.json,所有第三方依赖(fastapi, uvicorn, playwright)未声明版本范围。
→ 添加 requirements.txt 指定版本,避免供应链不确定性
ResourceDeclaredInferredStatusEvidence
Filesystem WRITE WRITE ✓ Aligned server.py:89-93 读写 preferences.md, research.md, report.md, properties.json
Network READ READ ✓ Aligned search_wechat.py:206-217 爬取搜狗微信
Shell WRITE WRITE ✓ Aligned SKILL.md:shell启动server.py和search_wechat.py
Browser READ READ ✓ Aligned Playwright爬取微信文章
Skill Invoke READ READ ✓ Aligned score_calculator.py纯计算
Environment READ READ ✓ Aligned utils.py读取PROJECT_ROOT,server.py读取.env
4 High 21 findings
📡
High IP Address 硬编码 IP 地址
123.0.0.0
scripts/search_wechat.py:46
📡
High IP Address 硬编码 IP 地址
122.0.0.0
scripts/search_wechat.py:48
📡
High IP Address 硬编码 IP 地址
124.0.0.0
scripts/search_wechat.py:49
📡
High IP Address 硬编码 IP 地址
131.0.0.0
scripts/search_wechat.py:465
🔗
Medium External URL 外部 URL
https://mp.weixin.qq.com/s/xxx
SKILL.md:221
🔗
Medium External URL 外部 URL
https://tailwindcss.com
assets/dist/assets/index-D6Fv9-73.css:1
🔗
Medium External URL 外部 URL
https://www.amap.com/search?query=
references/map_display.md:29
🔗
Medium External URL 外部 URL
https://www.amap.com/around?query=
references/map_display.md:35
🔗
Medium External URL 外部 URL
https://www.amap.com/search?query=绿城桂语兰庭&city=440300
references/map_display.md:51
🔗
Medium External URL 外部 URL
https://www.amap.com/search?query=拾悦城楠园&city=440300
references/map_display.md:54
🔗
Medium External URL 外部 URL
https://www.amap.com/around?query=学校&center=113.88
references/map_display.md:60
🔗
Medium External URL 外部 URL
https://www.amap.com/around?query=地铁站&center=113.88
references/map_display.md:61
🔗
Medium External URL 外部 URL
https://lbs.amap.com/
references/map_display.md:104
🔗
Medium External URL 外部 URL
http://bsy.sz.bendibao.com/bsyDetail/640838.html
references/school_enrollment_policies.md:192
🔗
Medium External URL 外部 URL
https://www.szgm.gov.cn/132100/135232/xwsq/542772/content/post_12211175.html
references/school_enrollment_policies.md:193
🔗
Medium External URL 外部 URL
https://city.shenchuang.com/city/20250221/1680964.shtml
references/school_enrollment_policies.md:194
🔗
Medium External URL 外部 URL
https://sz.bendibao.com/edu/2017329/790954.shtm
references/school_enrollment_policies.md:195
🔗
Medium External URL 外部 URL
https://weixin.sogou.com/
scripts/search_wechat.py:65
🔗
Medium External URL 外部 URL
https://v.sogou.com/v?ie=utf8&query=&p=40030600
scripts/search_wechat.py:138
🔗
Medium External URL 外部 URL
https://weixin.sogou.com
scripts/search_wechat.py:213
🔗
Medium External URL 外部 URL
https://weixin.sogou.com/weixin?query=
scripts/search_wechat.py:656

File Tree

11 files · 121.3 KB · 2597 lines
Python 4f · 1370L Markdown 5f · 1212L HTML 1f · 13L CSS 1f · 2L
├─ 📁 assets
│ └─ 📁 dist
│ ├─ 📁 assets
│ │ └─ 📄 index-D6Fv9-73.css CSS 2L · 24.1 KB
│ └─ 📄 index.html HTML 13L · 401 B
├─ 📁 references
│ ├─ 📝 data_templates.md Markdown 218L · 4.9 KB
│ ├─ 📝 dimensions.md Markdown 294L · 12.5 KB
│ ├─ 📝 map_display.md Markdown 211L · 7.7 KB
│ └─ 📝 school_enrollment_policies.md Markdown 197L · 8.1 KB
├─ 📁 scripts
│ ├─ 🐍 score_calculator.py Python 291L · 10.6 KB
│ ├─ 🐍 search_wechat.py Python 823L · 29.3 KB
│ ├─ 🐍 server.py Python 214L · 6.6 KB
│ └─ 🐍 utils.py Python 42L · 1.4 KB
└─ 📝 SKILL.md Markdown 292L · 15.8 KB

Dependencies 3 items

PackageVersionSourceKnown VulnsNotes
fastapi * pip (undeclared) No 无版本锁定
uvicorn * pip (undeclared) No 无版本锁定
playwright * pip (undeclared, optional) No 仅 --fetch-content 模式需要,无版本锁定

Security Positives

✓ 所有文件操作(preferences.md, research.md, report.md, properties.json)均限制在 .skills-data/zhongjie/data/ 目录下,无越权访问
✓ server.py 仅监听 127.0.0.1,不会对外暴露服务
✓ 无凭证收割逻辑(不读取 ~/.ssh、.env 凭据、不遍历环境变量匹配敏感关键字)
✓ 无代码混淆、base64执行、eval() 等危险模式
✓ 无反向 shell、C2 通信或数据外泄行为
✓ 文档声明与实际能力高度一致(文档-行为差异极小)
✓ Playwright 反爬为行业标准操作,仅用于抓取微信公众号合法公开内容