-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add guidance on how to write security test cases (or threat verification tests) #6
Comments
Is instruction on regression testing in scope for the WSTG? Or have I got the wrong idea? |
@victoriadrake we believe (me and @kingthorin ) that it could be a nice to have, nothing core to the project or its latest release. The project focuses more on guidance a tester through the stages in a manual approach more so than an automated one. |
@ThunderSon Does that mean there's another OWASP project that focuses on adversarial unit tests that we should make sure to link to? On this issue in general, the framework of Defect Dojo seems to work as a bit of a guide to write security tests: https://defectdojo.readthedocs.io/en/latest/models.html#engagements / https://owasp.org/www-project-defectdojo/ Personally, I handle security type tests in the same way as any other test (maybe I saw too much DevSecOps idealism marketing), so I'm not sure what this guide has to say about what makes a "security test case" different from any other test. Everything I can think of (business importance, which team is responsible for it, who to call if the feature underlying said test fails in production and forces people in at 02:00 on a Sunday) apply to both "security" and "non-security" tests. |
What I read from DD (defect dojo) doesn't actually fit what is being discussed in here. |
@itscooper any chance you want to contribute some content to address this? |
"how a tester can write programmatic test cases as a form of output, that developers can re-run to determine if an issue has been fixed."? i.e. By applying the BDD security, and testing cases/report will be -
Results |
I saw this in the v4.3 release milestones and wanted to double-check a few things ensure I have the experience necessary to cover this. The original issue is:
This would be nice, but I wonder about the actual application of it. Normally these would be solved with a remediation test, as compliance in some corps requires a 3rd party to confirm a vulnerability has been remediated. It would also add a significant amount of overhead to time-boxed testing, and would require decisions to be made surrounding format. Would it be a Go script, Python script, or would it possibly even use newer tooling such as Hurl? It also could be a vuln that is not easily programmatically reproducible for a number of reasons: browser-based, a large amount of intricate steps involved, etc. The reporting section does hit on reproduction steps:
And mentions extra ways to help readers of the report:
If a smaller change is desired, it could be appended to the last quote posted above, as I think it qualifies as "Additional Resources" that are technically optional on top of the required items, like text-based reproduction steps. If a larger change is desired, I could also add these into either different sections, or new files, as just the act of writing reproduction steps can get pretty deep. I don't know if stylistic guidelines would be welcome there as well, such as suggesting how to format the screenshots to make their intent clear, wording choices for clarity, etc. Smaller change could also be v4.3, larger change planned for v5. Just let me know! 😁 |
I think it can be something small. We don't need to suggest a specific language or solution as they might be different for different issues/vulns. It could simply (IMHO) list things like generating a curl command, generating a CSRF form/PoC, creating a HAR, creating a selenium or puppeteer test/script, etc. |
Guidance, to be added to section 5 (reporting), on how a tester can write programmatic test cases as a form of output, that developers can re-run to determine if an issue has been fixed.
The text was updated successfully, but these errors were encountered: