Initial fuzz integration - #2022
Conversation
99dd762 to
8d6066d
Compare
|
Hi @jaylinski would be interested in fuzzing Handlebars.js at oss-fuzz ? If you are interested, oss-fuzz requires a email(s) address from your end. |
jaylinski
left a comment
There was a problem hiding this comment.
Thanks, looks good!
Before merging, I'm thinking about running your fuzz-tests in a GitHub action for about 2 minutes. This ensures that the script won't get broken and new (shallow) bugs will be detected before merging to master.
What do think about it?
If your aim for this is to get some initial finding, I have already tested it by running for sometime at my local machine , and have not found anything as of now. and to check whether this script is broken or not i have tested it against oss-fuzz CI at google/oss-fuzz#11281, you can see the all checks have passed there. On side note OSS-Fuzz offers CIFuzz, a GitHub action/CI job that runs your fuzz targets on pull requests(for projects added to oss-fuzz). Edit: |
|
@jaylinski friendly ping :) |
|
I'd still like to run the fuzzing on GitHub CI just to verify/document the script. Can you add a pipeline script? (If not, I also can add it.) |
Sounds good, I'll add it :) |
8d6066d to
d8b1672
Compare
- Adds initial fuzz_target for Handlebars.compile() - Adds Jazzer.js as dev-dependency - Adds fuzzing on Github CI
d8b1672 to
f1fffb4
Compare
|
Hi @jaylinski friendly ping :) |
jaylinski
left a comment
There was a problem hiding this comment.
Thanks for your work so far!
Another thing I just thought about: I'm curious if this fuzzing setup would actually find previously fixed vulns (https://snyk.io/advisor/npm-package/handlebars).
In case of a code-injection vulnerability, I guess the fuzzer would have to generate a throw-statement in order to trigger the try-catch-block?
Fuzzing can be effective in finding vulnerabilities, including those that were previously fixed. However, it depends on the specific techniques used in the fuzzer and the nature of the vulnerabilities. For code injection vulnerabilities, the fuzzer might try to generate inputs that manipulate the program's control flow. In the case of a try-catch block, attempting to trigger it with a crafted throw statement could be one approach to uncovering code injection issues. Keep in mind that the success of finding such vulnerabilities also relies on the fuzzer's ability to explore different code paths and exercise edge cases. |
|
All checks are green :) |
|
Hi @jaylinski Can we please get this merged? |
|
ping :) |
Description
This pr attempts to adds coverage guided fuzzing powered by jazzer.js with the aim that
handlebars.jswill eventually get integrated into oss-fuzz for continuous fuzzing. closes #1999cc @jaylinski
Generally we like to see pull requests that
4.x-branch contains the latest version. Please target that branch in the PR.