---
id: security-rule-001
name: "文件系统安全规则"
description: "限制对敏感目录和文件的访问"
version: "1.0.0"
author: "System Administrator"

# 触发条件
trigger:
  type: "on_tool_call"
  conditions:
    - tool_name: "file_write"
    - path_matches: "**/.env*"
  scope: "global"

# 优先级和冲突解决
priority: 100  # 高优先级
conflict_resolution: "block"

# 执行动作
steps:
  - type: "block"
    name: "阻止敏感文件写入"
    message: "禁止写入敏感配置文件"
    reason: "安全策略禁止写入.env等敏感配置文件"
    requireApproval: false

# 验证条件
conditions:
  - type: "regex"
    field: "tool.args.path"
    pattern: "^.*/\\.env"
  - type: "regex"
    field: "tool.args.path"
    pattern: "^.*/passwd$"
  - type: "regex"
    field: "tool.args.path"
    pattern: "^.*/shadow$"
  - type: "regex"
    field: "tool.args.path"
    pattern: "^/etc/.*"
  - type: "regex"
    field: "tool.args.path"
    pattern: "^/var/log/.*"

# 变量和上下文
variables:
  allowed_paths: ["/tmp/", "/home/user/", "/var/www/"]
  max_file_size: 10485760

# 日志和监控
logging:
  level: "warn"
  notify: ["security-channel"]
  retention_days: 30
---

# 文件系统安全规则

## 规则说明

此规则用于保护系统敏感文件，防止未经授权的写入操作。

## 保护范围

1. **配置文件**: 所有`.env`文件（包含环境变量）
2. **系统文件**: `/etc/passwd`, `/etc/shadow`等
3. **日志文件**: `/var/log/`目录下的文件
4. **其他敏感路径**: 根据正则表达式匹配

## 例外情况

以下路径允许写入：
- `/tmp/` 临时目录
- `/home/user/` 用户目录
- `/var/www/` Web根目录

## 审计日志

所有被阻止的写入操作都会记录到安全审计日志中，安全团队会定期审查。

## 紧急绕过

在紧急情况下，可以通过以下方式临时禁用此规则：
1. 将规则文件重命名为`.md.disabled`
2. 联系安全团队获取临时令牌
3. 通过管理界面临时禁用

## 相关规则

- 数据加密规则
- 访问控制规则
- 审计日志规则