U

Userscript Code Scanner [Local + AI]

Created 16 hours ago
Updated 16 hours ago
Security check for UserScript scripts (Local scan + AI analysis)
#安全工具
#UserJS管理
#AI辅助
Statistics
Total Installs
10
Last 24h
+9
User Rating
-
Ad
A UserScript security scanner that uses local rules and AI A

Userscript Code Scanner [Local + AI] · 用户脚本代码扫描器

一款针对 油猴脚本的安全检测工具。当你打开 GreasyFork 或其它下载站上任意脚本的 "CODE" 代码页(或其他 .user.js 下载页)时,脚本会自动触发一次 静态分析——在不运行代码的前提下,逐行检查源码文本中的危险模式、危险函数调用,以及对敏感数据的访问,并给出风险等级命中代码行

本脚本基于 GF Code Scanner修改。原作者:ktt21

本地检测内容

以下为本地静态检查的主要检分组:

关键威胁(代码执行与挖矿)

模式 检测点
eval() 从字符串直接执行任意代码,最危险的模式之一
new Function() 动态创建函数(与 eval 类似)
矿机特征 加密货币挖矿签名(coinhive / cryptonight / monero / minero.js 等)

代码隐藏与混淆

模式 检测点
atob() 将字符串从 Base64 解码,常用于隐藏恶意载荷
十六进制 / 混淆串 _0xabc123String.fromCharCode 等混淆代码特征
深度解码 对 base64 / 十六进制载荷递归解码,揭示被隐藏的真实内容

设备与隐私访问

模式 检测点
地理位置 navigator.geolocation(GPS 定位)
媒体设备 navigator.mediaDevices(摄像头 / 麦克风)
剪贴板 navigator.clipboard(读取 / 写入剪贴板)

用户数据处理

模式 检测点
Cookies document.cookie(会话劫持或追踪)
浏览器存储 localStoragesessionStorage(在用户电脑上存储数据)
脚本管理器存储 GM_getValueGM_setValue(访问扩展持久化数据)

网络活动

模式 检测点
隐藏请求 GM_xmlhttpRequest(可绕过浏览器 CORS 策略发起请求)
标准请求 fetch()XMLHttpRequest(从外部服务器加载数据)
页面改写 document.write()(可能篡改网站内容)

info 补充

  • WebRTC 泄漏、键盘记录、屏幕截图 等更多隐蔽采集模式也会被扫描识别。

  • 权限使用披露:对比脚本头部 @grant 声明与代码中明文/编码的实际调用,供 AI 判定隐藏权限。

  • 域名分析:脚本会提取代码中所有的 URL,识别出唯一域名集合并展示在报告中——让你一眼看到脚本可能把数据发往哪里。


风险结论

检测到命中项时,会为每个命中项标记威胁等级:低危 (Low) / 中危 (Medium) / 高危 (High) / 危险 (Critical),并列出具体命中的代码行,方便你对照原始源码核对。


AI 复核

界面中点击 「Check in AI / AI 检测」 按钮,选择所使用 AI 引擎,即可把本地扫描出的统计数据发送给 AI,AI 会针对具体命中项用你选择的语言给出回复——判断该命中是否是安全相关,还是误报。首次使用需要为所选 AI 引擎输入一次 API Key

独立校验:除本地统计外,AI 需在此对每个发现项给出独立评估,可作为一种额外的代码核验手段。

已内置支持的 AI 引擎

Same as "GreasyFork Code Safety Scanner" 脚本。

引擎 状态
Groq ✅ 已验证
DeepSeek ✅ 已验证
Grok ⚠️ 无法验证,功能保留(可自行定制)
Gemini ✅ 已验证
Qwen 🡒 Groq ✅ 已验证
ChatGPT ⚠️ 无法实测,功能保留(可自行定制)
nVidia 🡒 OpenRouter ✅ 已验证
Llama 🡒 Puter.js ✅ 已验证(无需 API Key)

🔌 自定义 API

支持 OpenAI 兼容的自定义 /chat/completions 端点

  1. 在脚本头部的 @connect 块中加入你自有 API 的域名(localhost / 127.0.0.1 已默认支持)。
  2. 在 AI 模型下拉框选择「🔌 自定义 API」。
  3. 填写 API 地址、模型名称;「Token」输入框可随时填写/更新密钥,留空则请求时不携带 Authorization 头。

另有可勾选项:让 AI 给出被检测脚本的简短说明,并附上一段关于它如何运行的趣味结论 :-)))


调试 / 维护开关

以下开关位于脚本顶部的「用户设置」区块,直接改常量即可:

开关 说明
TEST_MODELS_AVAILABLE = false true → 在控制台 (F12) 输出 Groq / OpenRouter 等平台上各供应商可用模型列表(需已保存密钥),随后改回 false
CLEAR_ALL_API_KEYS = false true → 刷新页面 → 弹出提示,清除所有已保存的 AI API 密钥,随后改回 false

相比 v1.4.0 之前的显著变化

  • v1.7.0:评级放宽(纯累积分数分档),减少误报;AI 报告新增 ⛶ 放大查看。

  • v1.6.x@grant 权限使用披露、手动输入脚本分析、WebRTC/键盘记录/屏幕截图等新检测模式、多信号加权评分、深度解码与二次扫描。

  • v1.5.0:新增自定义 API 分支(OpenAI 兼容端点)。

  • v1.4.0:重构为 3 个独立可拖拽的浮窗(状态摘要 / 威胁详情 / AI 分析)+ 全局恢复按钮 FAB + 毛玻璃现代化 UI。

完整变更记录见脚本头部注释。


兼容性

浏览器 脚本管理器
Chrome / Edge / Opera 88+ TamperMonkey 4.18+, ScriptCat 0.9+
Firefox 78+ TamperMonkey 4.18+, GreasyMonkey 4.11+
Firefox / Chrome 88+ ViolentMonkey 2.12+(未完全测试)

安装

  1. 需要先安装 Tampermonkey / Violentmonkey / ScriptCat 等油猴管理器。
  2. 在 GreasyFork 打开任意脚本的 CODE 页(或任何 .user.js 下载页)。
  3. 脚本会自动开始扫描并在右下角浮窗展示结果。

Notes

  1. 欢迎提出如何修改代码以接入其他 AI 系统,或增加更多检测项来提升脚本质量的建议。
  2. 作者并非程序员,代码如有不严谨之处请勿苛责,欢迎提出建议。此脚本起初仅自用,若对他人也有用,皆大欢喜 :-)

许可

MIT

Script Details
Applicable Sites
LicenseMIT
Browser Compatibility
Permissions & access
Cross-origin access
api.groq.comapi.deepseek.comapi.openai.comapi.x.ai+16
Capabilities
Network requestsStorageMenu command