Git Product home page Git Product logo

freedom's Introduction

FreeDom

Paper

FREEDOM: Engineering a State-of-the-Art DOM Fuzzer (ACM CSS 2020)

Prerequisites

  • Python 3.x

Usage

python3 main.py

Fuzzer configuration

Check config.py that manages testcase complexity and fuzzing process.

Mode 0. Testcase generation only

This mode simply generates a number of random HTML documents and save them to a given directory.

Example:

python main.py -i 1 -m generate -n 10 -o output

Security bugs

  • WebKit (Safari): CVE-2019-6212, CVE-2019-8596, CVE-2019-8609, CVE-2019-8720, CVE-2020-9803, CVE-2020-9806, CVE-2020-9807, CVE-2020-9895
  • Chrome: CVE-2019-5806, CVE-2019-5817, Issue 943424, Issue 943538
  • Firefox: Issue 1626152

Citation

@inproceedings{xu:freedom,
  title        = {{FREEDOM: Engineering a State-of-the-Art DOM Fuzzer (to appear)}},
  author       = {Wen Xu and Soyeon Park and Taesoo Kim},
  booktitle    = {Proceedings of the 27th ACM Conference on Computer and Communications Security (CCS)},
  month        = nov,
  year         = 2020,
  address      = {Orlando, FL},
}

Contacts

freedom's People

Contributors

tarafans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freedom's Issues

Code Release

In the paper back in September, you said that the code is going to be open sourced. Do you know when that's going to happen, as I'd like to give it a read? Thanks!

How to add APIs?

Hello,

First of all, thank you for the project. I looked around a little bit but cannot find responsible snippet at the codebase for APIs. I want generator to only generate specific APIs or add some if there aren't any which I'm looking for. Could you point me in a direction?

Thanks,

Syntax error + advanced fuzzing mode

Hello,

Thank you very much for making FreeDom open source.

I have just tried to test it on Ubuntu 18.04 following the commands in README but it doesn't work.

In mode 0 (test case generation only), I received the following error message:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from attribute.html import initialize_html_attributes
  File "/home/ubuntu/freedom/attribute/__init__.py", line 3, in <module>
    from utils.random import Random
  File "/home/ubuntu/freedom/utils/__init__.py", line 4
    def cat(args: [str]) -> str:
                ^
SyntaxError: invalid syntax

This might be a OS-specific issue. If so, what are the operating systems on which FreeDom has been successfully tested?

Moreover, could you please update your README to include commands to run FreeDom in the more advanced mode with code coverage guidance as explained in the paper.

LL.

More info on FD-IR and corresponding implementation in Freedom ?

Hi.
I am more interested to know more about FD-IR implementation details on freedom . I read Freedom paper and I want to know which part of the current freedom source code is responsible to do the FD-IR as presenting intermediate representation of DOM .

Thanks.

Run Freedom

Freedom is a nice framework, thanks for sharing it selflessly.
I am using it and would like to know if it is AFL based to run it? Does FreeDom have anything to do with AFL?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.