For immutable buffers (i.e. most of them), the mutable_data_ member is uninitialized. If the user calls mutable_data() by mistake on such a buffer, they will get a bogus pointer back.
This is exacerbated by the Tensor API whose const and non-const raw_data() methods return different things...
(also an idea: add a DCHECK for mutability before returning from mutable_data()?)