# Deploying Ransomware Canary Files

> 使用 Python watchdog 库在关键目录中部署并监控勒索软件诱饵文件（Canary File），实现实时文件系统事件检测。 将策略性命名的诱饵文件（模拟高价值目标，如财务记录、凭据、数据库导出）放置在勒索软件通常优先枚举的 目录中，监控对诱饵文件的任何读取、修改、重命名或删除操作，并在检测到交互时通过 Email、Slack Webhook 或 Syslog 触发即时告警，在完整加密开始前提供早期预警。

- Skill: `killvxk/deploying-ransomware-canary-files` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/deploying-ransomware-canary-files`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/deploying-ransomware-canary-files/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/deploying-ransomware-canary-files

---

# 部署勒索软件诱饵文件

## 适用场景

- 在文件服务器、NAS 设备或终端系统上部署主动勒索软件检测
- 构建早期预警系统，在勒索软件加密关键业务数据前完成检测
- 在无法部署 EDR Agent 的系统上，使用轻量级诱饵文件监控补充 EDR 解决方案
- 通过模拟诱饵文件触发来测试勒索软件应急响应流程
- 监控共享驱动器、Home 目录和备份卷中的未授权文件操作

**不适用场景**：不可替代终端保护、备份策略或网络分段。诱饵文件仅为检测层，并非预防机制。

## 前置条件

- Python 3.8+ 及 pip
- watchdog 库（`pip install watchdog`）
- 对诱饵文件部署目录的写入权限
- 用于告警的 SMTP 服务器凭据或 Slack Webhook URL
- 在系统目录中放置诱饵文件所需的管理员权限

## 工作流程

### 步骤 1：生成诱饵文件

创建具有真实文件名和内容的诱饵文件，以吸引勒索软件扫描器。文件名应使用 `Passwords.xlsx`、`Financial_Report_2026.docx`、`backup_credentials.csv` 等格式，内容为看似合理的虚假数据。将文件放置在勒索软件通常优先攻击的目录中：用户桌面、Documents 文件夹、网络共享根目录和备份路径。

### 步骤 2：部署文件系统监控

使用 Python watchdog 库结合自定义 `FileSystemEventHandler`，监控诱饵文件路径。Handler 针对诱饵文件触发 `on_modified`、`on_deleted`、`on_moved` 和 `on_created` 事件。任何合法用户或进程都不应接触这些文件，因此任何交互都是勒索软件或未授权访问的高可信度指示器。

### 步骤 3：配置告警管道

将文件系统监控器连接到多个告警渠道：通过 SMTP 发送邮件、发送 Slack Webhook POST、转发 Syslog 到 SIEM，以及写入本地日志文件。告警有效载荷中应包含触发事件类型、文件路径、时间戳和进程信息（如可获取）。

### 步骤 4：验证与测试

通过程序化方式修改、重命名和删除诱饵文件，模拟勒索软件行为，验证检测管道是否正常触发。测量告警响应时间，并验证所有配置渠道的告警投递情况。

## 核心概念

| 术语 | 定义 |
|------|------|
| **诱饵文件（Canary File）** | 放置在受监控目录中的诱骗文件，当被访问、修改或删除时触发告警 |
| **Watchdog** | Python 文件系统监控库，使用操作系统原生 API（Linux 的 inotify、macOS 的 FSEvents、Windows 的 ReadDirectoryChangesW） |
| **蜜罐文件（Honey File）** | 诱饵文件的别名；用于吸引和检测恶意活动的虚假文档 |
| **熵值检测（Entropy Check）** | 通过测量文件内容的随机性来检测加密行为（勒索软件加密后产生高熵值输出） |

## 工具与系统

- **watchdog**：Python 文件系统监控库，使用操作系统原生事件 API
- **smtplib**：Python 标准库，用于 SMTP 邮件告警
- **requests**：HTTP 库，用于 Slack Webhook 集成
- **hashlib**：SHA-256 哈希，用于诱饵文件完整性验证
- **psutil**：检测诱饵文件访问时的进程信息采集

## 输出格式

```
RANSOMWARE CANARY ALERT
========================
Timestamp: 2026-03-11T14:23:07Z
Event: FILE_MODIFIED
Canary File: /srv/shares/finance/Passwords.xlsx
Directory: /srv/shares/finance
SHA-256 Before: a3f2...8b4c
SHA-256 After: 7e91...2d3f
Alert Channels: [email, slack, syslog]
Action: Investigate immediately - potential ransomware activity
```

