Skip to content

Repository files navigation

English | 简体中文

烛光 Candlelight (Open Source Edition)

Candlelight Logo

一款全程离线的 Windows 桌面端杀毒防护系统

Platform C++17 WebView2 License

📖 简介

Candlelight (烛光) 是一个真正能杀毒的本地离线安全工具。它能扫描文件中的恶意特征(哈希黑名单、YARA规则、PE启发式),实时监控目录变化并自动查杀,同时利用本地 AI(如 LLaMA)把安全告警翻译成人人都能看懂的中文「威胁故事」。

核心理念:全程离线,数据永不出本机,保护用户隐私。

✨ 核心特性

  • 🛡️ 真实文件查杀:支持 SHA256 哈希黑名单、EICAR 标准测试文件检测、YARA 式规则匹配、PE 文件启发式分析(节熵值、加壳特征、可疑导入函数等)。
  • 🦠 RAT 木马本地特征库:内置 gh0st RAT、AsyncRAT、DcRAT、Pulsar 四大家族的静态特征(包头魔术值、硬编码互斥体等)。
  • 📜 数字签名有效性检测:基于 WinVerifyTrust 校验 Authenticode 签名,拥有受信任签名的合法程序自动豁免启发式/规则误报。
  • 实时执行防护(类杀软实时保护):周期快照对比发现新启动的进程,对未签名/签名不受信的可执行映像进行静默扫描,命中恶意特征立即终结进程并告警。
  • 👁️ 实时行为防护与自动拦截:事件驱动监控注册表自启动项(Run/RunOnce)。检测到高危持久化行为时,主动阻断(撤销自启动项 + 结束目标进程 + IFEO 阻止再次运行)。
  • 🧠 本地 AI 威胁叙事:优先使用 llama.cpp 加载本地量化模型生成中文威胁故事;无模型时自动降级为规则模板叙事。
  • 💻 现代化桌面 UI:采用火绒风格的深色主题,基于 WebView2 嵌入 Edge Chromium 内核渲染,提供纯粹的原生应用观感(无边框、无系统标题栏、系统托盘支持)。
  • 🪶 轻量级纯离线:单一 C++ 进程提供 REST + SSE + WebView2 UI,无任何外部网络依赖。

🛠️ 技术栈

层次 技术与依赖
UI WebView2 (Edge Chromium) 嵌入原生窗口 + 系统托盘
后端 单一 C++17 进程(MSVC v143),cpp-httplib 提供 HTTP + SSE 服务
扫描引擎 Windows BCrypt (SHA256), 自定义 YARA 式规则, PE 解析
文件监控 ReadDirectoryChangesW 重叠 I/O + WaitForMultipleObjects
AI 模块 llama.cpp 预构建 CPU x64 (延迟加载) / 规则模板叙事
前端 纯静态 HTML/JS + SSE 实时推送 (ECharts)

🚀 编译与运行

环境要求

  • IDE: Visual Studio 2022(v143 工具集)
  • 操作系统: Windows 10/11(需内置 WebView2 Runtime)
  • 平台架构: x64

编译步骤

  1. 克隆本仓库到本地:
    git clone https://github.com/AbyssGG/Candlelight.git
    cd Candlelight
  2. 使用 VS2022 打开 candlelight.sln
  3. 在顶部工具栏选择配置为 Release | x64
  4. 按下 F5Ctrl+B 进行编译。
  5. 编译成功后,可执行文件将生成在 x64/Release/candlelight.exe

运行说明

  • 双击运行 candlelight.exe,将弹出原生桌面窗口并渲染仪表盘。
  • 系统托盘会出现“烛光”图标,关闭主窗口会最小化到托盘。
  • 若要启用 AI 威胁叙事功能,请将下载的 .gguf 格式的大语言模型文件放置于 models/ 目录下即可自动识别。无模型文件时,系统自动降级为离线规则叙事模式。

🤝 参与贡献

我们非常欢迎社区开发者参与到 Candlelight 的开发中来!请阅读 CONTRIBUTING.md 了解如何提交 Issue 和 Pull Request。在参与讨论时,请遵守 CODE_OF_CONDUCT.md 中的行为准则。

📄 开源协议

本项目采用 GPL v3 开源许可证。允许自由使用、修改和分发,但任何衍生作品也必须开源并采用相同的许可证。


☕ 赞助与支持 (Donate)

如果你觉得 Candlelight 对你有所帮助,欢迎通过加密货币请作者喝杯咖啡,你的支持是我持续开源的动力!

  • BTC: bc1pyf9x2um0j7pfykzvnvyfwsjjjc5m88wfefz0cdysu7hqv4h5magqgjurdf
  • ETH: 0xD4871B2E18e3ec59f457890af5a754187130EB8D
  • TRX: TNUE7T9HTidCYJf9Jyf9mptvpZPYswvsgX

About

Fully offline Windows antivirus in C++17: YARA-style rules, PE heuristics, realtime behavior blocking, and local-LLM threat narration

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages