Skip to content

Adding Wasm sources and sinks #4

Open
0drai wants to merge 27 commits into
tmbrbr:primitaint-mergefrom
0drai:primitaint-wasm
Open

Adding Wasm sources and sinks #4
0drai wants to merge 27 commits into
tmbrbr:primitaint-mergefrom
0drai:primitaint-wasm

Conversation

@0drai

@0drai 0drai commented Aug 2, 2024

Copy link
Copy Markdown

This pull request introduces Wasm sinks and sources to Foxhound. We're doing this by storing taint data in ArrayBufferViewObjects, which takes care of TypedArrays and DataViews - the usual suspects for handling Wasm memory.

It's working as intended across most websites, but there are a few things we still need to sort out:

@0drai 0drai changed the base branch from main to primitaint-merge August 2, 2024 18:03
0drai and others added 24 commits August 5, 2024 09:28
Before Array.indexOf and Array.includes had subtle differences in
behavior when it came to tainted values or keys when using said
functions.

This adds some special case for tainted numbers and unboxes them, so
that they behave the same. This requires to flag tainted numbers as not
bitwise comparable, which might have downstream effects (?)
Before the following code did not work correctly:
```javascript
let curr = Number.tainted(10);
curr === Number.tainted(10)
```

This fixed this case.
Fixed equality of tainted numbers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants