{"id":13456425,"url":"https://github.com/moodle/moodle","last_synced_at":"2025-10-05T20:31:19.912Z","repository":{"id":37788116,"uuid":"439861","full_name":"moodle/moodle","owner":"moodle","description":"Moodle - the world's open source learning platform","archived":false,"fork":false,"pushed_at":"2025-10-03T11:25:01.000Z","size":884302,"stargazers_count":6506,"open_issues_count":1,"forks_count":7127,"subscribers_count":437,"default_branch":"main","last_synced_at":"2025-10-03T13:24:31.654Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://moodle.org/","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":"git://git.moodle.org/moodle.git","source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moodle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://moodle.com/donations/","https://fund.moodle.org"]}},"created_at":"2009-12-16T23:01:23.000Z","updated_at":"2025-10-03T11:25:20.000Z","dependencies_parsed_at":"2025-09-23T17:36:07.322Z","dependency_job_id":null,"html_url":"https://github.com/moodle/moodle","commit_stats":{"total_commits":88981,"total_committers":1187,"mean_commits":74.96293176074137,"dds":0.9106775603780582,"last_synced_commit":"d76e211be6ae65fe3982ad97f3fe5c879a7b2daa"},"previous_names":[],"tags_count":547,"template":false,"template_full_name":null,"purl":"pkg:github/moodle/moodle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moodle%2Fmoodle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moodle%2Fmoodle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moodle%2Fmoodle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moodle%2Fmoodle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moodle","download_url":"https://codeload.github.com/moodle/moodle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moodle%2Fmoodle/sbom","scorecard":{"id":78874,"data":{"date":"2025-08-04","repo":{"name":"github.com/moodle/moodle","commit":"621c6e1048892929cb2f1180a3e8b46b053bf41d"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/close-pull-requests.yml:1","Warn: no topLevel permission defined: .github/workflows/onebyone.yml:1","Warn: no topLevel permission defined: .github/workflows/push.yml:1","Warn: no topLevel permission defined: .github/workflows/web-installer-test.yml:1","Warn: no topLevel permission defined: .github/workflows/windows.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING.txt:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: COPYING.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":0,"reason":"binaries present in source code","details":["Warn: binary detected: public/filter/tex/mimetex.darwin:1","Warn: binary detected: public/filter/tex/mimetex.exe:1","Warn: binary detected: public/filter/tex/mimetex.freebsd:1","Warn: binary detected: public/filter/tex/mimetex.linux:1","Warn: binary detected: public/filter/tex/mimetex.linux.aarch64:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-audio-opus-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-audio-vorbis-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-av1-mt-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-av1-simd-mt-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-av1-simd-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-av1-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-theora-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp8-mt-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp8-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp9-mt-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp9-simd-mt-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp9-simd-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-decoder-video-vp9-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-demuxer-ogg-wasm.wasm:1","Warn: binary detected: public/media/player/videojs/ogvjs/ogv-demuxer-webm-wasm.wasm:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-rgg8-g5x8-wr9v","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/close-pull-requests.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/close-pull-requests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/onebyone.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/onebyone.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/onebyone.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/onebyone.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/onebyone.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/onebyone.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/onebyone.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/push.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/web-installer-test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/web-installer-test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/moodle/moodle/windows.yml/main?enable=pin","Warn: npmCommand not pinned by hash: public/lib/editor/tiny/plugins/html/build/build.sh:9","Warn: npmCommand not pinned by hash: .github/workflows/push.yml:35","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  11 third-party GitHubAction dependencies pinned","Info:   0 out of   2 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}}]},"last_synced_at":"2025-08-15T05:22:56.953Z","repository_id":37788116,"created_at":"2025-08-15T05:22:56.953Z","updated_at":"2025-08-15T05:22:56.953Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278513237,"owners_count":25999430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:01:21.645Z","updated_at":"2025-10-05T20:31:14.901Z","avatar_url":"https://github.com/moodle.png","language":"PHP","readme":"# Moodle\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://moodle.org\" target=\"_blank\" title=\"Moodle Website\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/moodle/moodle/main/.github/moodlelogo.svg\" alt=\"The Moodle Logo\"\u003e\n\u003c/a\u003e\u003c/p\u003e\n\n[Moodle][1] is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.\n\nMoodle is designed to allow educators, administrators and learners to create personalised learning environments with a single robust, secure and integrated system.\n\n## Documentation\n\n- Read our [User documentation][3]\n- Discover our [developer documentation][5]\n- Take a look at our [demo site][4]\n\n## Community\n\n[moodle.org][1] is the central hub for the Moodle Community, with spaces for educators, administrators and developers to meet and work together.\n\nYou may also be interested in:\n\n- attending a [Moodle Moot][6]\n- our regular series of [developer meetings][7]\n- the [Moodle User Association][8]\n\n## Installation and hosting\n\nMoodle is Free, and Open Source software. You can easily [download Moodle][9] and run it on your own web server, however you may prefer to work with one of our experienced [Moodle Partners][10].\n\nMoodle also offers hosting through both [MoodleCloud][11], and our [partner network][10].\n\n## License\n\nMoodle is provided freely as open source software, under version 3 of the GNU General Public License. For more information on our license see\n\n[1]: https://moodle.org\n[2]: https://moodle.com\n[3]: https://docs.moodle.org/\n[4]: https://sandbox.moodledemo.net/\n[5]: https://moodledev.io\n[6]: https://moodle.com/events/mootglobal/\n[7]: https://moodledev.io/general/community/meetings\n[8]: https://moodleassociation.org/\n[9]: https://download.moodle.org\n[10]: https://moodle.com/partners\n[11]: https://moodle.com/cloud\n[12]: https://moodledev.io/general/license\n","funding_links":["https://moodle.com/donations/","https://fund.moodle.org"],"categories":["PHP","Applications","OSS","🏛️ Official","others","Learning Management Systems (LMS)","10、基础服务架构","eLearning"],"sub_categories":["Education","Learning platforms","9、效率工具集合","CI/CD"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoodle%2Fmoodle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoodle%2Fmoodle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoodle%2Fmoodle/lists"}