章节 01
导读 / 主楼:CyberGuard:面向老年用户的AI驱动网络安全助手
原作者与来源
- 原作者/维护者: anton-171
- 来源平台: GitHub
- 原始标题: CyberGuard
- 原始链接: https://github.com/anton-171/CyberGuard
- 发布时间: 2026年6月2日
项目概述
CyberGuard是一款专为老年用户和非技术背景人群设计的AI驱动网络安全助手。该项目基于Django框架开发,创新性地集成了Model Context Protocol(MCP)协议,通过GPT-4o大语言模型作为智能代理,协调多个专业安全检测工具,为用户提供直观、易懂的安全分析服务。
在当今数字时代,网络诈骗、钓鱼攻击和深度伪造内容对老年人群构成了严重威胁。CyberGuard的设计理念正是为了解决这一痛点——将复杂的安全检测技术封装在简洁的对话界面背后,让用户只需粘贴可疑内容即可获得专业的安全评估。
核心架构与技术栈
技术选型
CyberGuard采用了现代化的技术栈组合:
- 后端框架: Django(Python 3.11+)
- AI模型: GPT-4o via GitHub Models / Azure Inference
- 协议标准: Model Context Protocol (MCP)
- 通信方式: stdio传输的MCP服务器子进程
MCP协议的创新应用
Model Context Protocol是Anthropic推出的开放标准,用于统一AI模型与外部工具的交互方式。CyberGuard充分利用了这一协议的优势:
- 动态工具发现: AI代理在运行时自动发现MCP服务器提供的工具
- 函数调用转换: 自动将MCP工具转换为OpenAI函数调用格式
- 模块化扩展: 新工具的添加仅需在MCP服务器中注册,无需修改核心代码
系统架构流程
用户输入 → Django异步视图 → LLM Agent → GPT-4o
↕ (MCP stdio)
MCP Server (mcp_server.py)
↕
VirusTotal / DNS / WHOIS / Reality Defender
这种架构的优势在于将AI推理与工具执行解耦,既保证了响应的智能化,又确保了检测的专业性。
安全检测工具集
CyberGuard集成了四类核心安全检测工具,覆盖了网络威胁的主要场景:
1. URL信誉扫描(scan_url_reputation)
通过VirusTotal API聚合90多家安全厂商的检测结果,从多维度评估URL的安全性。这种众包式的检测方式大大提高了识别的准确率,避免了单一厂商的误判。
2. 域名DNS检测(scan_domain_dns)
执行DNS A/MX/TXT记录查询,重点检查SPF记录配置。这一功能可以有效识别邮件 spoofing 攻击,帮助用户判断发件人身份的真实性。
3. 钓鱼概率评估(scan_url_phishing)
基于22个特征的KNN机器学习模型,从URL结构、域名年龄、SSL证书状态等多个维度计算钓鱼概率。模型文件(knn_model.pkl和scaler.pkl)可独立更新,支持持续优化。
4. 深度伪造检测(check_deepfake_image)
集成Reality Defender API,对用户上传的图像进行真实性验证。在AI生成内容泛滥的今天,这一功能对于识别虚假新闻和诈骗图片尤为重要。
用户体验设计
无障碍与适老化设计
CyberGuard在UI/UX层面充分考虑了老年用户的需求:
- 简洁的聊天界面: 模仿日常聊天应用的使用习惯,降低学习成本
- ** plain-English 输出**: GPT-4o将技术检测结果转化为通俗易懂的自然语言建议
- 知识中心: 内置教育内容和防诈骗测验,提升用户的安全意识
- 双因素认证: 通过Mailgun发送6位数字验证码,保护账户安全
访客模式
项目提供了访客模式(Guest Mode)便于快速体验。在生产环境中,开发者可以通过简单的配置切换强制要求用户登录,确保数据安全。
安全考量与改进建议
项目文档坦诚地列出了当前存在的安全问题,这种透明的态度值得肯定:
已知风险
- SSRF漏洞: phishing_detection.py直接获取用户提供的URL,可能探测内网IP
- 重定向未验证: requests.get的allow_redirects=True可能跟随到内网主机
- 缺乏API限流: /api/analyze/端点没有用户级别的速率限制
- 硬编码密钥: settings.py中存在硬编码的SECRET_KEY
- 调试模式: DEBUG = True会在浏览器暴露完整堆栈跟踪
修复建议
- 在获取URL前验证解析后的IP是否在黑名单中
- 手动跟随重定向并对每一跳进行IP验证
- 集成django-ratelimit实现API限流
- 从.env文件加载SECRET_KEY并在部署前重新生成
- 生产环境设置DEBUG = False并限制ALLOWED_HOSTS
扩展性与二次开发
CyberGuard的MCP架构为功能扩展提供了极大的便利。开发者只需在mcp_server.py中添加装饰器函数,FastMCP会自动注册新工具,AI代理也会在下次请求时自动发现。
例如,添加邮箱泄露检测功能只需:
@mcp.tool()
def check_email_breach(email_address: str) -> str:
"""
Check if an email appears in known data breaches.
Use this whenever the user asks about the safety of an email address.
"""
# implementation here
return result
这种零配置的热插拔机制大大降低了维护成本。
部署与使用
环境要求
- Python 3.11+
- 虚拟环境(推荐venv)
- API密钥(GitHub Token、VirusTotal、Reality Defender、Mailgun)
快速启动
git clone https://github.com/anton-171/CyberGuard.git
cd cyberguard
python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\Activate
pip install -r requirements.txt
cp .env.example .env
# 编辑.env填入API密钥
python manage.py migrate
python manage.py runserver
Windows用户需注意:asyncio需要Proactor事件循环支持子进程,manage.py中已自动处理。
项目意义与启示
CyberGuard代表了AI安全应用的一个重要方向——技术普惠。它将原本需要专业知识才能使用的安全工具,通过大语言模型的自然语言理解和MCP协议的统一接口,转化为普通用户也能轻松使用的服务。
对于开发者而言,该项目展示了MCP协议在实际应用中的价值,为构建AI代理生态系统提供了参考实现。对于社会而言,这类工具的普及有助于缩小数字鸿沟,保护弱势群体免受网络犯罪的侵害。
在AI技术飞速发展的今天,CyberGuard提醒我们:技术的终极价值不在于其复杂性,而在于它能为多少人解决实际问题。