Clawhub Quarantine Installer
Overview
Esta skill automatiza a instalação de habilidades do ClawHub em um diretório de quarentena dedicado ($HOME/.openclaw/clawhub-quarantine/skills/) e executa um script de auditoria básica para identificar potenciais riscos. Ela é projetada para permitir uma análise manual mais segura de skills antes de integrá-las ao seu ambiente de produção do OpenClaw.
Workflow de Uso
- 1. Instalar uma Skill em Quarentena:
* Execute o script
scripts/install_and_audit.sh com o nome da skill desejada.
* Exemplo:
bash ~/.openclaw/workspace/skills/clawhub-quarantine-installer/scripts/install_and_audit.sh <nome-da-skill>
*
Importante: O script
install_and_audit.sh usa
npx clawhub install --force. Este comando irá
baixar e executar código remoto do registro
npm.
É crucial que esta skill seja executada APENAS em um ambiente isolado (como uma VM ou container Docker) que não tenha acesso a dados sensíveis ou à sua máquina de produção. A quarentena isolada é projetada para mitigar, mas não eliminar, todos os riscos.
*
Nota: A flag
--force é usada para instalar skills sinalizadas como suspeitas pelo ClawHub.
- 2. Revisar o Relatório de Auditoria:
* Um relatório de auditoria será gerado em
$HOME/.openclaw/clawhub-quarantine/reports/<nome-da-skill>-audit-<timestamp>.txt.
* Este relatório lista os arquivos da skill e procura por padrões de risco (comandos perigosos, acessos de rede, dicas de segredos) usando
ripgrep.
- 3. Inspeção Manual Aprofundada:
* Acesse o diretório da skill em quarentena (
$HOME/.openclaw/clawhub-quarantine/skills/<nome-da-skill>).
* Examine o
SKILL.md da skill e seus arquivos de código-fonte (se houver) e dependências para entender seu comportamento.
* Verifique as dependências externas e, se possível, revise seus repositórios no GitHub para issues de segurança ou informações adicionais.
- 4. Promover para Produção (Manual):
* Se, após a revisão manual e a auditoria, a skill for considerada segura, ela pode ser movida manualmente para
~/.openclaw/workspace/skills/.
Scripts
scripts/install_and_audit.sh
Este script é o ponto de entrada da skill. Ele:
- * Recebe o nome da skill como argumento.
- Cria os diretórios de quarentena e relatórios, se não existirem.
- Instala a skill no diretório de quarentena (
$HOME/.openclaw/clawhub-quarantine/skills/) usando npx clawhub install --force. - Chama o script
clawhub-quarantine.sh audit para gerar um relatório de segurança, passando o caminho da skill e o diretório de relatórios.
scripts/clawhub-quarantine.sh
Este script auxiliar realiza as operações de auditoria. Atualmente, ele suporta o comando audit, que:
- * Recebe o caminho completo da skill em quarentena e o diretório para salvar o relatório.
- Utiliza
ripgrep para buscar por padrões de código potencialmente perigosos dentro da skill (e.g., execução de comandos externos, acesso a variáveis de ambiente sensíveis, requisições de rede). - Gera um relatório detalhado com os achados da auditoria.
Requisitos (Pré-requisitos)
Para que esta skill funcione corretamente, os seguintes softwares devem estar instalados e disponíveis no PATH do ambiente onde o OpenClaw está rodando:
- * Node.js: Versão
>=22 (necessário para npm e npx). clawhub CLI: Pode ser instalado globalmente via npm i -g clawhub.ripgrep (rg): Uma ferramenta de busca de padrões (similar ao grep, mas mais rápido) utilizada pelo script de auditoria.
Descobertas e Lições Aprendidas (Exemplo com a skill 'gram')
- * Alertas de Segurança: O ClawHub utiliza "VirusTotal Code Insight" para sinalizar skills suspeitas (ex: uso de chaves criptográficas, APIs externas,
eval). Isso é um ponto de partida crítico para a revisão. - Quarentena Funcional: A instalação em um diretório isolado (
$HOME/.openclaw/clawhub-quarantine/skills/) é eficaz para conter a skill durante a análise. - Auditoria por Padrões: O script
clawhub-quarantine.sh audit busca por padrões de risco comuns. - Dependências de Alto Risco: Skills podem depender de bibliotecas que interagem com o sistema operacional em baixo nível (ex:
sweet-cookie para acesso a cookies de navegador, decifração de senhas do keyring e execução de comandos externos via child_process). Essas dependências exigem a maior atenção na revisão. - Incompatibilidade de API: Mesmo com autenticação, as APIs de terceiros (como o Instagram) podem bloquear ou desativar funcionalidades para automação (ex: User-Agent mismatch, Invalid media_id, Too Many Requests). Isso afeta a utilidade da skill.
Clawhub Quarantine Installer
概述
此技能自动将ClawHub的技能安装到专用隔离目录($HOME/.openclaw/clawhub-quarantine/skills/),并执行基础审计脚本以识别潜在风险。其设计目的是在将技能集成到OpenClaw生产环境之前,允许进行更安全的手动分析。
使用工作流程
- 1. 将技能安装到隔离区:
* 使用所需技能名称执行脚本 scripts/install
andaudit.sh。
* 示例:bash ~/.openclaw/workspace/skills/clawhub-quarantine-installer/scripts/install
andaudit.sh <技能名称>
*
重要提示: install
andaudit.sh 脚本使用 npx clawhub install --force。此命令将
下载并执行来自 npm 注册表的远程代码。
至关重要的是,此技能仅应在隔离环境(如虚拟机或Docker容器)中运行,该环境不得访问敏感数据或您的生产机器。 隔离区旨在降低风险,但无法完全消除所有风险。
*
注意: --force 标志用于安装被ClawHub标记为可疑的技能。
- 2. 审查审计报告:
* 审计报告将生成在 $HOME/.openclaw/clawhub-quarantine/reports/<技能名称>-audit-<时间戳>.txt。
* 此报告列出技能文件,并使用 ripgrep 搜索风险模式(危险命令、网络访问、秘密提示)。
- 3. 深入手动检查:
* 访问隔离区中的技能目录($HOME/.openclaw/clawhub-quarantine/skills/<技能名称>)。
* 检查技能的 SKILL.md 及其源代码文件(如有)和依赖项,以了解其行为。
* 验证外部依赖项,如有可能,在GitHub上审查其仓库以查找安全问题或额外信息。
- 4. 提升至生产环境(手动):
* 如果在手动审查和审计后,该技能被认为是安全的,则可以手动将其移动到 ~/.openclaw/workspace/skills/。
脚本
scripts/installandaudit.sh
此脚本是技能的入口点。它:
- * 接收技能名称作为参数。
- 创建隔离区和报告目录(如果不存在)。
- 使用 npx clawhub install --force 将技能安装到隔离目录($HOME/.openclaw/clawhub-quarantine/skills/)。
- 调用 clawhub-quarantine.sh audit 脚本生成安全报告,传递技能路径和报告目录。
scripts/clawhub-quarantine.sh
此辅助脚本执行审计操作。目前,它支持 audit 命令,该命令:
- * 接收隔离区中技能的完整路径和保存报告的目录。
- 使用 ripgrep 在技能内搜索潜在危险的代码模式(例如,执行外部命令、访问敏感环境变量、网络请求)。
- 生成包含审计发现的详细报告。
要求(前提条件)
为使此技能正常运行,以下软件必须已安装并在OpenClaw运行环境中的PATH中可用:
- * Node.js:版本 >=22(npm 和 npx 所需)。
- clawhub CLI:可通过 npm i -g clawhub 全局安装。
- ripgrep (rg):一种模式搜索工具(类似于 grep,但速度更快),用于审计脚本。
发现与经验教训(以 gram 技能为例)
- * 安全警报: ClawHub使用VirusTotal Code Insight标记可疑技能(例如,使用加密密钥、外部API、eval)。这是审查的关键起点。
- 功能性隔离: 安装到隔离目录($HOME/.openclaw/clawhub-quarantine/skills/)可有效在分析期间隔离技能。
- 模式审计: clawhub-quarantine.sh audit 脚本搜索常见风险模式。
- 高风险依赖项: 技能可能依赖于与操作系统底层交互的库(例如,用于访问浏览器cookie的 sweet-cookie、解密密钥环密码以及通过 childprocess 执行外部命令)。这些依赖项在审查时需要最高关注。
- API不兼容: 即使通过身份验证,第三方API(如Instagram)也可能阻止或禁用自动化功能(例如,User-Agent不匹配、Invalid mediaid、Too Many Requests)。这会影响技能的实用性。