mcpField
M
macos-security

macos-security

github.com/alphaonedev安全59 次安装
代码仓库

关于 macos-security

macos-security 是供 AI Agent 执行 macOS 安全检查和系统加固的技能。它通过 macOS 命令整合恶意软件扫描、权限管理、签名验证、隔离属性处理和日志审计。

主要功能

  1. 01XProtect 恶意软件扫描
  2. 02MRT 威胁清除
  3. 03TCC 权限管理
  4. 04隔离属性处理
  5. 05代码签名验证
  6. 06安全日志审计

适用场景

  1. 01部署前检查应用
  2. 02审查应用对摄像头或联系人的访问
  3. 03扫描可疑文件并检查日志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill macos-security

安装后在 Claude Code 中输入/macos-security确认已加载。

详细介绍

macos-security

用途

此技能可让 AI Agent 管理 macOS 安全功能,包括用于恶意软件检测的 XProtect、用于移除恶意软件的 MRT、用于隐私权限管理的 TCC、隔离属性、代码签名验证和安全审计。使用它来强化 macOS 系统,抵御威胁并确保合规。

适用场景

在系统强化例行工作、应用部署检查、隐私审计或恶意软件扫描期间使用此技能。它适用于全新 macOS 设置、软件安装,或在排查未经授权的应用访问、未签名二进制文件等安全问题时使用。

主要功能

  • 通过查询最新定义并扫描文件,使用 XProtect 检测恶意软件。
  • 运行 MRT,从系统中移除已知威胁。
  • 管理 TCC 权限,控制应用对摄像头或通讯录等敏感数据的访问。
  • 检查并移除已下载文件上的隔离标记,以允许执行。
  • 验证应用的代码签名,确保其来自受信任的开发者。
  • 使用系统日志执行安全审计,以识别潜在的入侵行为。

使用模式

在脚本中调用此技能以实现自动化强化,例如在 macOS 应用的虚拟机预配或 CI/CD 工作流期间使用。可在事件响应时被动使用,也可在计划任务中主动使用。对于 AI Agent,可通过处理 macOS 专用命令的函数封装调用此技能,并在需要时使用 sudo 提升权限。模式:先检查安全状态,再应用修复。

常用命令/API

使用以下 macOS CLI 命令执行安全任务。所有命令都需要管理员权限;通过退出代码检查错误。

  • XProtect 扫描:使用 softwareupdate --list 检查更新,然后运行 xprotect scan /path/to/file(通过内部工具)。 示例代码段:
    system("softwareupdate --list");
    if (exit_code != 0) { handle_error("Update check failed"); }
    
  • MRT 移除:运行 /usr/libexec/MRTConfigData remove 以触发恶意软件移除。 示例代码段:
    system("/usr/libexec/MRTConfigData remove");
    print("MRT executed; check logs for results.");
    
  • TCC 权限:使用 tccutil reset <service> <app> 重置权限,或使用 tccutil set <service> <app> allow 授予权限。 示例:使用 tccutil set Camera com.example.app allow 授予摄像头访问权限。
  • 隔离处理:使用 xattr -l /path/to/file 检查,并通过 xattr -d com.apple.quarantine /path/to/file 移除。 示例代码段:
    xattr -l /path/to/file;
    if (grep("com.apple.quarantine")) { system("xattr -d com.apple.quarantine /path/to/file"); }
    
  • 代码签名验证:运行 codesign -vvv --verify --strict /path/to/app 检查签名。 示例:使用 codesign -dvvv /Applications/MyApp.app 进行详细验证。
  • 安全审计:使用 log show --predicate 'subsystem == "com.apple.securityd"' --last 1h 查询日志。 配置格式:在 log 命令中使用谓词进行筛选,例如通过 --style json 输出 JSON。

如果需要 API 密钥(例如用于第三方安全工具),请在脚本中使用 $SECURITY_API_KEY 等环境变量:curl -H "Authorization: Bearer $SECURITY_API_KEY" https://api.example.com/scan。

集成说明

将命令封装在 AI Agent 函数中进行集成,例如使用 Python 的 subprocess 调用 tccutil。对于自动化,可结合 Jamf 或 MDM API 等工具使用。确保 Agent 具有足够的权限;如有需要,可使用 osascript 提示用户。可以编辑 /etc/authorization 等配置文件来设置 TCC 策略,但请先备份。请在沙盒化的 macOS 环境中测试集成,以避免造成中断。

错误处理

始终检查命令的退出代码;例如,如果 codesign 返回非零值,请记录错误并建议重新签名。解析输出中的特定字符串,例如,如果 tccutil 因 "Access denied" 失败,请提示用户提升管理员权限。在脚本中使用 try-catch:

try {
  system("tccutil set Camera com.example.app allow");
} catch (e) {
  if (e.includes("permission")) { system("sudo -u root tccutil set Camera com.example.app allow"); }
}

常见错误:权限问题(使用 sudo)、找不到文件(验证路径),或 XProtect 已过时(先运行更新)。将所有错误记录到 /var/log/securityd.log 以供审计。

具体使用示例

  1. 恶意软件扫描与清除:扫描可疑文件并清除威胁:

    • 首先,更新 XProtect:softwareupdate --install --all。
    • 然后运行 MRT:system("/usr/libexec/MRTConfigData remove")。
    • 验证:log show --predicate 'eventMessage contains "MRT"'。 这样可以清理系统;如果出错,请检查 MRT 是否可用。
  2. 管理应用的 TCC 权限:为新应用授予相机访问权限:

    • 检查当前状态:tccutil reset Camera com.example.app。
    • 授予权限:tccutil set Camera com.example.app allow。
    • 测试:运行应用并确认其可以访问。 如果出错,请使用 sudo,并记录操作以供审计。

图关系

  • 相关:macos-filesystem(用于处理已隔离的文件)
  • 依赖:macos-networking(用于涉及网络日志的安全审计)
  • 冲突:无
  • 使用方:general-security(作为 macOS 专用加固的子系统)

评论

支持 Markdown