Lab Builder supports five task types — Multiple Choice, Question, Drag to Match, Instruction, and Code Review. Each type suits different learning objectives and assessment styles.
Multiple Choice Tasks
Multiple choice tasks present learners with a question and a set of predefined answer options, from which they must select the correct one.
These tasks are ideal for scenarios where you want learners to engage with core concepts and assess their understanding efficiently. They are particularly useful for:
- Reinforcing essential knowledge by testing recognition and comprehension of concepts covered in the briefing panel or practical machines.
- Quickly assessing understanding of a topic, as learners select from curated options rather than generating a free-text response.
- Reducing ambiguity in answers, especially for concepts that have a clear correct response and plausible distractors.
- Supporting a broader range of difficulty levels, from basic recall to application and analysis, depending on how the answer choices are designed.
We recommend making sure all options are meaningful and well-balanced to avoid guesswork and to encourage learners to consider the material carefully.
Building a multiple-choice question task
To build a multiple-choice question task:
- From the Task Library, select the Multiple choice task type and click Add.
- Click Edit to configure your question.
- The Question title is what you want to ask for your question.
- The Answer options allow you to choose which predefined answers are available and which the user must select as the right one.
You can easily remove options by clicking X, or add new options by clicking + Add option. - Click Save changes.
Question Tasks
Question tasks present learners with a text-based question that requires them to submit a free-text response.
A question in a lab
These tasks are ideal for scenarios where you want learners to provide a specific answer that they must type manually. They are particularly useful for:
- Reinforcing core concepts by requiring learners to recall information from the Briefing panel or the practical machine.
- Assessing precision in learner understanding, since they must enter the exact correct answer rather than selecting from multiple choices.
- Encouraging active engagement that prompts learners to think critically about the material instead of relying on recognition.
- Validating command-line or technical outputs, where learners are expected to extract and submit a specific value, result, or flag.
We recommend making sure the expected answer is clearly identifiable from the lab content to avoid learner frustration.
Building a question task
To build a question:
- From the Task Library, select the Question task type and click Add.
- Click Edit to configure your question.
- The Question title is what you want to ask for your question.
- The Answer options allow you to choose one or multiple correct answers. You can easily add and remove options using the editor.
- Toggle Enable fuzzy matching on if you want to accept answers that contain minor spelling mistakes, reducing user frustration. For example, if you ask a question whose answer is 8.8.8.8 and the user submits 8.8.88, it will be accepted, and the answer will be updated to the correct value.
- Answer feedback allows you to enable a hint for the question. This hint appears in the lab when the user enters the wrong answer at least once.
When the user clicks Reveal Hint, the hint you entered in the question configurator will be displayed.
Hints are an important tool to support learners without giving away the answer outright. A well-crafted hint can nudge the learner in the right direction, reinforce core concepts, and reduce frustration if they get stuck.- Keep it concise and focused – A hint should be a short, clear pointer, not a full explanation or answer.
- Guide, don't give away – Point learners toward where or how they can find the answer (for example, "Review the last paragraph of the briefing panel" or "Try listing all running processes in the practical machine").
- Reinforce key skills – Encourage learners to practice the method or technique needed to find the answer rather than handing them the solution.
- Match the difficulty level – For beginner labs, hints can be more explicit (for example, suggest the exact command to run). For advanced labs, keep hints high-level to encourage critical thinking.
- Click Save changes.
Drag to Match Tasks
Drag to Match tasks present learners with a set of items and their corresponding targets, requiring them to match each item to its target by dragging and dropping.
These tasks are ideal for scenarios where you want learners to explore relationships between concepts or elements actively. They are particularly useful for:
- Reinforcing conceptual links by requiring learners to associate related terms, steps, or components from the briefing panel or the practical machine.
- Assessing understanding of categories and groupings, since learners must sort or pair items accurately rather than relying on recognition.
- Encouraging deeper engagement by prompting learners to think critically about how pieces of information fit together or map to each other.
- Validating process comprehension, where learners demonstrate how inputs relate to outputs, actions to outcomes, or causes to effects.
- Supporting visual learning, since the interactive format helps reinforce memory through hands-on matching.
We recommend making sure the lab content clearly supports the correct pairings and that distractors are meaningful to avoid learner frustration.
Building a Drag to Match task
To build a Drag to Match task:
- From the Task Library, select the Drag to match task type and click Add.
- Click Edit to configure your task.
- The Title allows you to configure what appears as the Drag to Match title, giving you the option to edit it to make it unique to your Drag to Match.
- Below, you can configure your matching items. You have an item and a target. You can add up to 10 pairings. You can easily remove pairings by selecting the X, or add new pairings by clicking the Add option.
- Click Save changes.
Instruction Tasks
Instructional tasks present learners with clear, actionable steps to perform in the lab environment — such as visiting a website, opening a program, or reading specific content.
These tasks are ideal for scenarios where you want to guide learners through actions or workflows without requiring them to submit an answer. They are particularly useful for:
- Guiding learners through complex environments, helping them navigate tools, systems, or processes step by step.
- Providing context for later tasks, such as asking them to explore content or complete a prerequisite action before answering questions or performing technical tasks.
- Encouraging exploration and familiarity, giving learners the freedom to interact with the lab environment while following a clear structure.
- Reducing cognitive overload by allowing learners to focus on performing actions without the added pressure of immediate assessment.
- Supporting blended workflows, where instructional steps combine with assessment tasks to create a coherent learning journey.
We recommend making instructions concise and actionable to keep learners on track and avoid ambiguity.
Building an instruction task
To build an instruction task:
- From the Task Library, select the Instruction task type and click Add.
- Click Edit to configure your Instruction task.
- Instruction tasks can contain a range of rich media, including images and videos.
- Click Save changes.
Code Review Tasks
Code Review tasks ask learners to read a code snippet, identify a specific line or lines of concern, and select the correct classification for the vulnerability — for example, a CWE identifier.
For example, you could specify misconfigured code, and the learner would need to identify the misconfigured line and the associated vulnerability.
These tasks are ideal for scenarios where you want learners to develop their ability to read and analyze code critically. They are particularly useful for:
- Reinforcing secure coding principles by prompting learners to spot common flaws in real-world code examples.
- Assessing diagnostic skills, since learners must locate the exact line of concern and correctly categorize the vulnerability.
- Encouraging active engagement with the code by requiring learners to evaluate the logic and flow rather than passively reading.
- Validating technical knowledge, where learners demonstrate an understanding of both coding practices and security concepts.
- Building pattern recognition to help learners identify vulnerable coding patterns across different contexts and languages.
We recommend making sure the lab content clearly supports the vulnerable line and correct classification to provide a fair and effective challenge.
Building a Code Review task
To build a Code Review task:
- From the Task Library, select the Code review task type and click Add.
- Click Edit to configure your Code review task.
- The Title allows you to configure what appears as the title of the Code review, giving you the option to make it unique to your task. For example, "Select the line numbers containing the vulnerable code, then select the correct CWE identifier for the vulnerability."
- From the Reset drop-down list, you can change the language, if desired.
- You can select the line the user has to select by clicking it in the code window.
You can select as many lines as possible, but selecting multiple lines will mean the user will need to select all the lines for the answer to be correct.
If you want to add multiple possible correct answers, you can do this by clicking Add solution at the bottom right, which will open a new tab.
This can be highly useful if you want to add multiple correct lines without requiring the user to select all of them at once for the answer to be accepted. - Answer options let you configure both the answer prompt (for example, "Select a vulnerability") and the set of choices. This gives you complete flexibility to tailor the options to your needs — whether you want learners to identify a vulnerability, select a misconfiguration, or choose another type of issue.
You can remove answer options by clicking X, or add new options by clicking Add option. - You can configure Answer Feedback, which allows you to set up hints and explanations for the code review task.
- Hints appear when a learner selects an incorrect answer, helping guide them toward the correct line or vulnerability without giving it away outright. Well-crafted hints encourage critical thinking and reduce frustration by nudging learners in the right direction.
- Explanations appear after the correct answer is chosen, reinforcing why it's correct and clarifying why other options were incorrect. This helps learners consolidate their understanding and learn from mistakes.
- Using hints and explanations effectively enhances the learning experience by supporting self-correction, deepening understanding, and keeping learners engaged even when they struggle.
- Click Save changes.