Currently when a tainted input is detected in a sink, foxhound currently triggers the __taintreport event with all information about the taint flow, and writes a short message to the console with information about the source and sink.
Currently the recommendation is to hook into the __taintreport event to analyze and extract data flows, for example using a plugin or via browser automation tools like playwright.
In the cases where this is not possible, it would be great to have a feature to dump all taint flows to disk in e.g. JSON format. This would mean an offline analysis could be done without needing an additional plugin or automation integration.
I think three things are needed here:
Currently when a tainted input is detected in a sink, foxhound currently triggers the
__taintreportevent with all information about the taint flow, and writes a short message to the console with information about the source and sink.Currently the recommendation is to hook into the
__taintreportevent to analyze and extract data flows, for example using a plugin or via browser automation tools like playwright.In the cases where this is not possible, it would be great to have a feature to dump all taint flows to disk in e.g. JSON format. This would mean an offline analysis could be done without needing an additional plugin or automation integration.
I think three things are needed here:
string.taintby hand hereproject-foxhound/js/src/builtin/String.cpp
Line 165 in 725e1d9
project-foxhound/js/src/jsapi.cpp
Line 4983 in 725e1d9