I think after having it integrated for a whlie (see #20487) it’s time to reflect on the status of the experimental syscall sandbox.
It was worth a try, but personally I have come to the conclusion that it’s unmaintainable, I don’t think this is something we can ever enable by default for end users.
In practice it’s haphazard whack-a-mole any time a syscall comes up and a crash happens. There’s no structure or plan to it, nor an end in sight. See e.g #24659 #24369 #24340 #23555 #23299 #23255 #23208 #23179.
The whole idea of a syscall sandbox is fundamentally a layer violation. It’s untenable when dynamic linking is involved, or dependencies we don’t know A to Z, with evolving user-kernel space APIs. See also discussion here: #24758 (comment)
I’m also not sure it addresses relevant risks in our case. The P2P thread communicates with the outside world and the scope of an exploit to gain full RCE can ostensibly be restricted by sandboxing it. However there are bigger risks within the bitcoind/-qt process itself: messing with consensus code, stealing wallet keys. A thread-based sandbox provides only minimal protection here.
It’s also single platform (Linux x86_64), and all the work would basically be duplicated for each platform added as the syscalls differ subtly.