Наляпал убогую тулзу для DoS-атаки на кисервер, по совместительству - рекурсивный фетчер ключей по подписям. Для анализа закрытых коммьюнити типа жуйковской pgp-тусовочки и рисования красивых графов в графвизе и фаллометрии. Вот результат работы на условно-бесконечной глубине 20 относительно меня, по мнению кривой тулзы sig2dot (нет, я не знаю, почему sig2dot'у не понравились подписи у пачки няш; мне пришлось скормить ему -u foobar, чтобы увиделись подписи у mva и ко, но подписей, соединяющих два кластера, я не увидел даже с -r foobar; может, они подсосались каким-то иным путём, но так или иначе они имеют отношение к жуйкокоммьюнити): http://dump.bitcheese.net/files/otajixo/sigs.png
#!/bin/sh
# Usage: $0 root-keyid depth
exec >/dev/null
ikf=/tmp/inaccessible-keys
ckf=/tmp/checked-keys
depth=$2
echo Current depth: $depth >&2
keys="`gpg --list-sigs "$1" | sed -ne 's#^sig..........\([^ ]*\) .*#\1#p' | sort | uniq`"
unk_keys="`for k in $keys; do
gpg --list-keys $k >/dev/null || echo $k
done | sort | uniq | sort - "$ikf" "$ikf" | uniq -u`"
echo $unk_keys
gpg --recv-keys $unk_keys | sed -ne 's#^gpgkeys: key \([^ ]*\) not found on keyserver#\1#p' | cat - "$ikf" >> "$ikf"-new
mv "$ikf"-new "$ikf"
[[ $depth -le 0 ]] || for k in $keys; do
grep -q $k "$ckf" || {
$0 $k $((depth - 1));
echo $k >> "$ckf";
}
done