monitor-moodle
Fail
Audited by Gen Agent Trust Hub on Feb 17, 2026
Risk Level: HIGHCREDENTIALS_UNSAFEPROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
- [CREDENTIALS_UNSAFE] (HIGH): A hardcoded Moodle API token (
f8df006962c71b2468033bfcf5ed9ed5) was detected insrc/fetch_my_courses.pyandsrc/fetch_notifications.py. This token grants access to the user's Moodle account and should never be stored in source code. - [PROMPT_INJECTION] (HIGH): The skill is vulnerable to indirect prompt injection (Category 8).
- Ingestion points: The system fetches arbitrary content from the Moodle API, including assignment descriptions, forum messages, and notifications in
src/fetch_notifications.pyand referenced fetching scripts. - Boundary markers: No boundary markers or delimiters are used to encapsulate untrusted data when it is presented to the agent.
- Capability inventory: The skill possesses the ability to execute local commands via
subprocess.run(inmonitor.py) and modify local files. - Sanitization: While
clean_htmlis used for terminal previews, the actual data stored and processed (e.g., theintroandmessagefields insrc/clean_course_data.py) retains full HTML content, providing an injection vector for malicious course instructors or students. - [SSL_SECURITY] (MEDIUM): In
src/fetch_my_courses.pyandsrc/fetch_notifications.py, SSL verification is explicitly disabled (verify=False) and warnings are suppressed. This exposes the Moodle connection to Man-in-the-Middle (MitM) attacks, potentially allowing attackers to intercept the API token or modify course data. - [COMMAND_EXECUTION] (LOW): The orchestration script
monitor.pyand others usesubprocess.runto execute internal Python scripts. While they use list-based arguments which mitigate shell injection, the reliance on runtime execution of local files increases the impact if the agent is compromised via indirect prompt injection.
Recommendations
- AI detected serious security threats
Audit Metadata