OWASP / NodeGoat

The OWASP NodeGoat 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.
https://www.owasp.org/index.php/Projects/OWASP_Node_js_Goat_Project
Apache License 2.0
1.86k stars 1.62k forks source link

Roadmap for 2019-2020 #148

Open UlisesGascon opened 5 years ago

UlisesGascon commented 5 years ago

Hi all!

In the last months we were focus on improve the codebase with tests, mostly e2e test and CI.

Now we are more confidents on the source code and it's easier to validate PRs and merge new contributions. I think is a good time to discuss about the roadmap for NodeGoat in the following months.

Right now we are close to publish release 1.4 that includes (e2e and ci). I just want to suggest some possible targets for the following releases.

Release 1.5

Main goal:

Pending PRs (Update/review):

Targets:

Main goal:

Targets:

Open Questions && Discussions

Main goals/ideas suggested by @ckarande:

As you may know, current version of Nodegoat uses templates for rendering UI and cookie based stateful session. This architecture is good for beginners to have the least resistance to start diving into the security specific concepts. However, I would like to provide two additional versions of NodeGoat that are close to real world Node.js apps and demonstrate security vulnerabilities in the context of these architectures:

  • Architecture 2: Using client side rendering with React (or Vue/Angular) and stateless session management using JWT. As part of this upgrade the UI build system to use webpack / UI framework specific build CLI.
  • Architecture 3: various services broken down into individually deployable micro services. Also check: #38

If we have a clear roadmap it will super easy to reclute contributors and provide them a clear path to follow :-)

I will try to setup a local Hackathon in Madrid to reclute new contributors and close some issues 👍

In order to keep all smooth and simple to review, I will suggest to work using issues per feature and link those issues to small PRs and commit using GitFlow (branches per release) so we can concentrate all the PRs per release. And then a final PR from the release branch to the master in order to upgrade package version and deploy in Heroku.

What do you think? Do you agree for the targets/items for release 1.5? I think that we need to discuss a lot for 1.6 as now it is very conceptual

ckarande commented 5 years ago

A very good compilation of next tasks and release roadmap. It looks good to me.

I just created release 1.4 and we are all set to start rolling out tasks you listed for Release 1.5. I agree that items for 1.5 are well defined and we can proceed with those. As we proceed, let's create issues for each item in the list and add it to corresponding milestones.

I have added you to the list of collaborators for the project 🎉🎉. Thanks for your contributions and looking forward to work together to make NodeGoat even more valuable resource for the community.

UlisesGascon commented 5 years ago

thanks a lot @ckarande !! 🤗

Can you add me extra rights for manage issue label creation and milestone assignation? maybe projects, too? :-)

ckarande commented 5 years ago

Of course. Can you please check if you have the necessary rights now.

UlisesGascon commented 5 years ago

Oh yeah! Now it is perfect ^^ . Thanks a lot @ckarande !

UlisesGascon commented 4 years ago

Hi all!

I just added new issues for release 1.6 and rename this issue for 2020.

I will try to expend some time the following two weeks to remap the current status for 1.5 and push some code to speed up the release.

ckarande commented 4 years ago

Sounds great. Thanks @UlisesGascon

binarymist commented 3 years ago

May be worth updating the checklist? purpleteam has been testing NodeGoat for several years now