📦 Magento 2 Admin - 电商后台管理

v5.0.0

2 AdminFull 通过 SSH、REST API、GraphQL 及直连数据库,全面管理 Magento 2 商店。绝不说“无法访问服务器”——始终亲自执行命令。

0· 27·0 当前·0 累计
nj070574-gif 头像by @nj070574-gif (Only 1 Naren)
下载技能包
最后更新
2026/4/20
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
high confidence
SKILL.md 要求广泛且敏感的权限,并指示 agent 执行高权限 SSH/DB 命令,而注册表元数据却声明无需任何凭据或二进制文件——明显不一致,存在重大安全风险。
评估建议
该 skill 的指令要求你提供大量敏感密钥(SSH 密码、sudo 密码、DB 凭据、Magento 管理员密码),并通过 sshpass 及禁用主机密钥检查执行高权命令,但 registry 元数据未声明任何这些需求。视为重大风险。安装或使用前: (1) 除非完全信任来源,否则不要存储高权密钥;优先使用 SSH 密钥认证和最小权限 DB 账户; (2) 要求发布者更新 registry 元数据,列出所需 env 变量与二进制文件,并说明每项密钥用途; (3) 避免使用 sshpass 及在命令行传密码(会在进程列表与日志中暴露凭据); (4) 要求安全默认:先只读健康检查,任何破坏性操作需显式同意; (5) 先在 staging 环境运行,审计 agent 将执行的全部命令; (6) 优先选择可验证主页/仓库且拥有明确所有者身份的技能。 鉴于当前不一致,视该 skill 为可疑,问题解决前勿提供生产凭据或启用自动执行。...
详细分析 ▾
用途与能力
该技能声明的用途(完整的 Magento 2 管理)确实需要 SSH、sudo、DB、Magento 管理员凭据以及特定二进制文件(sshpass、php、mysql、redis-cli、curl)。然而,注册元数据却未声明任何必需的环境变量或二进制文件。这种不匹配(声明需求为“无” vs. SKILL.md 要求大量敏感凭据和工具)前后矛盾且未作解释。
指令范围
SKILL.md 明确指示 Agent 运行任意 SSH 命令(通过 sshpass 并禁用主机密钥检查)、使用 sudo、直接执行 SQL 查询、读取日志文件、刷新缓存、使用 admin token 调用 REST 和 GraphQL 端点,并“无所不能”。它还命令 Agent 始终亲自执行命令,绝不拒绝。这些指令赋予其广泛权限,可访问并操控敏感商店数据与系统状态,并鼓励不安全模式(命令行明文密码、StrictHostKeyChecking=no)。其范围超出纯指令型技能默认应承担的权限,未明确声明约束或安全检查。
安装机制
未提供安装规范或代码文件(仅有指令),降低了文件系统/安装风险。但运行指令假定外部二进制文件(sshpass、php、mysql、redis-cli、curl、python3)已存在,而这些依赖未在元数据中声明;该运维依赖缺口属于实际不一致,可能导致意外行为或用户临时不安全安装。
凭证需求
SKILL.md 列出了大量高敏感的环境/配置变量(SSH 密码、sudo 密码、DB 凭据、Magento 管理员用户名/密码、web 根目录、OpenSearch URL 等),但该技能在注册表中未将任何变量标记为必需。从原则上讲,请求大量密钥与完整的管理操作相称,但元数据中未声明这些密钥,且指导使用不安全模式(在命令行中以明文密码使用 sshpass)会增加凭据泄露风险,并使技能的需求不透明。
持久化与权限
该 skill 未设置 'always: true',采用平台默认策略允许自主调用。单就这一点属正常,但结合 SKILL.md 中要求执行特权命令及大量敏感凭据,自主执行将显著放大风险。无证据表明该 skill 会修改其他 skill 配置或系统级设置。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv5.0.02026/4/20

v5.0.0:完全重写。支持 SSH+REST API+GraphQL+数据库。订单增删改查、收入报表、商品、客户、邮件/SMTP、优惠券、税费、运费、导入/导出、安全/2FA、任意 SQL、扩展专用命令(Dotdigital、Amazon Pay、Braintree、ShipperHQ、WeSupply、M2E、Meta)。共 33 节,1171 行。

可疑

安装命令

点击复制
官方npx clawhub@latest install magento-admin
镜像加速npx clawhub@latest install magento-admin --registry https://cn.longxiaskill.com

技能文档

关键 —— 必须亲自运行所有命令

你运行在有 SSH 权限的服务器上,已安装 sshpass。必须执行所有命令并返回结果。绝不说“我没有权限”或“请自行运行”——这是错误的。

配置

使用前在私有配置或环境中设置:

