wow, that's a really interesting question...
is it possible?
yes it is!
did somebody did it?
sadly I doubt so. (and your google fu should be enough)
how can you do it?
at first look only for a specific PIC chip, almost every pic is programmed with slight differences so it's hard to start to aim a general PIC programmer
then look for that specific PIC the Programming Specifications pdf (like
this one for a simple pic16f877a
ah! also take a look at the
ICSP guide but the Prog.spec doc is more important...
with this you need to:
probably make a level translator (bidirectional for RB7) if your PIC is 5V and your ST link is 3.3v
make a switchable Vpp controller (so you can change the RST/VPP pin from 0v to 5v to 13v [or the specific voltages for your pic]
bitbang on RB7 and RB6 the commands to identify, initiate and the basic erase write verify(read)
all of this with some custom software on the PC side...
it's a lot of pain, but you can do it with enough time...
in other words, doable, but probably not already done...