Ее главным образом вопрос безопасности:
Любое окно (в том числе, например, http://evil.example.com) может послать сообщение любому другому окну, и у вас нет никаких гарантий, что неизвестный отправитель не будет посылать вредоносные сообщения. Однако, подтвердив личность, вы все равно должны всегда проверять синтаксис полученного сообщения. В противном случае отверстие безопасности на сайте, которому вы доверяли отправлять только доверенные сообщения, могло затем открыть межсайтовый сценарий на вашем сайте.
Далее, если вы отправить с помощью PostMessage вы открываете себя, что данные перехватываются злонамеренным сайта:
Вредоносный сайт может изменить расположение окна без вашего ведома, и поэтому его могут перехватывать данные, отправленные с помощью postMessage.
Кроме того, параметр передачи, в то время как дополнительный, не является стандартным во всех браузерах:
otherWindow.postMessage(message, targetOrigin, [transfer]);
Link to MDN docs
вопросы безопасности, вы отмечаете возникают, когда вы не используете API должным образом - сбой или игнорирование проверки отправителя, или не указание цели экземпляра. При правильном использовании это безопасно, как указано в статье. –
Согласен 100% - ключевое слово 'if' – JordanHendrix