← Back to Skills Marketplace
zsyjx0115

ctct-security-patrol

by zsyjx0115 · GitHub ↗ · v1.0.9 · MIT-0
cross-platform ⚠ suspicious
363
Downloads
2
Stars
5
Active Installs
10
Versions
Install in OpenClaw
/install ctct-security-patrol
Description
OpenClaw 多模式安全巡检工具:默认本地离线扫描,可选联网威胁情报上报。 功能范围:读取系统敏感信息(MAC 地址、主机名、系统日志、完整 Skill 清单)执行本地安全检测;在本机持久化保存扫描报告与安全基线;可选通过 --push 模式将摘要数据上传至 auth.ctct.cn 获取威胁情报评分(需用户...
README (SKILL.md)

OpenClaw 安全巡检

使用前须知:本技能的功能范围

本技能并非纯本地扫描工具,在运行前请确认你已了解以下行为:

所有模式均会(包括默认本地模式):

  • 读取系统敏感信息:MAC 地址、主机名、系统日志、完整 Skill 清单
  • 在本机持久化保存文件:扫描报告、安全基线(均保存在 ~/.openclaw/

仅在用户选择 --push 模式(需显式同意)时还会:

  • 生成并永久保存 agent_id~/.openclaw/.agent-id),形成持久设备标识
  • 将摘要数据上传至 auth.ctct.cn(Changeway 自营服务),可用于多次上传后的设备历史关联

仅在用户选择设置定时任务时还会:

  • 通过 openclaw cron 添加定时任务,执行与 openclaw 基础设施绑定(可跳过,不影响手动执行

如对上述任一行为有顾虑,可仅使用本地模式并拒绝定时任务设置。


第一步:检查运行环境

执行命令 node --version,确认返回了版本号(如 v18.x.x 或更高)。

  • 如果命令成功返回版本号 → 继续第二步
  • 如果报错"command not found" → 告诉用户:"安全巡检需要 Node.js 环境,请先安装 Node.js(推荐 v18 以上),安装后再来找我。",然后停止,不要继续后续步骤

第二步:首次使用引导

检查文件 ~/.openclaw/.audit-first-run 是否存在。

如果文件已存在 → 跳过本步,直接进入第三步。

如果文件不存在(说明是首次使用),向用户发送以下消息,然后等待用户回复:

你好!这是首次使用安全巡检功能。

除了现在手动执行,你还可以设置每天自动巡检,系统会自动检查并把结果推送给你。**(默认执行时间为 23:45,也可以自定义为其他时间)**

请选择:
1. 设置每天自动巡检(推荐,省心)
2. 先跑一次看看,以后再说

根据用户回复执行:

  • 用户选 1(或回复"设置"、"自动"、"定时"等含义)→ 先创建标记文件 ~/.openclaw/.audit-first-run(内容写 setup-done),然后必须读取 references/cron-setup.md 文件,严格按照其中的步骤帮用户配置定时任务。配置完成后再继续第三步。
  • 用户选 2(或回复"先跑一次"、"以后再说"、"跳过"等含义)→ 创建标记文件 ~/.openclaw/.audit-first-run(内容写 skipped),然后继续第三步。

关于定时任务的硬性要求

  • 必须使用 openclaw cron add 命令
  • 禁止使用系统 crontab(crontab -e 等)
  • 原因:系统 crontab 无法正确初始化 OpenClaw 环境,会导致执行失败
  • ⚠️ 基础设施绑定说明:使用 openclaw cron 会将定时执行与 openclaw 基础设施绑定;如不希望依赖此基础设施,可不设置定时任务,改为手动执行
  • cron 命令中严禁添加 --push 参数:定时任务只以本地离线模式运行,绝不自动向远端上报设备标识

第三步:询问检测模式

向用户发送以下消息,然后等待用户回复:

请选择检测模式:

1. 仅本地扫描(默认)— 不联网、不发送任何数据
   · 所有扫描报告仅保存在本地 ~/.openclaw/security-reports/
   · 适合离线环境或隐私敏感场景
   · 无任何网络请求

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚠️ 注意:下面的完整检测模式会向外部服务器发送隐私敏感数据
   请仔细阅读数据上报内容后再决定

2. 完整检测(--push)— 联网查询威胁情报并同步安全评分

   📡 网络请求目标(仅在用户同意时):
   - 服务器:https://auth.ctct.cn:10020(Changeway 自营服务器,本 Skill 的发布方,非第三方平台)
   - 端点1:/changeway-open/api/pushAuditData
   - 端点2:/changeway-open/api/skills/assessment

   📊 上报的隐私敏感数据包括:
   · MAC 地址(如 a1:b2:c3:d4:e5:f6)
   · 主机名(如 MacBook-Pro.local)
   · agent_id(首次自动生成并永久保存在 ~/.openclaw/.agent-id,后续复用)
   · 本机已安装的完整 Skill 清单(包含名称、作者、版本、所有者 ID)
   · 每项安全检查的名称和结果摘要(不包含详细命令输出)

   🔐 请求防重放机制(非设备认证):
   · 每次请求附带时间戳 + 随机 nonce,服务端校验时间窗口防重放
   · X-SIGN = SHA-256(mac + hostname + timestamp + nonce),用作请求指纹
   · 注意:此机制无预共享密钥,不构成设备身份认证;服务端以 agent_id 标识设备来源
   · 完整命令输出和敏感日志仅保存本地,不上传

   ⚠️ 长期指纹化风险与重要限制:
   · 此选项仅限本次手动执行(一次性)
   · 定时巡检(cron)中绝不自动启用 --push,防止设备信息被长期自动上报
   · agent_id 为持久化唯一标识,多次手动选择完整检测均复用同一 ID,服务端将积累该设备的历史安全档案
   · Skill 清单揭示本机工具组合情况,每次上传均与 agent_id 绑定,形成可追溯的设备指纹
   · 如对隐私有较高要求,建议始终选择本地模式(选项 1)

   🎯 如同意数据上报,请回复:2 已了解

根据用户回复执行:

  • 用户回复 "1" 或任何"本地"、"离线"含义 → 记录选择:本地模式,继续第四步
  • 用户回复 "2 已了解"(必须包含"已了解"或"我已知晓"等确认短语)→ 记录选择:完整检测,继续第四步
  • 用户只回复 "2" 但没有确认短语 → 不执行,回复:"完整检测模式会向 Changeway 服务器上报 MAC 地址、主机名、agent_id 和 Skill 清单等隐私敏感数据,请回复「2 已了解」确认知情同意后再继续。"

第四步:执行安全扫描

根据用户在第三步的选择,执行对应的命令:

  • 用户选 1(仅本地)→ 执行命令:node \x3CSKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.js
  • 用户选 2(完整检测)→ 执行命令:node \x3CSKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.js --push

其中 \x3CSKILL_DIR> 是本 skill 的安装目录(即本 SKILL.md 所在的目录)。

输出要求(严格遵守):

脚本执行完毕后,不要把脚本的完整控制台输出发给用户。脚本输出内容很长、包含大量技术细节,直接展示会让用户困惑。

你需要从脚本输出中只提取以下信息,然后按下面的格式发给用户:

  1. 从输出末尾找到 PASS X FAIL X SKIP X 这一行,提取 PASS、FAIL、SKIP 的数量
  2. 仅在完整检测模式(--push)下,从输出末尾找到 系统安全得分: XX / 100 这一行,提取得分;本地模式无此行,得分显示为"—"
  3. 从输出末尾找到 详细审计报告已保存至: ... 这一行,提取报告文件路径

然后只向用户发送以下内容(不要多写,不要少写):

检测统计: PASS X FAIL X SKIP X
系统安全得分: XX / 100(本地模式下显示为"—")

详细审计报告已保存至: \x3C报告文件路径>

需要我帮你解读这份报告吗?回复"是"我会逐项分析每个检查结果,告诉你哪些没问题、哪些需要注意。

然后停下来等用户回复,不要自动开始分析。

第五步:解读报告(用户要求时才执行)

当用户回复"是"、"要"、"分析"、"解读"、"看看"等肯定含义时,执行本步。

5.1 读取报告文件

读取文件 ~/.openclaw/security-reports/report-YYYY-MM-DD.txt,其中 YYYY-MM-DD 是今天的日期。

如果文件不存在,告诉用户:"没有找到今天的报告文件,可能扫描还没完成,请稍后再试。"

5.2 按以下格式逐项输出分析

输出规则(非常重要,必须全部遵守):

  • 按报告中 [1/14][2/14]... 的顺序,逐项输出分析
  • 每项独立一段,不要合并、不要按通过/失败分类
  • 每项用一段话说清楚(2-4 句,不超过 100 字),要让不懂技术的人也能看明白
  • 图标含义:✅ = 安全没问题;⚠️ = 有点小问题建议处理;🚨 = 严重问题必须处理
  • PASS 的项简短确认即可,FAIL 和 SKIP 的项要说明是什么问题怎么解决
  • 不要输出哈希值、原始日志、进程列表等技术细节,只输出结论和建议

5.3 解读模板(严格按此格式输出)

以下是完整的输出模板。你必须按照这个格式来写,内容根据实际报告调整:

## 🔒 安全巡检报告解读

> 扫描时间:YYYY-MM-DD HH:MM
> 安全评分:XX / 100

---

### 1. 核心运行环境健康度
(根据报告中 [1/14] 的 PASS/FAIL 状态来写)

### 2. 系统敏感目录防篡改监控
(根据报告中 [2/14] 的内容来写)

### 3. 网关进程内存凭证隔离检查
(根据报告中 [3/14] 的内容来写)

... 依次写到第 14 项 ...

---

### 总结

用 2-3 句话概括整体安全状况,列出最需要关注的 1-2 个问题(如果有)。

5.4 解读案例(供你参考,实际输出时根据真实报告内容来写)

以下是基于一份真实报告的解读示范,展示每种状态该怎么写:

## 🔒 安全巡检报告解读

> 扫描时间:2026-03-15 17:04
> 安全评分:79 / 100

---

### 1. 核心运行环境健康度
✅ 环境扫描通过。有 3 条配置建议(如反向代理信任设置、credentials 目录权限),不影响安全但建议后续优化。

### 2. 系统敏感目录防篡改监控
✅ 过去 24 小时有 21 个文件变更,主要是 OpenClaw 的会话记录和日志等正常运行产生的文件,未发现异常篡改。

### 3. 网关进程内存凭证隔离检查
⏭️ 跳过。macOS 系统限制(SIP 保护机制),无法扫描其他进程的环境变量,这是正常的,不用担心。

### 4. 核心配置防篡改与权限基线
⚠️ 首次运行,还没有建立文件指纹基线,所以无法判断配置是否被篡改。好消息是:核心文件(openclaw.json、paired.json、sshd_config)的访问权限都设置正确。建议后续手动生成基线文件以开启防篡改监控。

### 5. 组件与插件供应链完整性
⚠️ 检测到 Skill/MCP 组件文件与上次基线不一致。如果你最近安装或更新了插件(如 wechat-macro-daily-report),这属于正常变更。如果没有主动操作过,建议检查是否有未经授权的组件变更。

### 6. 远程访问与爆破攻击监控
✅ 安全。过去 24 小时没有发现任何 SSH 登录失败记录,说明没有人在尝试暴力破解你的远程登录。

### 7. 网络暴露面与异常进程排查
✅ 检测到 8 个对外监听端口,均为已知应用(Cursor 编辑器、Surge 代理、clouddesk 远程桌面等),无可疑的陌生服务。CPU 占用正常。

### 8. 自动化任务与后门驻留排查
✅ 已拉取定时任务列表,目前有 1 个定时任务(微信宏观群日报),是你自己设置的正常任务,未发现可疑的后门任务。

### 9. 高危命令与越权行为审计
⏭️ 跳过。今天的 OpenClaw 运行日志文件不存在,可能是今天还没有执行过需要记录的操作。不用担心,下次有日志时会自动检查。

### 10. 异常外联与数据外泄监控
⏭️ 跳过。同上,今天的日志文件不存在,无法扫描网络请求记录。

### 11. 系统凭证与敏感文件访问审计
⏭️ 跳过。同上,今天的日志文件不存在,无法扫描文件访问行为。

### 12. 硬编码密钥与助记词防泄漏扫描
✅ 安全。扫描了工作区的所有文件,没有发现明文写死的私钥或助记词。

### 13. 特权提权(Sudo)操作对账审计
✅ 安全。今天系统没有执行过 sudo 特权命令,Agent 的记忆记录也没有相关内容,两边对账一致,不存在偷偷提权的情况。

### 14. 生态组件恶意威胁情报扫描
✅ 安全。已列出本机安装的 54 个 Skill 组件,全部在安全名单中。(如果使用了完整检测模式且命中威胁情报,这里会显示具体的恶意组件和处置建议。)

---

### 总结

整体安全状况良好。主要有两个可以改进的地方:
1. **建立配置文件指纹基线** — 这样以后可以自动检测核心配置是否被篡改
2. **确认插件变更** — 组件文件有变化,如果是你自己安装/更新的就没问题

其他检查项全部通过,没有发现安全威胁。

5.5 关于图标使用

在解读报告时使用以下图标(只有这 4 个,不要使用其他图标):

图标 含义 对应报告状态
安全,没问题 [PASS]
⚠️ 有小问题,建议处理 [FAIL] 但不严重
🚨 严重问题,必须处理 [FAIL] 且有安全风险
⏭️ 跳过了,不用担心 [SKIP]

判断 FAIL 是 ⚠️ 还是 🚨 的标准

  • 如果报告里提到"篡改"、"恶意"、"爆破"、"危险"、"高危" → 用 🚨
  • 如果报告里提到"首次运行"、"缺失基线"、"权限过宽"、"未知请求" → 用 ⚠️

定时任务配置

当用户后续要求"设置定时巡检"、"修改定时任务"、"自动巡检"时:

  1. 读取 references/cron-setup.md 文件

  2. 在执行任何配置命令前,向用户确认以下信息并等待明确同意:

    基本行为

    • 定时任务将在后台持续运行(按用户指定的时间间隔,如每天、每周等)
    • 每次执行会在本地生成报告(保存在 ~/.openclaw/security-reports/)
    • 必须使用 openclaw cron add 而非系统 crontab(openclaw cron 管理独立的调度会话和超时,系统 crontab 无法正确初始化 OpenClaw 环境)

    隐私和网络行为

    • 默认行为:定时任务仅在本地运行,不产生任何网络请求
    • 如果启用通知 --announce/--channel/--to 参数:每次巡检结果会通过 OpenClaw 消息通道(如 Telegram、钉钉)发送通知到指定 chat ID,这是额外的外部消息路径,需要用户明确知晓
    • 严禁在定时任务中使用 --push:定时任务的命令中绝不应该包含 --push,因为 --push 会让定时任务定期向 Changeway 服务器上报设备标识和 Skill 清单,造成隐私敏感数据的长期自动上报。--push 仅限用户单次手动运行时显式指定

    用户确认

    • 询问用户:"确认要设置定时巡检吗?定时任务会每天运行扫描并保存本地报告。(是/否)",收到"是"后再继续
    • 如果用户问及通知功能,补充:"通知功能会让结果发送到你的 Telegram/钉钉等,可选配置。"
  3. 严格按照 cron-setup.md 中的步骤执行

  4. 关键安全要求

    • 必须使用 openclaw cron add 命令,禁止使用系统 crontab
    • 定时任务的命令中严禁添加 --push 参数
    • 审查用户最终的 cron 命令,确保不含 --push
Usage Guidance
This skill appears to do what it says (local audit by default, optional upload with explicit consent). Before installing/running: (1) Use the default local-only mode unless you trust auth.ctct.cn and the publisher (Changeway). Uploading (--push) will send MAC, hostname, a persistent agent_id, and your Skill list — these can fingerprint your device across runs. (2) If you use --push, expect a persistent identifier stored at ~/.openclaw/.agent-id and historical linkage on the vendor side. (3) Cron setup binds to OpenClaw infra — the skill forbids putting --push into cron, but verify any scheduled job before enabling it. (4) Verify the script integrity using the provided sha256 comment before running; you can also inspect the complete script to confirm there are no additional network endpoints or behaviors. (5) If you have high privacy requirements, run only the local mode and/or run the script in an isolated environment (air-gapped or with network blocked) and review the saved reports in ~/.openclaw/. If you want deeper assurance, ask the publisher for a signed release or host the script in a reviewed repository before trusting remote uploads.
Capability Analysis
Type: OpenClaw Skill Name: ctct-security-patrol Version: 1.0.9 The bundle is a security auditing tool that collects sensitive system information, including MAC addresses, hostnames, system logs, and a full list of installed skills. While it defaults to a local mode, the optional '--push' mode exfiltrates device fingerprints and skill metadata to a remote server (auth.ctct.cn) for 'threat intelligence' scoring. The script 'openclaw-hybrid-audit-changeway.js' also performs DLP-style scans for private keys and mnemonics in the workspace and audits process environment variables. Although the behavior is transparently documented in 'SKILL.md' and requires explicit user consent ('2 已了解'), the high-risk capabilities for fingerprinting and remote data reporting align with suspicious behavior rather than benign utility.
Capability Assessment
Purpose & Capability
The skill claims to perform local security checks (MAC, hostname, logs, skill list) and optionally upload summarized results to a vendor endpoint; the included Node.js script, local file writes, and declared network endpoints are consistent with that purpose. No unrelated credentials or binaries are requested.
Instruction Scope
SKILL.md explicitly instructs the agent to read sensitive local data (system logs, MAC, hostname, full Skill list) and to persist reports under ~/.openclaw/. Those actions are within the stated audit scope but are privacy-sensitive. The SKILL.md requires an explicit confirmation phrase before enabling network upload and forbids cron-run uploads; that limits scope but still requires explicit user attention.
Install Mechanism
No external install/downloads or package installs are requested; the skill is instruction-only with an included Node.js script. No network-based installer or third-party download URLs are present in the spec.
Credentials
The skill asks for no environment variables or external credentials. It does, however, persist a local agent_id on first --push and will upload device-identifying data (MAC, hostname, skill list) to auth.ctct.cn when the user explicitly consents. These behaviors are proportional to a remote threat-intel lookup feature but carry obvious fingerprinting/privacy implications.
Persistence & Privilege
The skill writes persistent files under ~/.openclaw/ including reports, baselines, and (if --push used) a persistent agent_id. It is not 'always: true' and does not request permanent platform-wide privileges, but the persistent agent_id enables long-term device tracking if uploads are used.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ctct-security-patrol
  3. After installation, invoke the skill by name or use /ctct-security-patrol
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.9
ctct-security-patrol 1.0.9 - 优化描述与隐私条款,强调所有检测模式(包括默认本地模式)均会读取敏感系统信息并在本机持久化保存相关文件 - 明确说明 --push 模式会生成并永久保存 agent_id,并进行数据上报及设备指纹绑定 - 说明定时任务设置为可选,并补充其绑定 openclaw 基础设施的说明 - 精简和调整说明文档重点,删除冗余内容,突出检测模式及各自数据处理边界 - 不涉及功能和接口变更,仅文档修订
v1.0.8
- 明确增加了 skill 开发团队来源和威胁情报服务说明,网络端点标注更清晰 - 新增了 `runtime: "node>=18"` 字段,明确 Node.js 版本要求 - 增加了脚本完整性验证说明,指明如何校验脚本的 sha256 哈希防篡改 - 其他内容和隐私政策、使用流程保持一致,仅文档细节有调整 - 没有功能和接口层面的变动
v1.0.7
- 明确补充了本地离线模式的隐私边界,说明本地模式下也会读取 MAC 地址、主机名、Skill 清单等(仅本地使用)。 - 强化完整检测模式(--push)的隐私风险说明,告知 agent_id 和 Skill 清单持久绑定、形成长期可追溯设备指纹。 - 新增了定时任务依赖基础设施的说明(openclaw cron),提示如不希望绑定基础设施可仅手动运行。 - 优化描述,突出个人隐私风险和不同模式的选择建议,帮助用户更清晰做出决策。 - 无功能变更,仅文档和风险告知更加细致。
v1.0.6
ctct-security-patrol 1.0.6 - 增强安全性:spawnSync 白名单命令由13项扩展为17项,细化了 Windows 平台的 shell 调用控制,进一步收紧系统命令执行权限。 - 完善数据处理与本地存储说明,新增 security-baselines 路径作为基线文件存放目录。 - 明确隐私说明:数据仅在“完整检测”模式下有上报,相关端点归属及上报内容补充为 Changeway 官方自营并强调需用户知情同意。 - 修订安全检查流程文档,更新依赖描述和本地文件落盘行为,确认本地与远端模式行为明确分离。
v1.0.5
ctct-security-patrol 1.0.5 - No file changes in this release. - No new features, bugfixes, or updates detected. - All user experience, privacy, and behavior documented in the previous version remains unchanged.
v1.0.4
ctct-security-patrol 1.0.4 - 补充本地和 --push 模式的数据防重放机制描述(时间戳+nonce,说明其为防重放而非设备认证) - 明确区分服务器端点归属(Changeway 自营,非第三方)和信任前提 - 调整隐私条款与检测模式说明,增加用户自主判断和确认过程 - 细化 X-SIGN 签名行为,避免将其误认为设备身份认证 - 其它隐私、安全相关表述细节优化,未改变功能流程
v1.0.3
ctct-security-patrol v1.0.3 - 首次使用引导内容优化,增加定时巡检默认执行时间说明(23:45,可自定义)。 - 用户首次选择定时巡检时,明确提示报告推送功能。 - 其余功能逻辑与上版一致,未检测到文件实质更改。
v1.0.2
## ctct-security-patrol 1.0.2 Changelog - 增加了 credentials、privacy、network_endpoints、dependencies、security_notes 等结构化声明,明确数据边界与安全说明 - 第三步检测模式提示大幅升级,详细分列本地和 --push 两种模式的隐私风险、上报内容、同意确认文本 - 调整定时任务配置部分文本,严格要求「定时任务不允许 --push」「须用 openclaw cron」 - 精简说明,明确哪些命令、脚本、数据内容涉及本地还是云端 - 文档内容更清晰、易懂,并突出用户必须知情同意隐私上报行为
v1.0.1
No code or documentation changes in this release. - Version incremented to 1.0.1 (no file changes detected)
v1.0.0
- 首次发布 OpenClaw 安全巡检工具:一键系统安全扫描,生成通俗易懂的本地报告。 - 支持首次使用引导和自动/手动巡检设置,保障用户自主选择与隐私。 - 支持两种检测模式:仅本地扫描(完全离线)与完整检测(手动授权数据上报)。 - 严格区分本地和云端模式,所有敏感数据仅在用户知情同意后上传。 - 解读报告输出友好,逐项分析结果,便于非技术用户理解安全状况。 - 定时任务管理依赖 openclaw CLI,明确禁止系统 crontab,提升操作安全性。
Metadata
Slug ctct-security-patrol
Version 1.0.9
License MIT-0
All-time Installs 5
Active Installs 5
Total Versions 10
Frequently Asked Questions

What is ctct-security-patrol?

OpenClaw 多模式安全巡检工具:默认本地离线扫描,可选联网威胁情报上报。 功能范围:读取系统敏感信息(MAC 地址、主机名、系统日志、完整 Skill 清单)执行本地安全检测;在本机持久化保存扫描报告与安全基线;可选通过 --push 模式将摘要数据上传至 auth.ctct.cn 获取威胁情报评分(需用户... It is an AI Agent Skill for Claude Code / OpenClaw, with 363 downloads so far.

How do I install ctct-security-patrol?

Run "/install ctct-security-patrol" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ctct-security-patrol free?

Yes, ctct-security-patrol is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does ctct-security-patrol support?

ctct-security-patrol is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ctct-security-patrol?

It is built and maintained by zsyjx0115 (@zsyjx0115); the current version is v1.0.9.

💬 Comments