If your custom attribute extends HandlerAttribute then users of the custom attribute will have to reference Unity.
If you go with a VirtualMethodInterceptor (instead of the TransparentProxyInterceptor I think you are using) you will be able to retrieve the attributes but that forces all methods to be marked as virtual (if you want to intercept them).
There is another way which I think should work but it gets messy because you will have to look up the method that is being invoked using reflection. First here's the code:
Type types = new Type[input.Arguments.Count];
for (int i = 0; i < input.Inputs.Count; i++)
types[i] = input.Inputs.GetParameterInfo(i).ParameterType;
// This is not nearly complete!
var method = input.Target.GetType()
var attribute = method
Assuming the handler knows the attribute (in this case MyTransactionAttribute) that it wants to find.
One thing missing in this example is that it does not have any error checking. But the bigger potential issue is that the method is being looked up only by name and types. To make this more formally correct you would need to implement overload resolution logic
which can get complicated when dealing with inheritance, generics, params, optional parameters, etc.
Enterprise Library support engineer