星球日報訊據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊的分析如下: 1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,並在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬於是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。 2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨後又通過update函數對可信根設置為正常非0數據。 Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻並未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。 3. 因此攻擊者可以直接構造任意消息,由於未經過prove因此此消息映射返回的根是0,而項目方由於在初始化時將0設置為可信根且其並未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。綜上,本次攻擊是由於Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時並未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。