Skip to content

Commit 038ddb6

Browse files
Tweak tone lab README (#450)
* Tweak tone lab README The README has helpful information, but it's really a roadmap and people at first didn't realize that. Modify the tone so it's clearly a roadmap, show stages, and make it clear that these are "planned" not merely "needed". This commit is per review/comment during an OpenSSF education SIG meeting. Signed-off-by: David A. Wheeler <[email protected]> * Remove trailing exclamation mark in header This fixes a markdownlint error Signed-off-by: David A. Wheeler <[email protected]> --------- Signed-off-by: David A. Wheeler <[email protected]>
1 parent c9e4a28 commit 038ddb6

File tree

1 file changed

+52
-40
lines changed

1 file changed

+52
-40
lines changed

docs/labs/README.md

Lines changed: 52 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ Here are the labs available:
1919
* [input2](input2.html) - input validation (more complex situations)
2020
* [csp1](csp1.html) - Content Security Policy (CSP)
2121

22+
## Please contribute labs
23+
24+
We would love to have people contribute relevant labs to help
25+
people learn how to develop secure software.
26+
We'd be happy to give you credit through a "wall of fame".
27+
28+
If you're interested, please contact
29+
[David A. Wheeler](mailto:dwheele&#114;&#64;linuxfoundation&#46;org).
30+
See below for how to create labs and our lab roadmap.
31+
2232
## How to create and submit labs
2333

2434
See [create labs](create_labs) if you want to learn how to create labs.
@@ -29,14 +39,16 @@ To submit new or updated labs, create a pull request on the
2939
[OpenSSF Best Practices WG](https://github.com/ossf/wg-best-practices-os-developers/)
3040
under the `docs/labs` directory.
3141

32-
## Desired labs
42+
## Lab Roadmap
3343

34-
We want to create labs for the secure software development
44+
We plan to create labs for the secure software development
3545
fundamentals course;
3646
[here is its development website](https://github.com/ossf/secure-sw-dev-fundamentals).
3747

38-
These are the sections that especially call out for labs, along with
39-
mappings to existing labs or people who have agreed to work on one:
48+
Below are the sections where we plan to create labs, along with
49+
mappings to existing labs or people who have agreed to work on one.
50+
The items marked "PLANNED-1" are those we intend to do first;
51+
"PLANNED-2" are planned in a second pass.
4052

4153
* Input Validation
4254
* Input Validation Basics
@@ -48,55 +60,55 @@ mappings to existing labs or people who have agreed to work on one:
4860
* Validating Text
4961
* Introduction to Regular Expressions - [regex1](regex1.html)
5062
* Using Regular Expressions for Text Input Validation - [input2](input2.html)
51-
* Countering ReDoS Attacks on Regular Expressions - NEED
63+
* Countering ReDoS Attacks on Regular Expressions - PLANNED-2
5264
* Input Validation: Beyond Numbers and Text
53-
* Insecure Deserialization - NEED
54-
* Input Data Structures (XML, HTML, CSV, JSON, & File Uploads) - NEED
55-
* Minimizing Attack Surface, Identification, Authentication, and Authorization - NEED
56-
* Search Paths and Environment Variables (including setuid/setgid Programs) - NEED
57-
* Special Inputs: Secure Defaults and Secure Startup - NEED
65+
* Insecure Deserialization - PLANNED-2
66+
* Input Data Structures (XML, HTML, CSV, JSON, & File Uploads) - PLANNED-2
67+
* Minimizing Attack Surface, Identification, Authentication, and Authorization - PLANNED-2
68+
* Search Paths and Environment Variables (including setuid/setgid Programs) - PLANNED-2
69+
* Special Inputs: Secure Defaults and Secure Startup - PLANNED-2
5870
* Consider Availability on All Inputs
59-
* Consider Availability on All Inputs Introduction - NEED
71+
* Consider Availability on All Inputs Introduction - PLANNED-2
6072
* Processing Data Securely
6173
* Processing Data Securely: General Issues
62-
* Prefer Trusted Data. Treat Untrusted Data as Dangerous - NEED
63-
* Avoid Default & Hardcoded Credentials - NEED
64-
* Avoid Incorrect Conversion or Cast - NEED
74+
* Prefer Trusted Data. Treat Untrusted Data as Dangerous - PLANNED-2
75+
* Avoid Default & Hardcoded Credentials - PLANNED-1
76+
* Avoid Incorrect Conversion or Cast - PLANNED-2
6577
* Processing Data Securely: Undefined Behavior / Memory Safety
66-
* Countering Out-of-Bounds Reads and Writes (Buffer Overflow) - NEED
67-
* Double-free, Use-after-free, and Missing Release - NEED
68-
* Avoid Undefined Behavior - NEED
78+
* Countering Out-of-Bounds Reads and Writes (Buffer Overflow) - PLANNED-1
79+
* Double-free, Use-after-free, and Missing Release - PLANNED-1
80+
* Avoid Undefined Behavior - PLANNED-2
6981
* Processing Data Securely: Calculate Correctly
70-
* Avoid Integer Overflow, Wraparound, and Underflow - NEED
82+
* Avoid Integer Overflow, Wraparound, and Underflow - PLANNED-2
7183
* Calling Other Programs
7284
* Introduction to Securely Calling Programs
7385
* Introduction to Securely Calling Programs - The Basics
7486
* Calling Other Programs: Injection and Filenames
75-
* SQL Injection - NEED
76-
* OS Command (Shell) injection - NEED
77-
* Other Injection Attacks - NEED
78-
* Filenames (Including Path Traversal and Link Following) - NEED
87+
* SQL Injection - PLANNED-1
88+
* OS Command (Shell) injection - PLANNED-1
89+
* Other Injection Attacks - PLANNED-2
90+
* Filenames (Including Path Traversal and Link Following) - PLANNED-2
7991
* Calling Other Programs: Other Issues
80-
* Call APIs for Programs and Check What Is Returned - NEED
81-
* Handling Errors - NEED
82-
* Logging - NEED
83-
* Debug and Assertion Code - NEED
84-
* Countering Denial-of-Service (DoS) Attacks - NEED
92+
* Call APIs for Programs and Check What Is Returned - PLANNED-2
93+
* Handling Errors - PLANNED-2
94+
* Logging - PLANNED-2
95+
* Debug and Assertion Code - PLANNED-1
96+
* Countering Denial-of-Service (DoS) Attacks - PLANNED-2
8597
* Sending Output
86-
* Introduction to Sending Output - NEED
87-
* Countering Cross-Site Scripting (XSS) - NEED
98+
* Introduction to Sending Output - PLANNED-2
99+
* Countering Cross-Site Scripting (XSS) - PLANNED-1
88100
* Content Security Policy (CSP) - [csp1](csp1.html)
89-
* Other HTTP Hardening Headers - (probably continue csp1) NEED
90-
* Cookies & Login Sessions - NEED
91-
* CSRF / XSRF - NEED
92-
* Open Redirects and Forwards - NEED
93-
* HTML **target** and JavaScript **window.open()** - NEED
94-
* Using Inadequately Checked URLs / Server-Side Request Forgery (SSRF) - NEED
95-
* Same-Origin Policy and Cross-Origin Resource Sharing (CORS) - NEED
96-
* Format Strings and Templates - NEED
97-
* Minimize Feedback / Information Exposure - NEED
98-
* Avoid caching sensitive information - NEED
99-
* Side-Channel Attacks - NEED
101+
* Other HTTP Hardening Headers - (probably continue csp1) PLANNED-2
102+
* Cookies & Login Sessions - PLANNED-2
103+
* CSRF / XSRF - PLANNED-2
104+
* Open Redirects and Forwards - PLANNED-2
105+
* HTML **target** and JavaScript **window.open()** - PLANNED-2
106+
* Using Inadequately Checked URLs / Server-Side Request Forgery (SSRF) - PLANNED-2
107+
* Same-Origin Policy and Cross-Origin Resource Sharing (CORS) - PLANNED-2
108+
* Format Strings and Templates - PLANNED-1
109+
* Minimize Feedback / Information Exposure - PLANNED-2
110+
* Avoid caching sensitive information - PLANNED-2
111+
* Side-Channel Attacks - PLANNED-2
100112

101113
## Other information
102114

0 commit comments

Comments
 (0)