Are the classes aware of their namespace?
In which case, your security might be broken
AnyPublicClass namespace class allInstances detect: [:e | e name =
#Smalltalk].
Anyway, no need for namespace at all, just a:
(AnyPublicClass withAllSuperclasses last allSubclasses detect: [:e | e
name = #SystemDictionary]) allInstances etc...
Sorry, you might have to restrict available messages too...