作者pangdingking (胖丁王)
看板Soft_Job
标题[心得] Django + 云端无头沙盒防诈平台 v1.0.2
时间Tue Sep 29 14:12:04 2026
各位 Soft_Job 版的前辈大大好,
前阵子在版上分享了自己一人边上班边开发的 Django + 云端沙盒防诈骗服务
(Crackercrack)。
非常感谢上次推文中许多前辈的严厉指教与技术反馈。当时大家点出的几个核心痛点,
包括「要注册登入很劝退」、「操作流程不流畅」、甚至「这网站本身是不是诈骗」等质
疑
痛定思痛後,这两周我把系统彻底翻修了一遍,释出 v1.0.1 与 v1.0.2 Beta 版本。
除了全面改善 UX 外,也把底层的云端网路架构、资料库约束与沙盒并发做了一次大手术
。
以下整理这段时间的调整与改版心得跟各位分享:
============================================================
1. UX/UI 痛点改善:拆掉登入墙,核心价值往前放
============================================================
- 访客免登入模式:
听取大家意见,全面拔掉强制注册的登入墙。现在进站完全不需注册,首页直接贴上
怀疑的恶意网址,就能直接驱动後台容器进行 Heuristic 快筛与云端沙盒深度监识。
- Modal 轻量化登入:
若需要进阶功能,登入机制改为 Modal 弹跳视窗,减少跨页跳转的阻力。
- 非同步任务流程优化:
提交扫描後直接透过 Cloud Tasks / 非同步工作派发,前端轮询并自动展示进度,
使用者不需卡在原页面乾等。
============================================================
2. GCP 云端与防御架构升级
============================================================
- 网路边界重构:
之前求快,直接将 Cloud Run 设为 Allow unauthenticated 并挂 Cloudflare 代理。
但实务上发现这无法阻止攻击者直接扫描 GCP 预设节点 (*.run.app),且难以精准
取得真实 Client IP 与进行清洗。
目前已重构为:
【Cloudflare WAF】->【GCP External HTTPS LB】->【Cloud Armor】->
【Cloud Run】
同时限制 Cloud Run 仅接受 internal-and-cloud-load-balancing 流量。
- 高并发沙盒卡死调优:
深度监识需要无头浏览器(Playwright)动态渲染与抓取 DOM 特徵,
早期遇到变数竞争与资源打架问题。这次将内部 Context 彻底改用 local 变数与
`contextvars` 进行隔离,确保 Thread-safe;并依据容器硬体规格(4 CPU / 8GB)
重新压测并校准 Cloud Run Concurrency 参数,避免高并发时互相抢占 CPU 导致逾时
崩溃。
============================================================
3. API Token 与在地情资联防
============================================================
- API 自动化:
新增 API 密钥管理机制,开放标准 RESTful API 与 Bearer Token 验证,
让有资安检测需求的中小团队可以写脚本直接调用,不需透过 Web 介面。
- 台湾在地情报源串接:
除西方开源 Threat Feeds 外,正式整合警政署 165「涉诈停止解析名单」与
「假投资名单」每小时动态清洗与高速写入,补足在地化诈骗网域的防御死角。
============================================================
4. 下一步规划与技术挑战
============================================================
- v1.0.3:目前正在串接 Meta Ad Library API,即时抓取社群平台的假投资赞助广告
进行主动特徵提取,并持续优化 LLM 裁判的评分权重。
- v1.1.0 (CT Logs 挑战):
上次有前辈建议研究 Certificate Transparency (CT) Logs 监控。
深入研究後发现水非常深:全球每天新签发的凭证量达数百万张,要如何在海量日志中
低成本、低延迟地筛选出可疑的免洗钓鱼子网域,并精准打击,目前在算力与 GCP/LLM
帐单控管上是一大难题,接下来会先以小规模 PoC 验证可行性。
============================================================
5. 关於商业模式与开发初衷
============================================================
当初想做这个产品,是因为家里做小生意,常需要在外公开名片与联络方式,
身边亲友常常收到各种五花八门的钓鱼简讯或假包裹连结。
我也清楚市面上已经有趋势防诈达人、Whoscall 等成熟产品,一个人想靠「拼静态黑名
单数量」去跟大厂硬碰硬无疑是痴人说梦。因此 Crackercrack 的定位想放在:
「如何透过前端视觉/DOM 异常侦测 + 沙盒动态行为 + LLM 语意推论,去抓刚注册几小
时、大厂黑名单还来不及收录的 0-Day 诈骗基础设施」。
虽然还在测试阶段但我希望这个云端沙盒,能成为中小企业工程师或网管在缺乏昂贵资安
工具时,一个可以转嫁检验风险的工具。
产品还有非常多不成熟与需要打磨的地方,欢迎各位前辈用力鞭策与指教!
平台网址(免注册即可直接测):
https://app.crackercrack.com/
最後如果有公事情资分析需求、或者想呼叫 API、未来有兴趣测试浏览器插件的前辈,
欢迎站内信或推文告知,我会提供「家庭版永久授权」序号私讯发放给您,感谢大家!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.166.200.178 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1790662327.A.80D.html
1F:推 waldo870: 想呼叫api 09/30 00:40
2F:→ Obama19: 能不能找个ux设计师谘询一下啊.. 09/30 02:02
3F:→ pangdingking: UX的设计我再看看有没有人能谘询..自己也不擅长 09/30 08:20
4F:嘘 MoonCode: 卡在98%,什麽垃圾 09/30 11:00
5F:→ pangdingking: 请问是哪一笔卡在98%呢?目前看近期的Log都有跑完成 09/30 20:28
6F:→ pangdingking: 通常卡在98%都是沙盒打回平台失败的问题 09/30 20:28
7F:嘘 MoonCode: 笑死你自己的网站就判断自己为一百分恶意了 真的有在看 09/30 20:54
8F:→ MoonCode: log? 09/30 20:54
9F:→ jimmily: 你要不要先用 AI 修一下,很多小问题你自己应该都看得出 10/01 17:47
10F:→ jimmily: 来吧?例如左下角语系选单,里面的wording跟外面当前选项 10/01 17:48
11F:→ jimmily: 长不一样。然後我扫描了一个网站後再按上一页,扫描按钮 10/01 17:48
12F:→ jimmily: 会一直卡在处理中。 10/01 17:49
13F:→ jimmily: 然後看起来你想支援英文繁中简中,但报告页面只有英文 10/01 17:49
14F:→ jimmily: 这些我30秒随便点一点都抓得到的 10/01 17:51
15F:推 jimmily: 我觉得先把这些很基本的地方调整好应该会比起增加进阶功 10/01 17:54
16F:→ jimmily: 能来得令人想用 10/01 17:54
17F:推 kurtsgm: 老实说 不是很看好 因为把网址贴到你这 跟直接贴给gpt甚 10/02 11:02
18F:→ kurtsgm: 至可爱龙 都能得到差不多的结果 10/02 11:03
19F:→ kurtsgm: 更重要的是...但凡「怀疑过这是不是诈骗网站」的人 几乎 10/02 11:03
20F:→ kurtsgm: 也就不会被骗 真要做的话还是要在流程上面无缝 不需要使 10/02 11:04
21F:→ kurtsgm: 用者主动怀疑 10/02 11:04
22F:→ kurtsgm: 可能插件是更直觉的方式(但那不就是防毒软体商干了几十年 10/02 11:05
23F:→ kurtsgm: 的事情了吗?) 10/02 11:05
24F:→ dream1124: @kurtsgm 因此先前才建议他拿成品应徵防毒软体商的职缺 10/02 12:32
25F:→ dream1124: 而且也提醒他只凭自己很难建完整的威胁资料库,可惜他 10/02 12:34
26F:→ dream1124: 显然没有听出那篇底下其他人的意思。 10/02 12:35
27F:→ kurtsgm: 的确 要自干这个难度实在太高了 10/02 20:49
28F:→ pangdingking: 抱歉现在才回覆,近期刚好家里宝宝长水痘 10/04 11:02
29F:→ pangdingking: UI/UX的部分会持续改进(包含大大们提到的部分跟分数 10/04 11:04
30F:→ pangdingking: 不一致的问题) 10/04 11:04
31F:→ pangdingking: 沙盒段的问题有点多,目前Dom Tree的分析写的不精准 10/04 11:05
32F:→ pangdingking: 导致误判很多,近期会把正常网站跟恶意网站的指纹比 10/04 11:06
33F:→ pangdingking: 对後做一个比较合理的边界区隔,不然对於正常网站的 10/04 11:07
34F:→ pangdingking: 杀太多,导致误导各位大大,十分抱歉。 10/04 11:07
35F:→ pangdingking: dream1124大大有听明白您的意思,因为目前我是育婴 10/04 11:09
36F:→ pangdingking: 留停的状态,後续结束如果还是没有做出点亮点来会照 10/04 11:10
37F:→ pangdingking: 您建议的试试看,非常感谢。 10/04 11:10
38F:→ pangdingking: jimmily,谢谢提醒,现在的UX设计太糟了,我会改一 10/04 11:17
39F:→ pangdingking: 架构,扫描不会跳转的多任务抽屉模式,那个进度条真 10/04 11:19
40F:→ pangdingking: 的相当烂的设计..而且还跳转影响用户体验跟浪费时间 10/04 11:19
41F:→ Obama19: 知道设计很烂是个很好的开始 已经比一堆不自觉的人好多了 10/05 13:13
42F:→ Obama19: 参考这两个设计网站 mobbin.com dribble.com 10/05 13:14
43F:→ Obama19: 台湾软体走不出去 很大原因就是缺乏美感 所以只能做硬体 10/05 13:19