What kind of node connects to your full node and doesn't share blocks with you? When running getpeerinfo I can see that a number of connected nodes return a synced_blocks of -1.

Some of these have been connected for days, so: 


Is it correct to assume that these nodes are never attempting to propagate blocks around the network?
If so, what's their purpose if they're not propagating block data around the network?


You can see what I mean here: http://learnmeabitcoin.com/explorer/node/
It could be a blockchain analysis node of some sort (eg. Chainalysis or similar), or it could be a pseudonode.