You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/1-introduction.livemd
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,9 +36,9 @@ Spread throughout the Training material, you will find sections labeled <span st
36
36
37
37
### Auto-grader
38
38
39
-
Meticulous care has been put into the <spanstyle="color:red;">**Quiz**</span> questions thus far in order to allow for programmatic grading of answers. This has been done to accomodate the usage of these Training materials en masse for organizations to level up the entirety of their Engineering teams.
39
+
Meticulous care has been put into the <spanstyle="color:red;">**Quiz**</span> questions thus far in order to allow for programmatic grading of answers. This has been done to accommodate the usage of these Training materials en masse for organizations to level up the entirety of their Engineering teams.
40
40
41
-
As such, each <spanstyle="color:red;">**Quiz**</span> question is very specific about what to change and what not to change in the code sample - this is to maintain the integrity of the grader and provide immediate feedback to the taker if they succeeded or not. **Please do not unneccessarily change the code examples more than what is asked of you in the question!**
41
+
As such, each <spanstyle="color:red;">**Quiz**</span> question is very specific about what to change and what not to change in the code sample - this is to maintain the integrity of the grader and provide immediate feedback to the taker if they succeeded or not. **Please do not unnecessarily change the code examples more than what is asked of you in the question!**
Copy file name to clipboardExpand all lines: modules/2-owasp.livemd
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -139,7 +139,7 @@ Notable CWEs included are CWE-79: Cross-site Scripting, CWE-89: SQL Injection, a
139
139
140
140
* Don't blindly trust user input.
141
141
* Use an allowlist if functionality permits.
142
-
* Denylists are an acceptable ancilliary protection, but they should not be the only form of protection for user input as there is no way to unilaterally protect against all malicious input possibilities.
142
+
* Denylists are an acceptable ancillary protection, but they should not be the only form of protection for user input as there is no way to unilaterally protect against all malicious input possibilities.
143
143
* Use a safe API, namely use the [Ecto](https://hexdocs.pm/ecto/Ecto.html) library as its queries use parameterized inputs by default.
144
144
* Use server-side input validation.
145
145
* This is not a complete defense as many applications require special characters, such as text areas or APIs for mobile applications.
@@ -210,7 +210,7 @@ Notable CWEs included are CWE-16 Configuration and CWE-611 Improper Restriction
210
210
211
211
### Description
212
212
213
-
Vulnerable Components are a known issue that we struggle to test and assess risk of. Purely having outdated components does not inherently open you up to exploitation, but the likelihood is increased (moreso if there is an identified vulnerability associated with a component).
213
+
Vulnerable Components are a known issue that we struggle to test and assess risk of. Purely having outdated components does not inherently open you up to exploitation, but the likelihood is increased (more so if there is an identified vulnerability associated with a component).
214
214
215
215
You are likely vulnerable:
216
216
@@ -329,7 +329,7 @@ Notable CWES include CWE-778 Insufficient Logging to include CWE-117 Improper Ou
329
329
### Prevention
330
330
331
331
* Ensure all login, access control, and server-side input validation failures can be logged with sufficient user context to identify suspicious or malicious accounts and held for enough time to allow delayed forensic analysis.
332
-
* Do not add unneccessary PII/PHI to logs - only the bare minimum needed to establish context.
332
+
* Do not add unnecessary PII/PHI to logs - only the bare minimum needed to establish context.
333
333
* Ensure that logs are generated in a format that log management solutions can easily consume.
334
334
* Ensure log data is encoded correctly to prevent injections or attacks on the logging or monitoring systems.
335
335
* Ensure high-value transactions have an audit trail with integrity controls to prevent tampering or deletion, such as append-only database tables or similar.
Copy file name to clipboardExpand all lines: modules/3-ssdlc.livemd
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Welcome to Part 3! This section is dedicated to discussing some of the more abst
17
17
18
18
While it may seem obvious, having secrets such as passwords or auth_tokens hard coded in your files is a big yikes! Even if you catch it later, more than likely your code has been uploaded to a Version Control System and is now in your commit history - which can be [scary / difficult to undo](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository).
19
19
20
-
More than that, while it may be convienent for testing / building typically in production you don't care about those secrets anyways - so you might as well incorporate them securely from the get go!
20
+
More than that, while it may be convenient for testing / building typically in production you don't care about those secrets anyways - so you might as well incorporate them securely from the get go!
Copy file name to clipboardExpand all lines: modules/5-elixir.livemd
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,7 +105,7 @@ Plainly speaking, response time it takes to compute a given function measured at
105
105
106
106
This technique is primarily used to analyze string comparisons of secret values to brute-force the identify of the secret.
107
107
108
-
e.g. When comparing two strings, the function exits when variation is detected. Take a secret value `MY_SECRET` and a user input `MY_PASSWORD`, the string compariosn (`MY_PASSWORD == MY_SECRET`) would go character by character until there's a complete match or a discrepency. So if the new input was `MY_SAUCE`, that new string would take marginally longer to compare against the secret than `MY_PASSWORD` because of one more similar character as `MY_SECRET`.
108
+
e.g. When comparing two strings, the function exits when variation is detected. Take a secret value `MY_SECRET` and a user input `MY_PASSWORD`, the string compariosn (`MY_PASSWORD == MY_SECRET`) would go character by character until there's a complete match or a discrepancy. So if the new input was `MY_SAUCE`, that new string would take marginally longer to compare against the secret than `MY_PASSWORD` because of one more similar character as `MY_SECRET`.
Copy file name to clipboardExpand all lines: modules/9-secure-road.livemd
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ In the event of a token exposure in situation B, you would simple have to rotate
42
42
43
43
## Example: User Authorization
44
44
45
-
Consider a system that utilizes [Role Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac) as its users authorization paradigm. When building out new product functionality that you only want the most priviledged role type(s) to be able to perform, would it be better to:
45
+
Consider a system that utilizes [Role Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac) as its users authorization paradigm. When building out new product functionality that you only want the most privileged role type(s) to be able to perform, would it be better to:
46
46
47
47
A) Create an allowlist with explicitly approved roles defined that is checked against when a request comes through or;
0 commit comments