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: README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
2
description: >-
3
-
"DevSec" is a derived name from "DevSecOps" and "SecDevOps", a idea to
4
-
aggregate all things related to a secure development & operations (always from
5
-
the DEV perspective).
3
+
"DevSec", "DevSecOps", "SecDevOps"... lots of buzzwords, but here the idea is
4
+
to aggregate all things related to a secure development & operations (always
5
+
from the DEV perspective).
6
6
---
7
7
8
8
# DevSec
@@ -23,6 +23,8 @@ With **DevOps**, we shifted to make developers more accountable for operational
23
23
24
24
In lots of products or projects we are already shifting left a lot of controls earlier in the development lifecycle, where the development teams are (such as testing)... So why not including security testing to an earlier step? We could make fewer mistakes, and we can move more quickly (quickly addressing newly discovered vulnerabilities and fixing them).
25
25
26
+
The overall aim is to create a culture where everyone is responsible for security, reducing the risk of security issues and allowing teams to deliver secure, high-quality software more quickly.
27
+
26
28
**This is a process change, it's not about a single/specific tool or controls. It's about making all of security more developer-centric.**
This page is meant to be as an starting point for security in development, for developers with little or no experience at all with secure development and good security practices in development.
10
+
11
+
## Awareness
12
+
13
+
Every year vulnerabilities tend to grow in numbers ([as you can see in CVE Details](https://www.cvedetails.com/browse-by-date.php)) as well as weakness in code ([view CWE from Mitre](https://cwe.mitre.org/data/index.html)).
14
+
15
+
Lots of enterprises are more aware about security in their software, ransomware groups and attacks are pretty common every single day, automated scannners for common vulnerabilities run by bad actors...
16
+
17
+
The are lots of reasons to take security seriously as a developer. Just take a Raspberry Pi (or other similar device) or spin up a VM in a cloud service, and open SSH port on port 22 publicly... You will be shocked with the number of attempts to login to your device...
18
+
19
+
Then have a look to some of this visualization tools:
20
+
21
+
*[Cloudflare](https://www.cloudflare.com/) offers ["Cloudflare Radar"](https://radar.cloudflare.com/) where you can see an instant overview of internet insights (some regarding security and attacks).
22
+
* The [NIST (National Instutute of Standards and Technology)](https://www.nist.gov/) provides [multiple visualizations of it's vulnerability database.](https://nvd.nist.gov/general/visualizations)
23
+
*[CheckPoint ](https://www.checkpoint.com/)offers [ThreatMap](https://threatmap.checkpoint.com/) where you can see attacks in real time, as well as attacks on the day of visit (tends to grow to millions a day).
24
+
*[Kaspersky](https://www.kaspersky.com/) offers [Cybermap](https://cybermap.kaspersky.com/), a realtime CyberTheat map.
25
+
*[Radware](https://radware.com) offers [another live threat map](https://livethreatmap.radware.com/) worth to check out.
26
+
*[NetScoute](https://www.netscout.com/) offers [Horizon](https://horizon.netscout.com/), its own cyber threat real-time map.
27
+
*[Imperva](https://www.imperva.com/) also offers [its own cyber threat attack map](https://www.imperva.com/cyber-threat-attack-map/).
*[SonicWall live attack map](https://attackmap.sonicwall.com/live-attack-map/)
36
+
37
+
Search news for data breaches, security incidents, ransomware attacks.
38
+
39
+
Are you more concerned now?
40
+
41
+
Great. Let's improve this situation...
42
+
43
+
**A good starting point is to look at**[**OWASP Top Ten**](https://owasp.org/www-project-top-ten/)**, these are the main application security risks that are most important nowadays. The goal is to minimise these risks.**
44
+
45
+
## OWASP Secure Coding Practices Checklist
46
+
47
+
A very good starting point to ensure whatever you are developing, you meet with [this OWASP checklist](https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/02-checklist/05-checklist).
48
+
49
+
[This SecureCoding blog post](https://www.securecoding.com/blog/owasp-secure-coding-checklist/) about it, it's also very useful.
50
+
51
+
This checklist covers the following points:
52
+
53
+
* Input Validation
54
+
* Output Encoding
55
+
* Authentication & Password Management
56
+
* Session Management
57
+
* Access Control
58
+
* Cryptographic Practices
59
+
* Error Handling & Logging
60
+
* Data Protection
61
+
* Communication Security
62
+
* System Configuration
63
+
* Database Security
64
+
* File Management
65
+
* Memory Management
66
+
***General coding practices (this last point is very important)**
67
+
68
+
From the last bullet point, make sure you are following this coding practices:
69
+
70
+
*[ ]**Use tested and approved managed code** rather than creating new unmanaged code for common tasks.
71
+
*[ ] Utilize task specific built-in APIs to conduct operating system tasks. **Do not allow the application to issue commands directly to the Operating System, especially through the use of application initiated command shells**.
72
+
*[ ]**Use**[**checksums**](https://en.wikipedia.org/wiki/Checksum)**or hashes to verify the integrity** of interpreted code, libraries, executables, and configuration files.
73
+
*[ ] Utilize locking to prevent multiple simultaneous requests or use a synchronization mechanism to **prevent race conditions**.
74
+
*[ ]**Protect shared variables and resources** from inappropriate concurrent access.
75
+
*[ ]**Explicitly initialize all your variables and other data stores**, either during declaration or just before the first usage.
76
+
*[ ] In cases where the application must run with elevated privileges, **raise privileges as late as possible, and drop them as soon as possible**.
77
+
*[ ] Avoid calculation errors by **understanding your programming language's underlying representation.**
78
+
*[ ]**Do not pass user supplied data to any dynamic execution function.**
79
+
*[ ]**Restrict users from generating new code or altering existing code.**
80
+
*[ ]**Review all secondary applications, third party code and libraries** to determine business necessity and validate safe functionality.
81
+
*[ ] Implement **safe updating using encrypted channels.**
82
+
83
+
## Getting some help
84
+
85
+
You don't have to do all of this without help!
86
+
87
+
Look for professionals, professional enterprise ready tools and solutions. awesome OSS projects and others in other sections of this page:
Copy file name to clipboardExpand all lines: resources/articles.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ Here are some articles worth to read.
9
9
### DevSecOps
10
10
11
11
*[DevSecOps: Secure code quickly and easily | Red Hat Developer](https://developers.redhat.com/articles/2022/01/27/devsecops-why-you-should-care-and-how-get-started)
12
+
*[DevSecOps: Making Security Central To Your DevOps Pipeline](https://spacelift.io/blog/what-is-devsecops)
12
13
*[Challenges and solutions when adopting DevSecOps: A … - ScienceDirect](https://www.sciencedirect.com/science/article/pii/S0950584921001543)
13
14
*[Best practices for successful DevSecOps | Red Hat Developer](https://developers.redhat.com/articles/2022/06/15/best-practices-successful-devsecops)
14
15
*[How DevSecOps brings security into the development process](https://developers.redhat.com/articles/2021/12/01/how-devsecops-brings-security-development-process)
Copy file name to clipboardExpand all lines: resources/institutions.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,3 +13,14 @@ description: CyberSecurity related institutions
13
13
[NIST (National Institute of Standards and Technology)](https://www.nist.gov/)
14
14
15
15
*[GitHub](https://github.com/usnistgov)
16
+
17
+
[CIS (Center for Internet Security)](https://www.cisecurity.org/)
18
+
19
+
*[GitHub](https://github.com/CISecurity)
20
+
21
+
## Spain:
22
+
23
+
[INCIBE (National Institute of Cybersecurity (Spain))](https://www.incibe.es/en/incibe)
24
+
25
+
*[INCIBE-CERT](https://www.incibe.es/en/incibe-cert): the security incident response center of reference for citizens and private law entities in Spain operated by the National Institute of Cybersecurity (INCIBE).
Copy file name to clipboardExpand all lines: resources/other.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,11 @@ Outdated resources are marked with the symbol: ⚠️
20
20
*[GitHub](https://github.com/cisagov)
21
21
*[NIST (National Institute of Standards and Technology)](https://www.nist.gov/)
22
22
*[GitHub](https://github.com/usnistgov)
23
+
*[CIS (Center for Internet Security)](https://www.cisecurity.org/)
24
+
*[GitHub](https://github.com/CISecurity)
25
+
*[INCIBE (National Institute of Cybersecurity (Spain))](https://www.incibe.es/en/incibe)
26
+
*[INCIBE-CERT](https://www.incibe.es/en/incibe-cert): the security incident response center of reference for citizens and private law entities in Spain operated by the National Institute of Cybersecurity (INCIBE).
27
+
*[GitHub](https://github.com/INCIBE-CERT)
23
28
24
29
## Organizations / Foundations
25
30
@@ -118,6 +123,8 @@ Outdated resources are marked with the symbol: ⚠️
118
123
*[CyberArk](https://www.cyberark.com/): offers the most complete and extensible Identity Security Platform, protecting identities and critical assets by enabling Zero Trust and enforcing least privilege.
119
124
*[Puma Security](https://pumasecurity.io/): to help organizations build, develop, and support systems to deliver secure products and services.
120
125
*[ReportURI](https://report-uri.com/): browser security technologies, enabling you to detect and mitigate attacks, fast.
126
+
*[INE](https://ine.com/): challenge your team, regardless of level, to a training platform that puts real world infrastructure first. Learn from expert instructors and prove your knowledge in Networking, Cyber Security, Cloud and Data Science.
127
+
*[debricked](https://debricked.com/): take full control of security, compliance and health with a toolkit that will revolutionize the way you use open source.
121
128
122
129
## Lists
123
130
@@ -192,6 +199,7 @@ Outdated resources are marked with the symbol: ⚠️
192
199
*[HolyTips](https://github.com/HolyBugx/HolyTips): a Collection of Notes, Checklists, Writeups on Bug Bounty Hunting and Web Application Security.
193
200
*[CyberSecurityRSS ](https://github.com/zer0yu/CyberSecurityRSS)(English/Chinese): a collection of cybersecurity RSS.
194
201
*[AI for security learning](https://github.com/404notf0und/AI-for-Security-Learning) (Chinese)
202
+
*[Veracode Resources](https://www.veracode.com/resources): lots of resources in several formats from Veracode.
195
203
196
204
## Security Development
197
205
@@ -235,12 +243,16 @@ Outdated resources are marked with the symbol: ⚠️
235
243
## Advisories databases
236
244
237
245
*[OSV](https://osv.dev/): a distributed vulnerability database for Open Source.
*[GitHub Advisory Database](https://github.com/github/advisory-database) ([web](https://github.com/advisories)): security vulnerability database inclusive of CVEs and GitHub originated security advisories from the world of open source software.
240
248
*[Security advisories reported on GitHub](https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories)
*[Open Source Insights - devs.dev](https://deps.dev/): Open Source Insights is a service developed and hosted by Google to help developers better understand the structure, construction, and security of open source software packages.
@@ -263,9 +275,11 @@ Outdated resources are marked with the symbol: ⚠️
263
275
*[OWASP Vulnerable Web Applications Directory (VWAD)](https://owasp.org/www-project-vulnerable-web-applications-directory/): a comprehensive and well maintained registry of known vulnerable web and mobile applications currently available.
264
276
*[OWASP Juice Shop](https://github.com/juice-shop/juice-shop) ([web](https://owasp.org/www-project-juice-shop/)): Probably the most modern and sophisticated insecure web application.
265
277
*[OWASP NodeGoat](https://github.com/OWASP/NodeGoat) ([web](https://wiki.owasp.org/index.php/Projects/OWASP\_Node\_js\_Goat\_Project)): provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.
278
+
*[OWASP DVSA](https://github.com/OWASP/DVSA) ([web](https://owasp.org/www-project-dvsa/)): Damn Vulnerable Serverless Application (DVSA) is a deliberately vulnerable application aiming to be an aid for security professionals to test their skills and tools in a legal environment, help developers better understand the processes of securing serverless applications and to aid both students & teachers to learn about serverless application security in a controlled class room environment.
266
279
* Checkmarx [capital](https://github.com/Checkmarx/capital): a built-to-be-vulnerable API application based on the OWASP top 10 API vulnerabilities. Use c{api}tal to learn, train and exploit API Security vulnerabilities within your own API Security CTF.
267
280
*[Badssl.com](https://github.com/chromium/badssl.com) ([web](https://badssl.com/)): memorable site for testing clients against bad SSL configs.
268
281
*[CI/CD GOAT](https://github.com/cider-security-research/cicd-goat): a deliberately vulnerable CI/CD environment. Learn CI/CD security through multiple challenges.
282
+
* INE [Azure Goat](https://github.com/ine-labs/AzureGoat): a Damn Vulnerable Azure Infrastructure.
269
283
* Bridgecrew [TerraGoat](https://github.com/bridgecrewio/terragoat): "Vulnerable by Design" Terraform repository. TerraGoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments.
270
284
* Bridgecrew [Cfngoat](https://github.com/bridgecrewio/cfngoat): Cfngoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments (Cloudformation).
271
285
*[Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) ([web](https://madhuakula.com/kubernetes-goat)): a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground.
Copy file name to clipboardExpand all lines: tools/dependency-management.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,12 @@ description: Ensuring the dependencies of your codebase are secure
4
4
5
5
# Dependency Management
6
6
7
+
## About
8
+
9
+
Dependency management security is a crucial aspect of software development that focuses on mitigating risks associated with the use of third-party libraries or components, often referred to as dependencies. In modern software development, it's common to use a variety of these dependencies to avoid "reinventing the wheel" for common or complex tasks. However, these dependencies can have vulnerabilities that, if left unmanaged, can expose the software, and potentially the wider system, to security risks.
10
+
11
+
## Popular products and solutions
12
+
7
13
From the [Static Analysis section](static-analysis.md), these tools covers "Dependency management":
8
14
9
15
***GitHub:**
@@ -27,6 +33,9 @@ From the [Static Analysis section](static-analysis.md), these tools covers "Depe
27
33
28
34
*[npm audit](https://docs.npmjs.com/cli/audit): vulnerable package auditing for packages built into the npm CLI.
29
35
*[Bundlephobia](https://bundlephobia.com/): find the cost of adding a npm package to your bundle.
36
+
*[Socket](https://socket.dev/): fights vulnerabilities and provides visibility, defense-in-depth, and proactive supply chain protection for JavaScript and Python dependencies.
37
+
*[Open Source Insights - deps.dev](https://deps.dev/): Open Source Insights is a service developed and hosted by Google to help developers better understand the structure, construction, and security of open source software packages.
38
+
*[Overlay](https://github.com/os-scar/overlay): a browser extension helping developers evaluate open source packages before picking them.
30
39
*[is website vulnerable](https://github.com/lirantal/is-website-vulnerable): finds publicly known security vulnerabilities in a website's frontend JavaScript libraries.
31
40
*[retire.js](https://github.com/RetireJS/retire.js) ([web](https://retirejs.github.io/retire.js/)): scanner detecting the use of JavaScript libraries with known vulnerabilities. Can also generate an SBOM of the libraries it finds.
0 commit comments