安全工程工作流,用于 OpenClaw 特权治理与加固。实现最小权限执行,审批优先的特权操作,空闲超时等。
网络安全工程师 需要的工具:.python3 (XQ 3.8).openclaw CLI(在靴子架设期间通过npm安装,或预安装).npm(如果尚未安装开膛手架是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
必备工具:
python3(>= 3.8)openclaw CLI(在初始化(bootstrap)过程中通过 npm 安装,或已预先安装)npm(仅当 openclaw 尚未预装时,在初始化阶段需要)lsof、ss 或 netstat 中的任意一个(用于端口/出站连接检测)stat、readlink(macOS/Linux 系统自带,由运行时钩子(runtime hook)安装器调用)环境变量(全部为可选,详见配置文档):
OPENCLAW_REQUIRE_POLICY_FILES — 若设为 1,则在缺失策略文件时阻止特权执行OPENCLAW_REQUIRE_SESSION_ID — 若设为 1,则每次执行特权操作均需提供任务会话 IDOPENCLAW_TASK_SESSION_ID — 每任务专属会话 ID(仅在 OPENCLAW_REQUIRE_SESSION_ID=1 时生效)OPENCLAW_APPROVAL_TOKEN — 若设置该值,则审批步骤中必须提供此令牌OPENCLAW_UNTRUSTED_SOURCE — 若设为 1,则将当前内容来源标记为不可信OPENCLAW_VIOLATION_NOTIFY_CMD — 通知程序二进制文件的绝对路径(该路径也须列入白名单)OPENCLAW_VIOLATION_NOTIFY_ALLOWLIST — 允许的 argv 数组 JSON 列表,或以逗号分隔的绝对路径列表OPENCLAW_REAL_SUDO — 覆盖真实 sudo 二进制文件路径(由运行时钩子 shim 使用)OPENCLAW_PYTHON3 — 覆盖 python3 路径(由运行时钩子 shim 使用)OPENCLAW_CYBER_SKILL_DIR — 覆盖技能目录路径(由运行时钩子 shim 使用)OPENCLAW_ALLOW_NONINTERACTIVE_SUDO — 若设为 1,则允许通过 shim 执行非交互式 sudo(默认:禁止)OPENCLAW_PRIV_REASON — 传递给人类可读的受保护执行包装器(guarded execution wrapper)的原因说明OPENCLAW_VIOLATION_NOTIFY_STATE — 覆盖通知状态文件路径OPENCLAW_SKIP_PLIST_CONFIRM — 若设为 1,则跳过修改 macOS LaunchAgent plist 前的交互式确认策略文件(须经管理员审核):
~/.openclaw/security/approved_ports.json~/.openclaw/security/command-policy.json~/.openclaw/security/egress_allowlist.json~/.openclaw/security/prompt-policy.json请在所有安全敏感任务中落实以下控制措施:
python3 scripts/generate_approved_ports.py 生成端口基线,再人工审核并精简。脚本 scripts/install-openclaw-runtime-hook.sh 将在 ~/.openclaw/bin/sudo 处安装一个需主动启用的 sudo shim。该 shim 通过在 OpenClaw 网关进程的 PATH 中前置 ~/.openclaw/bin,实现对系统原生 sudo 的同名覆盖(shadowing)。
功能说明:
sudo 调用,并将其路由至 guarded_privileged_exec.py 处理-h、--version、-k、-l)直接透传至真实 sudo不支持的功能:
PATH 中 ~/.openclaw/bin 位于 /usr/bin 之前的进程启用方式:该钩子默认不安装。如需启用,请在初始化时设置 ENFORCE_PRIVILEGED_EXEC=1。在 macOS 上,安装器将在修改网关 LaunchAgent plist 前弹出确认提示。随时可通过删除 ~/.openclaw/bin/sudo 卸载该 shim。
本技能仅向 ~/.openclaw/ 目录及技能目录内的 assessments/ 目录写入文件,不会向这两个目录树之外的任何位置写入文件。
在 ~/.openclaw/ 下(用户配置/状态):
~/.openclaw/security/approved_ports.json — 端口基线(由 generate_approved_ports.py 生成)~/.openclaw/security/root-session-state.json — 提权会话状态(由 root_session_guard.py 生成)~/.openclaw/security/privileged-audit.jsonl — 追加式审计日志(由 audit_logger.py 生成)~/.openclaw/security/violation-notify-state.json — 通知差异状态(由 notify_on_violation.py 生成)~/.openclaw/bin/sudo — 可选的 sudo shim(由 install-openclaw-runtime-hook.sh 安装,详见“运行时钩子”章节)~/.openclaw/logs/cyber-security-engineer-auto.log — 自动轮询运行日志(由 auto_invoke_cycle.sh 生成)在 assessments/ 下(位于技能目录内):
assessments/openclaw-assessment.json — 合规性检查结果assessments/compliance-summary.json — 面向工具/集成的结构化摘要assessments/compliance-dashboard.html — 人类可读的报告页面assessments/port-monitor-latest.json — 最新端口扫描输出assessments/egress-monitor-latest.json — 最新出站连接扫描输出临时文件:
tempfile.NamedTemporaryFile 创建的短生命周期临时文件(由 generate_approved_ports.py 创建)—— 自动清理本技能不会向 /usr/、/etc/ 或任何系统目录写入文件。
references/least-privilege-policy.mdreferences/port-monitoring-policy.mdreferences/compliance-controls-map.jsonreferences/approved_ports.template.jsonreferences/command-policy.template.jsonreferences/prompt-policy.template.jsonreferences/egress-allowlist.template.jsonscripts/preflight_check.pyscripts/root_session_guard.pyscripts/audit_logger.pyscripts/command_policy.pyscripts/prompt_policy.pyscripts/guarded_privileged_exec.pyscripts/install-openclaw-runtime-hook.shscripts/port_monitor.pyscripts/generate_approved_ports.pyscripts/egress_monitor.pyscripts/notify_on_violation.pyscripts/compliance_dashboard.pyscripts/live_assessment.pyOPENCLAW_UNTRUSTED_SOURCE=1 + prompt policy),须强制要求用户确认。OPENCLAW_REQUIRE_SESSION_ID=1),则须严格执行。~/.openclaw/security/privileged-audit.jsonl。汇报状态时,须包含以下内容:
check_id(s)、status、risk 及简洁明确的证据。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章