Security Labs Edit lesson page
You can choose from Overview, Setup, and Content on the Edit lesson page in Security Labs. These tables define the features in each tab:
Overview
Feature | Description |
---|---|
Stack | The language of your lesson. |
Slug | The last subdirectory of the URL for your lesson. For example, adding node-sqli means the URL of your lesson is http://securitylabs.veracode.com/lesson/node-sqli . |
Display type | More information. |
Allow others to view this lesson? | Publish or unpublish a lesson. Any team members can still access an unpublished lesson if they have a direct link to the lab URL, but you cannot assign the lesson to users until you publish. |
Prevent future edits? | Toggle a lesson to Locked to prevent further changes. |
Topic | Enter a value to appear in place of the words this topic for the modal shown at the beginning and end of the lesson which asks users to Rate your familiarity with this topic. |
Points | Optionally, assign points for the difficulty of the lab. 10 points is most common for lessons with average difficulty. For more difficult lessons, increase the points a user can earn to 20 or 30 . |
Setup
Feature | Description |
---|---|
Is this a lesson or a challenge? | Choose Challenge or Lesson. Challenge labs are meant to be more difficult practice that does not provide step-by-step guidance to users. They list as {Title} Challenge and provide a warning to your users that they should be familiar with the topic. |
Servers | A Docker image based on the applications identified by a language and a security topic. |
Additional server setup commands | Optionally include additional setup code. This code runs in Bash shell as the root user after a user selects the lab. |
Expand Paths | Automatically expand any folders in the GUI editor. |
Editor Hints | Place a red dot next to the name of any file or folder specified in the GUI editor. |
Content
You can write all content in Markdown.
Use the escape sequence {$VIRTUAL_HOST}
in any lesson text to display the current lab URL of the user. For example, {$VIRTUAL_HOST}/api
displays as https://xxxxxx.vsl.dev/api
.
Feature | Description |
---|---|
Conclusion | Shows as a final step of instruction text in place of the phrase "You have completed this lab!". |
Steps | Select to add steps. |
Summary | Summarize the steps the user needs to take. |
Hint | Displays if the user has been on a step for a long time, or tries to select Next before completing a step. |
Solution | Provide a solution for the step that is visible only to administrators. |
Checks | Choose to run checks every few seconds on a step to determine if the user can progress to the next step. The check itself is Bash code run as the root user on the container, and the result is the exact terminal output expected from running the check. |