Skip to content
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

Adding Wasm sources and sinks #4

Open
wants to merge 27 commits into
base: primitaint-merge
Choose a base branch
from

Conversation

0drai
Copy link

@0drai 0drai commented Aug 2, 2024

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:

Sorry, something went wrong.

@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.

None yet

3 participants