Editado: A lista está concluída. Veja aqui. Entretanto, você ainda pode contribuir com quaisquer correções. Basta enviá-las por e-mail.
O problema
Talvez alguns tenham percebido que o Arch Linux, por enquanto, ainda não tem uma equipe dedicada especialmente à segurança. Portanto, muitas vezes alguns pacotes ficam vulneráveis e as vulnerabilidades demoram a ser descobertas por seus mantenedores.
Apesar de o Arch Linux utilizar sempre a última versão dos pacotes, isso não basta. Muitas vezes o desenvolvedor demora para lançar uma nova versão com a correção. As distros, então, precisam aplicar patches em seus pacotes para corrigir as vulnerabilidades enquanto novas versões não são lançadas. Um exemplo é o atual pacote do Python, que se encontra vulnerável, e uma nova versão do mesmo não foi lançada.
A idéia
Para automatizar os esforços de segurança do Arch Linux, para que tenhamos segurança sem a necessidade de criar uma equipe para isso, tive a seguinte idéia:
O projeto NetBSD já possui uma lista muito bem organizada de pacotes vulneráveis, disponível em http://ftp.netbsd.org/pub/NetBSD/packages/vulns/pkg-vulnerabilities. Tudo o que temos a fazer é criar um banco de dados que relacione o nome dos pacotes do pacman com o nome dos pacotes do pkgsrc (sistema de pacotes do NetBSD). Dessa forma poderemos nos beneficiar do mesmo banco de vulnerabilidades.
Tendo as correspondências de nome entre os pacotes, podemos enviar emails automatizados para os mantenedores de pacotes possivelmente vulneráveis, e até mesmo para as mailing lists do Arch. Dessa forma, vulnerabilidades serão corrigidas mais rapidamente.
Como contribuir
Precisamos de ajuda para montar o banco de dados relacionando os nomes dos pacotes do pkgsrc com os nomes dos pacotes do pacman e do AUR.
1) Baixe a ferramenta pkgsrc2pacman em http://basalto.ifsc.usp.br/~paulo_matias/misc/pkgsrc2pacman.tar.gz
2) Descompacte em algum lugar
tar -zxvf pkgsrc2pacman.tar.gz
3) Entre no diretório:
cd pkgsrc2pacma
4) Comece a usá-la:
./pkgsrc2pacman.py
Como usar a ferramenta
A ferramenta vai lhe mostrar nomes de pacotes aleatórios do pkgsrc. Junto com eles, aparece um link com detalhes sobre o pacote. A ferramenta também obtém, da Internet, o link da homepage oficial do pacote, conforme esteja especificado no pkgsrc.
Um exemplo de saída exibida pela ferramenta é a seguinte:
Nome do pacote no pkgsrc: x11/gtksourceview Detalhes do pacote: http://pkgsrc.se/x11/gtksourceview Homepage do pacote: http://gtksourceview.sourceforge.net/ Qual o nome desse pacote no pacman?
Recomendo que você comece por procurar o pacote usando o yaourt, que vai procurar tanto nos repositórios oficiais como no AUR. No exemplo acima, eu procuraria:
$ yaourt -Ss --aur gtksourceview
extra/gtksourceview 1.8.5-2 [installed]
A text widget adding syntax highlighting and more to GNOME
extra/gtksourceview-sharp-2.0 0.10-5
a C# binding to gtksourceview
extra/gtksourceview2 2.2.2-1
A text widget adding syntax highlighting and more to GNOME
extra/pygtksourceview2 2.2.0-1
Python bindings for gtksourceview2
community/libgtksourceviewmm 0.3.1-1
A C++ API for gtksourceview
community/libgtksourceviewmm2 1.9.5-1
A C++ API for gtksourceview2
community/ruby-gtksourceview 0.16.0-1
Ruby gtksourceview bindings
aur/gtksourcecompletion 0.4.1-1
Source code completion for the GtkSourceView library.
aur/gtksourceview2-docs 2.2.1-1
Documentation for gtksourceview2 to be used in devhelp
aur/pygtksourceview 1.1.0-1
Python bindings for the GtkSourceView widget
Agora temos o gtksourceview e o gtksourceview2. Qual deles é o procurado? Para saber, entramos na URL de detalhes do pacote, mostrada pela ferramenta (no exemplo, http://pkgsrc.se/x11/gtksourceview).
Entrando lá, vemos a versão do pacote - no caso, 1.8.5. Isso significa que devemos informar gtksourceview, cuja versão é mais próxima da versão procurada.
IMPORTANTE: A versão NÃO precisa bater (a menos que seja inclusa no próprio nome do pacote). Nesse caso só olhamos a versão para saber qual dos dois pacotes era o mais próximo.
IMPORTANTE: Informe apenas o nome do pacote. NÃO informe a versão.
Outras dicas
Uma forma interessante de ter certeza se o pacote é realmente o mesmo é verificar a sua homepage. A ferramenta exibe a Homepage do pacote sempre que essa informação estiver disponível. Por exemplo:
Pacote número 4 Nome do pacote no pkgsrc: archivers/bsdtar Detalhes do pacote: http://pkgsrc.se/archivers/bsdtar Homepage do pacote: http://people.freebsd.org/~kientzle/libarchive/ Qual o nome desse pacote no pacman?
Se verificarmos pelo comando, "pacman -Si pacote", vemos que a homepage bate com a especificada no Arch:
$ pacman -Si libarchive Repository : core Name : libarchive Version : 2.5.5-1 URL : http://people.freebsd.org/~kientzle/libarchive/
Note que esse comando pode ser usado mesmo que você não tenha o pacote instalado.
Outra dica é que você pode parar de rodar a ferramenta a qualquer instante apertando Ctrl-C ou Ctrl-D, ou mesmo fechando a janela do terminal. Da próxima vez que você executá-la, ela vai oferecer para continuar de onde parou (ela vai guardar o número do último pacote preenchido por você).
IMPORTANTE
Note que nem todos os pacotes vão ter correspondente no Arch. Alguns pacotes são específicos do sistema operacional NetBSD, e nem ao menos poderiam rodar em um sistema Linux. Nesses casos, simplesmente aperte ENTER sem digitar nome nenhum.
Deixe em branco, também, se houver algum pacote a respeito do qual você não tenha certeza.
Se você tiver qualquer dúvida sobre o uso da ferramenta, você pode responder ao tópico do fórum que eu tiro a dúvida.
Enviando os seus resultados
Compacte o arquivo do banco de dados antes de enviá-lo, de preferência usando o 7z, disponível no pacote p7zip do Arch. Utilize o seguinte comando para compactar:
7z a packages.db.7z packages.db
Envie esse arquivo para mim através do e-mail "matias arroba archlinux-br ponto org".
Você pode mandar esse arquivo para mim mesmo que não tenha terminado de rodar completamente o programa. Pode mandar mesmo que não tenha preenchido todos os pacotes. Afinal, são mais de 7 mil pacotes. É por isso que os pacotes são mostrados de forma aleatória - assim podemos juntar os resultados de várias pessoas.
Agradecemos a sua colaboração!
Maiores detalhes