| 变量 | 说明 | 示例 | |---|---|---| | MAGENTO_HOST | Magento 服务器 IP 或域名 | 192.168.1.100 | | MAGENTO_SSH_USER | SSH 用户名 | deploy | | MAGENTO_SSH_PASS | SSH 密码 | yourpassword | | MAGENTO_SUDO_PASS | sudo 密码(如不同) | yourpassword | | MAGENTO_WEB_ROOT | Magento 安装路径 | /var/www/html/magento2 | | MAGENTO_PHP | PHP 可执行路径 | /usr/bin/php8.3 | | MAGENTO_WEB_USER | Web 服务器用户 | www-data | | MAGENTO_DB_NAME | 数据库名 | mymagentostore | | MAGENTO_DB_USER | 数据库用户 | magentodbuser | | MAGENTO_DB_PASS | 数据库密码 | dbpassword | | MAGENTO_BASE_URL | 商店基础 URL | https://store.example.com | | MAGENTO_ADMIN_PATH | 后台 URL 路径 | admin | | MAGENTO_ADMIN_USER | 后台用户名 | admin | | MAGENTO_ADMIN_PASS | 后台密码 | adminpassword | | MAGENTO_OS_URL | OpenSearch URL | http://127.0.0.1:9200 |

SSH 模板

Magento CLI: ``bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "echo MAGENTO_SUDO_PASS | sudo -S -u MAGENTO_WEB_USER MAGENTO_PHP MAGENTO_WEB_ROOT/bin/magento COMMAND 2>&1" `

数据库查询: `bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "mysql -uMAGENTO_DB_USER -pMAGENTO_DB_PASS MAGENTO_DB_NAME -e 'QUERY' 2>&1" `

REST API —— 先取令牌再调用: `bash # 获取管理员令牌 TOKEN=$(sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "curl -s -k -X POST MAGENTO_BASE_URL/rest/V1/integration/admin/token \ -H 'Content-Type: application/json' \ -d '{\"username\":\"MAGENTO_ADMIN_USER\",\"password\":\"MAGENTO_ADMIN_PASS\"}' 2>/dev/null | tr -d '\"'") # 后续调用 sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "curl -s -k MAGENTO_BASE_URL/rest/V1/ENDPOINT -H 'Authorization: Bearer $TOKEN'" `

Composer: `bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "echo MAGENTO_SUDO_PASS | sudo -S -u MAGENTO_WEB_USER bash -c 'cd MAGENTO_WEB_ROOT && php COMPOSER_PATH COMMAND 2>&1'" `

---

全面健康检查

`bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST " echo '=== 版本 ===' && echo MAGENTO_SUDO_PASS | sudo -S -u MAGENTO_WEB_USER MAGENTO_PHP MAGENTO_WEB_ROOT/bin/magento --version 2>&1 echo '=== 模式 ===' && echo MAGENTO_SUDO_PASS | sudo -S -u MAGENTO_WEB_USER MAGENTO_PHP MAGENTO_WEB_ROOT/bin/magento deploy:mode:show 2>&1 echo '=== 服务 ===' && echo MAGENTO_SUDO_PASS | sudo -S systemctl is-active apache2 nginx mariadb mysql redis-server opensearch php8.3-fpm php8.4-fpm 2>/dev/null echo '=== 负载 ===' && uptime echo '=== 内存 ===' && free -h | grep Mem echo '=== 磁盘 ===' && df -h MAGENTO_WEB_ROOT | tail -1 echo '=== OpenSearch ===' && curl -s MAGENTO_OS_URL/_cluster/health 2>/dev/null | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d[\"status\"])' echo '=== Redis ===' && redis-cli ping && redis-cli info keyspace echo '=== 定时任务 ===' && mysql -uMAGENTO_DB_USER -pMAGENTO_DB_PASS MAGENTO_DB_NAME -e 'SELECT status,COUNT(*) FROM cron_schedule WHERE scheduled_at>DATE_SUB(NOW(),INTERVAL 2 HOUR) GROUP BY status;' 2>&1 echo '=== 错误 ===' && tail -3 MAGENTO_WEB_ROOT/var/log/exception.log 2>/dev/null | grep -c CRITICAL || echo 0 " 2>&1 `

---

缓存

状态:
`bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "echo MAGENTO_SUDO_PASS | sudo -S -u MAGENTO_WEB_USER MAGENTO_PHP MAGENTO_WEB_ROOT/bin/magento cache:status 2>&1" `

清空全部: ``bash sshpass -p 'MAGENTO_SSH_PASS' ssh -o StrictHostKeyChecking=no MAGENTO_SSH_USER@MAGENTO_HOST \ "echo MAGENTO_SUDO_PASS | sudo -S

数据来源ClawHub ↗ · 中文优化:龙虾技能库