← 返回 Skills 市场
jabir-srj

Moodle Connector

作者 Jabir Iliyas Suraj-Deen · GitHub ↗ · v2.0.0 · MIT-0
cross-platform ⚠ suspicious
264
总下载
0
收藏
1
当前安装
8
版本数
在 OpenClaw 中安装
/install moodle-connector
功能描述
Moodle REST API client, batch downloader, and MCP server for Claude Code integration. SSO-enabled with support for Azure AD, Google, and SAML.
安全使用建议
This skill appears to implement the advertised Moodle features but has several red flags you should address before using it with real credentials: 1) The registry metadata lists no required env vars but the SKILL.md and code require SSO client IDs/secrets and an encryption password — assume you must supply them. 2) Do NOT store MOODLE_CRED_PASSWORD or client secrets in plaintext config files (the README currently suggests adding them to claude_desktop_config.json); instead provide them via a secure secret store or prompt at runtime. 3) The code includes insecure defaults: mcp_server.py and batch_downloader.py use a hard-coded 'test-pass' password which will fail to decrypt real credentials and is a security risk if left in production. Change/remove hard-coded defaults. 4) config.json can hold a Moodle web_service_token in plaintext — prefer encrypted storage or environment-based injection. 5) There is at least one obvious bug: batch_downloader.py uses os.getenv but does not import os (will crash). 6) Playwright will download browser binaries at install time — review network activity and run in an isolated environment if you test. 7) The source is listed as unknown/homepage none in the registry snapshot; verify the upstream repository and author before trusting or running. Recommended actions: review the code yourself (or have a developer do so), remove hard-coded passwords, avoid putting secrets into persistent plaintext config, test in a sandbox container, and only then run with real credentials.
功能分析
Type: OpenClaw Skill Name: moodle-connector Version: 2.0.0 The skill bundle contains a significant security vulnerability: a hardcoded default encryption password ('test-pass') is used in 'mcp_server.py' and 'batch_downloader.py' to protect the local credential store, contradicting the documentation's claim that an environment variable is required. Additionally, 'moodle_connector.py' utilizes Playwright for browser automation to scrape authentication tokens from Moodle SSO/MFA flows; while this is aligned with the stated purpose of handling enterprise authentication, browser automation and token scraping are high-risk capabilities in an AI agent context. The discrepancy between the security instructions in 'SKILL.md' and the actual implementation in 'mcp_server.py' warrants a suspicious classification.
能力评估
Purpose & Capability
The files implement a Moodle REST client, SSO flows, batch downloader, and an MCP server — which matches the skill name/description. However the registry metadata declares no required env vars or primary credential while the SKILL.md and code require SSO client secrets and an encryption password (MOODLE_CRED_PASSWORD). That mismatch is unexpected and reduces confidence in the metadata.
Instruction Scope
SKILL.md instructs installing Playwright and running browser-based SSO, storing an encryption password in claude_desktop_config.json, and putting tokens in config.json. The code will drive a browser, make network calls to Moodle and Microsoft login endpoints, save encrypted credentials to disk, and can be run as an MCP server. Instructions also recommend placing the encryption password in a config file (plaintext) — this exposes the key used to decrypt stored credentials. There are no instructions to avoid leaking that password, and the README suggests automation (Tampermonkey/CI) that could persist credentials.
Install Mechanism
There is no platform install spec in the registry (instruction-only), but package.json and SKILL.md instruct using pip and Playwright. Dependencies come from PyPI (requests, cryptography, playwright, mcp) and Playwright will fetch browser binaries. This is expected for a browser-driven SSO tool but does perform network downloads at install-time; no obscure or remote single-file download URLs were used.
Credentials
The skill legitimately needs SSO client IDs/secrets and an encryption password, and the SKILL.md documents these env vars. However the registry lists no required env vars. More importantly: (1) the code and SKILL.md encourage storing the encryption password in claude_desktop_config.json (plaintext), (2) config.json is used to store the Moodle web_service_token in plaintext, and (3) multiple places use a default/hard-coded password 'test-pass' (mcp_server.py and batch_downloader.py), which is insecure and inconsistent with SKILL.md's MOODLE_CRED_PASSWORD guidance. These practices increase the risk of credential exposure.
Persistence & Privilege
The skill is not force-included (always:false) and does not request system-wide privileges. The MCP server runs over stdio and does not modify other skills' configurations. Autonomous invocation (disable-model-invocation:false) is the platform default and is not by itself flagged. The main concern is user-provided configuration that may persist secrets.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install moodle-connector
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /moodle-connector 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.0.0
Major update: SSO Support & Headless Deployment Features. Support for Azure AD, Google OAuth, and SAML. Mobile Launch Flow integration. Tampermonkey helper for CI/CD. Bilingual documentation (English & Spanish).
v1.0.6
Fix: remove all remaining GPLv3 references (MIT license only)
v1.0.5
Re-scan: All security issues resolved (env var enforcement, error sanitization, MIT license)
v1.0.4
Security fixes: enforce MOODLE_CRED_PASSWORD, sanitize MCP errors, no hardcoded defaults
v1.0.3
Bundle source code: no git clone needed, all files included
v1.0.2
Remove checkmarks, fix GPLv3 reference in metadata
v1.0.1
MIT license + security & permissions disclosure
v1.0.0
Initial release
元数据
Slug moodle-connector
版本 2.0.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 8
常见问题

Moodle Connector 是什么?

Moodle REST API client, batch downloader, and MCP server for Claude Code integration. SSO-enabled with support for Azure AD, Google, and SAML. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 264 次。

如何安装 Moodle Connector?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install moodle-connector」即可一键安装,无需额外配置。

Moodle Connector 是免费的吗?

是的,Moodle Connector 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Moodle Connector 支持哪些平台?

Moodle Connector 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Moodle Connector?

由 Jabir Iliyas Suraj-Deen(@jabir-srj)开发并维护,当前版本 v2.0.0。

💬 留言讨论