在 Rsync 命令成为漏洞之前检测不安全命令
一款轻量级、注重隐私的浏览器扩展,作为最终学年项目 NWS/129/23B 的一部分开发,用于检测 Rsync 命令中缺失的 --protect-args 标志 — 预防通过 CVE-2018-5764 进行的远程命令执行。
✅ 完全离线运行
✅ 无服务器连接或数据收集
✅ 实时扫描与警报
✅ 注重教育与缓解措施
✅ 面向学生、系统管理员和安全爱好者
| 序号 | 姓名 | 学号 | 角色与职责 |
|---|---|---|---|
| 1 | Muhammad Nur Faiz Bin Ahmad Fauzi | NWS23070251 | 项目经理与测试负责人 |
| 2 | Wan Muhammad Afifuddin Bin Wan Ahmad | NWS23070157 | 后端与功能开发人员 |
| 3 | Waleed Adam Bin Riza Farouk | NWS23070265 | 前端与 UI/UX 开发人员 |
| 4 | Roshazne Elia Binti Mohd Roshidi | NWS23070105 | 安全分析师与资源协调员 |
导师:Sir Amir Hakeem
入学时间:2023 年 7 月 | 专业:CID(计算机信息与数据)
项目代码:NWS/129/23B
提交时间:2025 年 1 月
Rsync 是一款强大的文件同步工具 —— 但如果配置不当(特别是缺少 --protect-args),可能通过特制的文件名或参数导致远程命令执行(CVE-2018-5764)。
SyncShield 帮助用户:
--protect-args、未加引号的输入等)⚠️ 范围:仅针对 CVE-2018-5764 —— 简单、有针对性,可在学术期限内实现。
观看 SyncShield 实际运行:
SyncShield/
├── docs/ # 扩展和网站源代码
│ ├── css
│ ├── images
│ ├── js
│ ├── extension # 扩展文件夹
│ └── index.html # 网站源代码
├── LICENSE # MIT 许可文件
└── README.md # 你在这里
扫描用户输入的 Rsync 命令,检测是否缺少 --protect-args —— 防止 shell 注入的关键标志。
标记未加引号的变量、shell 元字符以及可能触发 CVE-2018-5764 的未净化用户输入。
提供即时视觉反馈,包含:
提供可操作修复方案:
# ❌ 不安全
rsync -av /src user@host:/dest
# ✅ 安全
rsync -av --protect-args /src user@host:/dest
安装后即可开始使用 SyncShield:
rsync -av /src user@host:/dest
按以下步骤在你的浏览器中安装 SyncShield:
解压文件
.zip 文件解压到电脑上的一个文件夹中。打开浏览器扩展页面
chrome://extensions/about:debugging#/runtime/this-firefox启用开发者模式
加载扩展
manifest.json 文件。安装完成 🎉
Rsync 是一款强大的工具,用于在计算机之间复制和同步文件。它因快速、高效并能节省带宽而广受欢迎——只传输变更内容而非整个文件。
如果不小心使用 Rsync,可能会造成严重问题:
SyncShield 通过以下方式提供帮助:
--delete 或覆盖文件)rsync 命令粘贴或输入到 Rsync 命令 框中。--protect-args 和其他安全实践。/path/to/source)user@host:/path/to/dest)-a 归档-v 详细输出-z 压缩--progress 显示进度--checksum 验证完整性SyncShield 包含一个实时视觉图,在你输入时更新。
它显示:
这通过使命令行为视觉清晰化,帮助防止路径反转、意外覆盖或不安全行为。
仪表盘 标签页让你快速了解上次扫描的概况,包括:
这让你即使在关闭扩展后也能轻松回顾上次分析的命令。
本项目采用 MIT 许可。详情请参阅 LICENSE 文件。