Skip to content

Commit 1ca2567

Browse files
Merge pull request ossf#163 from ossf/lab_intro_text
Extend lab intro text
2 parents 1e2a9a3 + 918dc41 commit 1ca2567

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

secure_software_development_fundamentals.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1480,9 +1480,11 @@ At each remaining input from potentially untrusted users you need to validate th
14801480

14811481
#### Lab: Input Validation Basics Introduction
14821482

1483-
🧪 Lab: This course includes some labs. Labs are optional, but you're *strongly* encouraged to try them! Please try lab [hello](https://best.openssf.org/labs/hello.html) to see how the labs work in this course.
1483+
🧪 **Lab: This course includes some labs. Please try lab [hello](https://best.openssf.org/labs/hello.html) to see how the labs work in this course.**
14841484

1485-
IF a section has a quiz and one or more labs, we'll present the
1485+
*Labs are optional, but you're strongly encouraged to try them!*
1486+
1487+
If a section has a quiz and one or more labs, we'll present the
14861488
quiz first. This order is intentional.
14871489
Quizzes help make sure you can *recognize* a correct answer,
14881490
while labs help you *create* a correct answer. Recognizing a correct answer
@@ -1554,8 +1556,9 @@ Many programs need to validate text fields, but those fields’ rules are not de
15541556

15551557
#### Lab: Input Validation: A Few Simple Data Types
15561558

1557-
🧪 Lab: Please try lab [input1](https://best.openssf.org/labs/input1.html).
1558-
Labs are optional, but we encourage you to try them.
1559+
🧪 **Lab: Please try lab [input1](https://best.openssf.org/labs/input1.html), which lets you practice validating input of a simple data type.**
1560+
1561+
*Labs are optional, but you're strongly encouraged to try them!*
15591562

15601563
### Sidequest: Text, Unicode, and Locales
15611564

@@ -1687,8 +1690,9 @@ There is far more to regexes. In fact, there is a whole book on just regular exp
16871690

16881691
#### Lab: Introduction to Regular Expressions
16891692

1690-
🧪 Lab: Please try lab [regex0](https://best.openssf.org/labs/regex0.html), which lets you experiment with simple regex notation.
1691-
Labs are optional, but we encourage you to try them.
1693+
🧪 **Lab: Please try lab [regex0](https://best.openssf.org/labs/regex0.html), which lets you experiment with simple regex notation.**
1694+
1695+
*Labs are optional, but you're strongly encouraged to try them!*
16921696

16931697
### Using Regular Expressions for Text Input Validation
16941698

@@ -1768,11 +1772,11 @@ Remember, **^...$** are required to make this an allowlist (the text *must* matc
17681772

17691773
#### Lab: Using Regular Expressions for Text Input Validation
17701774

1771-
🧪 Lab: Please try lab [regex1](https://best.openssf.org/labs/regex1.html), which lets you experiment using regex notation to validate strings.
1775+
🧪 **Lab: Please try lab [regex1](https://best.openssf.org/labs/regex1.html), which lets you experiment using regex notation to validate strings.**
17721776

1773-
🧪 Lab: Please try lab [input2](https://best.openssf.org/labs/input2.html), which lets you experiment in how to use a regex in a real program.
1777+
🧪 **Lab: Please try lab [input2](https://best.openssf.org/labs/input2.html), which lets you experiment in how to use a regex in a real program.**
17741778

1775-
Labs are optional, but we encourage you to try them.
1779+
*Labs are optional, but you're strongly encouraged to try them!*
17761780

17771781
### Countering ReDoS Attacks on Regular Expressions
17781782

@@ -1831,8 +1835,9 @@ Note: ReDoS is often *not* a real vulnerability. Such regexes can *only* be a vu
18311835

18321836
#### Lab: Countering ReDoS Attacks on Regular Expressions
18331837

1834-
🧪 Lab: Please try lab [ReDoS](https://best.openssf.org/labs/redos.html), which lets you experiment in how to counter redos attacks in a real program.
1835-
Labs are optional, but we encourage you to try them.
1838+
🧪 **Lab: Please try lab [ReDoS](https://best.openssf.org/labs/redos.html), which lets you experiment in how to counter redos attacks in a real program.**
1839+
1840+
*Labs are optional, but you're strongly encouraged to try them!*
18361841

18371842
## Input Validation: Beyond Numbers and Text
18381843

@@ -2214,8 +2219,9 @@ A cast changes a value’s type (that is what it is *for*), so by itself that is
22142219

22152220
#### Lab: Avoid Incorrect Conversion or Cast
22162221

2217-
🧪 Lab: Please try lab [conversion](https://best.openssf.org/labs/conversion.html), which lets you experiment in how to counter improper conversion.
2218-
Labs are optional, but we encourage you to try them.
2222+
🧪 **Lab: Please try lab [conversion](https://best.openssf.org/labs/conversion.html), which lets you experiment in how to counter improper conversion.**
2223+
2224+
*Labs are optional, but you're strongly encouraged to try them!*
22192225

22202226
## Processing Data Securely: Undefined Behavior / Memory Safety
22212227

@@ -2333,8 +2339,9 @@ Correct. Of course, it is safer to not use memory-unsafe languages in the first
23332339

23342340
#### Lab: Countering Out-of-Bounds Reads and Writes (Buffer Overflow)
23352341

2336-
🧪 Lab: Please try lab [oob1](https://best.openssf.org/labs/oob1.html), which lets you experiment in how to counter an out-of-bounds vulnerability.
2337-
Labs are optional, but we encourage you to try them.
2342+
🧪 **Lab: Please try lab [oob1](https://best.openssf.org/labs/oob1.html), which lets you experiment in how to counter an out-of-bounds vulnerability.**
2343+
2344+
*Labs are optional, but you're strongly encouraged to try them!*
23382345

23392346
### Double-free, Use-after-free, and Missing Release
23402347

@@ -2962,8 +2969,9 @@ This is true. Not only is it more efficient, but the operating system shell usua
29622969

29632970
#### Lab: OS Command (Shell) injection
29642971

2965-
🧪 Lab: Please try lab [shell-injection](https://best.openssf.org/labs/shell-injection.html), which lets you experiment in how to counter an OS shell (injection) vulnerability.
2966-
Labs are optional, but we encourage you to try them.
2972+
🧪 **Lab: Please try lab [shell-injection](https://best.openssf.org/labs/shell-injection.html), which lets you experiment in how to counter an OS shell (injection) vulnerability.**
2973+
2974+
*Labs are optional, but you're strongly encouraged to try them!*
29672975

29682976
### Other Injection Attacks
29692977

@@ -3176,8 +3184,9 @@ Error-handling is a fact of life, but you need to make sure your error handling
31763184

31773185
#### Lab: Handling Errors
31783186

3179-
🧪 Lab: Please try lab [handling-errors](https://best.openssf.org/labs/handling-errors.html), which lets you experiment in how to counter an OS shell (injection) vulnerability.
3180-
Labs are optional, but we encourage you to try them.
3187+
🧪 **Lab: Please try lab [handling-errors](https://best.openssf.org/labs/handling-errors.html), which lets you experiment with leveraging an error handling mechanism (specifically exception handling) and improve its robustness.**
3188+
3189+
*Labs are optional, but you're strongly encouraged to try them!*
31813190

31823191
### Logging
31833192

@@ -3511,9 +3520,10 @@ This is true. CSP does not eliminate all problems, but CSP does let you forbid i
35113520

35123521
#### Lab: Content Security Policy (CSP)
35133522

3514-
🧪 Lab: Please try lab [csp1](https://best.openssf.org/labs/csp1.html),
3515-
which lets you experiment with a Content Security Policy (CSP).
3516-
Labs are optional, but we encourage you to try them.
3523+
🧪 **Lab: Please try lab [csp1](https://best.openssf.org/labs/csp1.html),
3524+
which lets you experiment with a Content Security Policy (CSP).**
3525+
3526+
*Labs are optional, but you're strongly encouraged to try them!*
35173527

35183528
### Other HTTP Hardening Headers
35193529

0 commit comments

Comments
 (0)