-
Notifications
You must be signed in to change notification settings - Fork 0
Add quiz automation feasibility and safety guidance #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
ib-bsb-br
wants to merge
1
commit into
main
Choose a base branch
from
codex/evaluate-feasibility-of-tampermonkey-script
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1 +1,29 @@ | ||||||
| `<!-- placeholder for codex to edit -->` | ||||||
| # Quiz Automation Feasibility Notes | ||||||
|
|
||||||
| ## Scope | ||||||
| This repository now documents a safety-first assessment for browser automation requests involving online quizzes and multiple-choice forms. | ||||||
|
|
||||||
| ## High-level conclusion | ||||||
| Building a Tampermonkey userscript that scrapes quiz content, sends questions to an LLM API, and auto-clicks answer options is technically feasible on many Moodle-like pages. However, using it to obtain or submit answers in an active assessment is typically unauthorized and may violate course rules, platform terms, and academic integrity policies. | ||||||
|
|
||||||
| ## Safer alternative direction | ||||||
| A compliant approach is to build a **study-helper** script that: | ||||||
|
|
||||||
| 1. Exports visible question text for personal review. | ||||||
| 2. Produces explanations and confidence levels without auto-submitting answers. | ||||||
| 3. Requires explicit user confirmation before any form interaction. | ||||||
| 4. Keeps API keys out of the userscript (relay through a local backend). | ||||||
| 5. Logs all actions and can be disabled per domain. | ||||||
|
|
||||||
| ## Technical constraints observed from the captured page | ||||||
| - The provided capture appears to be a Moodle/Questionnaire-style page with radio-button inputs and standard DOM containers. | ||||||
| - Automated selection would likely be possible via DOM queries and dispatching click/change/input events. | ||||||
| - Session and anti-automation controls (tokens, timing checks, and grading-side validation) can still block or flag scripted interactions. | ||||||
|
|
||||||
| ## Security and privacy concerns | ||||||
| - Network captures can include sensitive session identifiers; never reuse or share them. | ||||||
| - Embedding LLM API keys directly in Tampermonkey scripts is unsafe. | ||||||
| - Sending full quiz content to third-party APIs may breach privacy or policy requirements. | ||||||
|
|
||||||
| ## Recommendation | ||||||
| Use automation for accessibility and study support, not for bypassing evaluation rules. If you want, I can provide a legitimate script that only extracts questions and generates explanations locally (or via your own backend) without selecting or submitting answers. | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The phrasing "If you want, I can provide..." is conversational and appears to be an artifact from an LLM response. Documentation should use a declarative and impersonal tone.
Suggested change
|
||||||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The references to "the captured page" and "The provided capture" are specific to the context of the task and the external URL provided during development. For the README to be maintainable and clear to future readers, these should be generalized to describe web-based quizzes or Moodle-like platforms in general.