$NEWT

Я всё думаю о том, как внешние данные могут выглядеть невинно, пока не начнут слишком много решать.

Приходит поток. Число, оценка, флаг, сигнал. Кажется, что это мелочь. Но если этот ввод меняет, разрешена транзакция или заблокирована, то это уже не мелочь. У него есть сила — даже если никто не говорит об этом в таком ключе.

Поэтому мне кажутся интересными поставщики данных Newton WASM. Не потому, что внешние потоки внезапно становятся идеальными. Они не становятся. Поток может запаздывать, быть грязным, предвзятым, сломанным или просто сформированным неправильно. Но лучшее решение — не притворяться, что внешние данные являются чистой истиной. Лучшее решение — держать их внутри контролируемой комнаты, прежде чем они коснутся разрешений.

Мне очень нравится такая формулировка.

Для меня число @NewtonProtocol лучше согласуется с тем, что внешние данные — это вход, а не авторитет. Поток может говорить, но не должен править. Он может принести контекст, но не должен ходить по всей системе с ключами в руках.

Звучит просто, возможно, даже слишком просто, но это важно. Потому что в тот момент, когда система слепо доверяет потоку, она незаметно переносит доверие с кошелька на источник данных. И тогда мы снова оказываемся у очередного мягкого уязвимого места — просто прикрытого техническими словами.

Поставщик данных WASM в песочнице ощущается как граница. Он говорит: принеси сюда данные, сформируй здесь, ограничь здесь — а затем пусть политика решит, что это значит. Я не думаю, что это полностью убирает риск. Ничто не убирает. Но это делает риск более заметным и, возможно, более удобным для того, чтобы обвинить его, если что-то пойдёт не так.

Вот что я уважаю в Newton. Он не обращается с внешней информацией как с магией.

Он впускает мир, но не позволяет ему захватить власть.
#Newt

Должны ли внешние потоки иметь строгие ограничения песочницы?
Yes, always
67%
Only sometimes
33%
Not needed
0%
3 проголосовали • Голосование закрыто