Skip to content

Commit 53443eb

Browse files
Lab work (#499)
* Add to labs a note on Jason Shepherd with some links Signed-off-by: David A. Wheeler <[email protected]> * Add the rest of the links for labs Make it easier to see the fundamental course material by directly linking to it. Signed-off-by: David A. Wheeler <[email protected]> --------- Signed-off-by: David A. Wheeler <[email protected]>
1 parent bd98ea7 commit 53443eb

File tree

1 file changed

+44
-33
lines changed

1 file changed

+44
-33
lines changed

docs/labs/README.md

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ without Internet access.
99
We *want* people to create more labs! Here's more information about
1010
how to do that and the labs we'd like created.
1111

12-
## Available labs
12+
## Sample available labs
1313

14-
Here are the labs available:
14+
Here are some of the labs available, which you can use as examples:
1515

1616
* [hello](hello.html) - simple "Hello, world!" demo
1717
* [input1](input1.html) - input validation (simple types)
@@ -57,63 +57,74 @@ The items marked "PLANNED-1" are those we intend to do first;
5757

5858
* Input Validation
5959
* Input Validation Basics
60-
* Input Validation Basics Introduction - [hello](hello.html)
61-
* How Do You Validate Input?
60+
* [Input Validation Basics Introduction](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#input-validation-basics-introduction) - [hello](hello.html)
61+
* [How Do You Validate Input?](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#how-do-you-validate-input), [Input Validation: Numbers and Text](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#input-validation-numbers-and-text)
6262
* Input Validation: Numbers and Text
6363
* Input Validation: A Few Simple Data Types - [input1](input1.html)
64-
* Sidequest: Text, Unicode, and Locales
65-
* Validating Text
64+
* [Sidequest: Text, Unicode, and Locales](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#sidequest-text-unicode-and-locales)
65+
* [Validating Text](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#validating-text)
6666
* Introduction to Regular Expressions - [regex0](regex0.html)
6767
* Using Regular Expressions for Text Input Validation - [regex1](regex1.html), [input2](input2.html)
68-
* Countering ReDoS Attacks on Regular Expressions - PLANNED-2
68+
* [Countering ReDoS Attacks on Regular Expressions](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#countering-redos-attacks-on-regular-expressions) - PLANNED-2
6969
* Input Validation: Beyond Numbers and Text
70-
* Insecure Deserialization - PLANNED-2 (Tepas Jena)
71-
* Input Data Structures (XML, HTML, CSV, JSON, & File Uploads) - PLANNED-2
72-
* Minimizing Attack Surface, Identification, Authentication, and Authorization - PLANNED-2
73-
* Search Paths and Environment Variables (including setuid/setgid Programs) - PLANNED-2
74-
* Special Inputs: Secure Defaults and Secure Startup - PLANNED-2
70+
* [Insecure Deserialization](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#insecure-deserialization) - PLANNED-2 (Tepas Jena)
71+
* [Input Validation: Beyond Numbers and Text](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#input-validation-beyond-numbers-and-text) - PLANNED-2
72+
* [Minimizing Attack Surface, Identification, Authentication, and Authorization](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#minimizing-attack-surface-identification-authentication-and-authorization) - PLANNED-2
73+
* [Search Paths and Environment Variables (including setuid/setgid Programs)](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#search-paths-and-environment-variables-including-setuidsetgid-programs) - PLANNED-2
74+
* [Special Inputs: Secure Defaults and Secure Startup](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#special-inputs-secure-defaults-and-secure-startup) - PLANNED-2
7575
* Consider Availability on All Inputs
76-
* Consider Availability on All Inputs Introduction - PLANNED-2
76+
* [Consider Availability on All Inputs Introduction](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#consider-availability-on-all-inputs-introduction) - PLANNED-2
7777
* Processing Data Securely
7878
* Processing Data Securely: General Issues
79-
* Prefer Trusted Data. Treat Untrusted Data as Dangerous - PLANNED-2
80-
* Avoid Default & Hardcoded Credentials - PLANNED-1 (Tepas Jena)
81-
* Avoid Incorrect Conversion or Cast - PLANNED-2
79+
* [Prefer Trusted Data. Treat Untrusted Data as Dangerous](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#prefer-trusted-data-treat-untrusted-data-as-dangerous) - PLANNED-2
80+
* [Avoid Default & Hardcoded Credentials](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#avoid-default--hardcoded-credentials) - PLANNED-1 (Tepas Jena)
81+
* [Avoid Incorrect Conversion or Cast](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#avoid-incorrect-conversion-or-cast) - PLANNED-2
8282
* Processing Data Securely: Undefined Behavior / Memory Safety
8383
* Countering Out-of-Bounds Reads and Writes (Buffer Overflow) - [oob1](oob1.html)
84-
* Double-free, Use-after-free, and Missing Release - PLANNED-1 (Bennett Pursell)
85-
* Avoid Undefined Behavior - PLANNED-2
84+
* [Double-free, Use-after-free, and Missing Release](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#double-free-use-after-free-and-missing-release) - PLANNED-1 (Bennett Pursell)
85+
* [Avoid Undefined Behavior](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#avoid-undefined-behavior) - PLANNED-2
8686
* Processing Data Securely: Calculate Correctly
87-
* Avoid Integer Overflow, Wraparound, and Underflow - PLANNED-2
87+
* [Avoid Integer Overflow, Wraparound, and Underflow](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#avoid-integer-overflow-wraparound-and-underflow) - PLANNED-2
8888
* Calling Other Programs
8989
* Introduction to Securely Calling Programs
9090
* Introduction to Securely Calling Programs - The Basics
9191
* Calling Other Programs: Injection and Filenames
92-
* SQL Injection - PLANNED-1 (Tepas Jena)
92+
* [SQL Injection](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#sql-injection) - PLANNED-1 (Tepas Jena)
9393
* OS Command (Shell) injection - PLANNED-1 (Marta Rybczynska)
94-
* Other Injection Attacks - PLANNED-2
94+
* [Other Injection Attacks](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#other-injection-attacks) - PLANNED-2
9595
* Filenames (Including Path Traversal and Link Following) - PLANNED-2
9696
* Calling Other Programs: Other Issues
97-
* Call APIs for Programs and Check What Is Returned - PLANNED-2
98-
* Handling Errors - PLANNED-2
99-
* Logging - PLANNED-2
100-
* Debug and Assertion Code - PLANNED-1
97+
* [Call APIs for Programs and Check What Is Returned](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#call-apis-for-programs-and-check-what-is-returned) - PLANNED-2
98+
* [Handling Errors](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#handling-errors) - PLANNED-2
99+
* [Logging](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#logging) - PLANNED-2
100+
* [Debug and Assertion Code](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#debug-and-assertion-code) - PLANNED-1 (Jason Shepherd)
101101
* Countering Denial-of-Service (DoS) Attacks - PLANNED-2
102102
* Sending Output
103-
* Introduction to Sending Output - PLANNED-2
103+
* [Introduction to Sending Output](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#introduction-to-sending-output) - PLANNED-2
104104
* Countering Cross-Site Scripting (XSS) - PLANNED-1 (Tepas Jena)
105105
* Content Security Policy (CSP) - [csp1](csp1.html)
106106
* Other HTTP Hardening Headers - (probably continue csp1) PLANNED-2
107-
* Cookies & Login Sessions - PLANNED-2
108-
* CSRF / XSRF - PLANNED-2
109-
* Open Redirects and Forwards - PLANNED-2
107+
* [Cookies Cookies & Login Sessions Login Sessions](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#cookies--login-sessions) - PLANNED-2
108+
* [CSRF / XSRF](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#csrf--xsrf) - PLANNED-2
109+
* [Open Redirects and Forwards](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#open-redirects-and-forwards) - PLANNED-2
110110
* HTML **target** and JavaScript **window.open()** - PLANNED-2
111111
* Using Inadequately Checked URLs / Server-Side Request Forgery (SSRF) - PLANNED-2
112112
* Same-Origin Policy and Cross-Origin Resource Sharing (CORS) - PLANNED-2
113-
* Format Strings and Templates - PLANNED-1
114-
* Minimize Feedback / Information Exposure - PLANNED-2
115-
* Avoid caching sensitive information - PLANNED-2
116-
* Side-Channel Attacks - PLANNED-2
113+
* [Format Strings and Templates](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#format-strings-and-templates) - PLANNED-1 (Jason Shepherd)
114+
* [Minimize Feedback / Information Exposure](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#minimize-feedback--information-exposure) - PLANNED-2
115+
* [Avoid caching sensitive information](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#avoid-caching-sensitive-information) - PLANNED-2
116+
* [Side-Channel Attacks](https://github.com/ossf/secure-sw-dev-fundamentals/blob/main/secure_software_development_fundamentals.md#side-channel-attacks) - PLANNED-2
117+
118+
## Our thanks
119+
120+
Thanks to the following people who have created or offered to create labs
121+
(sorted by first name):
122+
123+
* Bennett Pursell
124+
* David A. Wheeler
125+
* Jason Shepherd
126+
* Marta Rybczynska
127+
* Tepas Jena
117128

118129
## Other information
119130

0 commit comments

Comments
 (0)