I noticed that multi-index (which is under eosio namespace) uses the following to prevent access to another contract's tables:
eosio_assert( _code == current_receiver(), "cannot create objects in table of another contract" );
But current_receiver is a global method defined in action.hpp.
So I wonder (because I don't have access to MacBook or Linux) would it be possible to create a smart contract that defines a function current_receiver() under eosio namespace and circumvent this security check to access another contract's tables?