Labeeb2339/scamshield-ai-case-study

GitHub: Labeeb2339/scamshield-ai-case-study

一份隐私优先的马来西亚诈骗检测 Android 原型应用的工程案例研究,展示端上多信号融合风险评分架构与可解释反诈设计。

Stars: 0 | Forks: 0

# ScamShield AI — 工程案例研究 **一款隐私优先的 Android 原型应用,旨在解释并降低马来西亚的诈骗风险。** 我使用 Flutter 构建了 ScamShield AI,以参加 2026 年青年创新者挑战赛。它 结合了端上文本分类器、可解释规则、链接与文件 检查、截图 OCR、二维码扫描、本地历史记录,以及可选的社区 信誉查询。 本仓库是一份公开的工程案例研究。在对数据集来源、比赛材料、Firebase 配置和历史凭证进行审查以确保安全发布期间,应用程序源码将保持私有。 ## 产品流程

ScamShield Android home screen with message, screenshot, link, QR, number, and file scan entry points ScamShield Android analysis verdict for a synthetic high-risk banking-scam example ScamShield Android evidence view listing the synthetic example's model and rule signals

显示的 `97/100` 风险评分和 `100%` 模型值是 合成演示消息的输出,并非测量的检测准确率或 校准后的概率。 该界面旨在回答三个问题: 1. **这有多大风险?** — 原型风险评分和风险等级。 2. **为什么被标记?** — 具体证据,例如紧迫感、冒充身份、可疑链接,或要求提供凭证。 3. **下一步我该怎么做?** — 实用步骤,包括通过官方渠道联系相关组织,以及在转账后拨打马来西亚的 NSRC 997。 ## 工程设计 ``` flowchart LR I[Message, screenshot, URL, QR, number, or file] --> N[Normalize and extract signals] N --> M[On-device text classifier] N --> H[Explainable heuristic rules] N --> U[URL, APK, and reputation checks] M --> F[Risk fusion] H --> F U --> F F --> V[Verdict, evidence, and next actions] V --> L[(Local history)] ``` ### 隐私边界 - 核心消息分析和 OCR 设计为在设备上运行。 - 扫描历史记录保存在本地,并且可以清除。 - 可选的信誉查询仅发送该服务所需的查询值,并且可以禁用。 - 对于原型的核心分析路径,Firebase 是可选的。 ### 可解释性 这些规则区分了弱信号与信号组合。仅凭银行名称不应判定合法的收据为诈骗;但银行名称加上紧迫感、非官方链接,以及索取 OTP 的请求,则构成了一个强烈得多的网络钓鱼模式。结果界面会展示触发的证据,而不是直接呈现一个无法解释的标签。 ## 验证证据

Dated ScamShield regression receipt: 202 Flutter tests passed and the Dart analyzer was clean; no detection-accuracy claim

这份带有日期的验证回执记录的是回归测试的执行情况,而非检测 准确率。这份公开案例研究明确保留了这一区别,而不是 将测试数量转化为安全性声明。 在 **2026 年 7 月 18 日**,我重新运行了可用的检查并记录了: - 202 个自动化 Flutter 测试通过; - 一次干净的 Dart analyzer 运行; - 覆盖马来西亚诈骗模式以及合法消息误报的回归语料库。 在准备这份公开案例研究时,我没有重新运行 Android 构建。项目 记录中包含一份 2026 年 7 月 11 日成功的编译检查记录。 这些结果是项目快照,并非对整体人群检测准确率的声明。未来的公开源码发布应在 CI 中重新运行该测试套件,并发布确切的环境和测试报告。 ## 已实现功能与实验性功能对比 | 领域 | 状态 | |---|---| | 粘贴消息和链接分析 | 已在 Android 原型中实现 | | 截图 OCR、二维码和可疑文件检查 | 已在 Android 原型中实现 | | 可解释的混合风险评分 | 已实现并经过回归测试 | | 通知预览扫描 | 已实现,需满足 Android 权限要求 | | 来电号码信誉筛查 | 已实现为号码/信誉工作流 | | 实时运营商通话对话转录 | **未实现**;当前工作处于架构/原型边界阶段 | | 正式的现场准确率研究 | 未完成 | ## 公开发布决定 原封不动地发布原始私有仓库将会暴露不应出现在公开作品集中的内容,包括旧凭证、生成的导出文件、训练数据集和比赛文件。本案例研究仓库特意仅发布经过审查的文档和应用截图。 关于发布边界,请参阅 [SECURITY.md](SECURITY.md);获取更多技术细节,请参阅 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 后续工程步骤 1. 为每个数据集创建来源清单和再分发决策。 2. 构建一个仅包含已审查源码和合成测试数据的新公开 Git 历史。 3. 添加可复现的模型训练元数据和留出法评估。 4. 在具有代表性的 Android 设备上测量延迟、电池影响和误报率。 5. 与真实用户(特别是老年人)一起验证可访问性和措辞。 ## License MIT — 参见 [LICENSE](LICENSE)。产品名称和第三方数据集仍归其各自所有者及许可协议约束。
标签:Apex, Flutter, OCR, 反诈骗, 工程案例, 文本分类, 机器学习, 移动应用