8th Sep, 2008

O motivo pelo qual você não deve usar o yaourt

Eu nunca entendi porque diziam que o yaourt era inseguro. Afinal, sempre que eu pedia para instalar um pacote, ele pedia para eu editar o PKGBUILD e revisá-lo antes de instalar.

Isso significa que ele jamais rodaria código malicioso sem minha intervenção? Absolutamente não.

Hoje resolvi ler o código do yaourt para ver como ele extraía as informações do PKGBUILD, e tive uma surpresa:
 
 

 
readPKGBUILD(){
	unset pkgname pkgver pkgrel arch pkgdesc provides url source install md5sums \
	depends makedepends conflicts replaces _svntrunk _svnmod _cvsroot _cvsmod _hgroot \
	_hgrepo	_gitroot _gitname _darcstrunk _darcsmod _bzrtrunk _bzrmod
	source ./PKGBUILD &> /dev/null
}

O yaourt é todo escrito em shell script, e para ler o PKGBUILD, ele simplesmente executa o mesmo, como você pode ver acima.

Sempre que você manda instalar um pacote, por exemplo, ele chama essa função para ler o PKGBUILD logo após baixá-lo:

msg "Downloading $PKG PKGBUILD from AUR..."
wget -q "http://aur.archlinux.org/packages/$PKG/$PKG.tar.gz" || { error "$PKG not found in AUR."; return 1; }
tar xfvz "$PKG.tar.gz" > /dev/null || return 1
cd "$PKG/"
readPKGBUILD

Só bem mais para baixo no código é que ele oferece para editar o PKGBUILD:

prompt "Edit the PKGBUILD (recommended) ? [Y/n] (\"A\" to abort)"

O engraçado é que logo depois de rodar o readPKGBUILD, ele verifica se o pacote realmente consta na página do AUR, para verificar se o pacote foi recém-removido, e ainda alerta que a remoção provavelmente seja por razões de segurança:

warning "It seems like ${PKG} was removed from AUR probably for security reason. Please Abort"

Irônico. Muito irônico. A essa hora o pacote já pode ter executado um rm -rf ~/*, removendo todo o diretório home do usuário.

Lembre-se: Qualquer informação que for consultada de um pacote do AUR pelo yaourt fará com que o mesmo seja executado, até mesmo um yaourt -Si pacote.

Por isso eu insisto, remova imediatamente o yaourt de sua máquina se você possuí-lo, pois ele representa um risco em potencial.

Responses

O.o muito bom thotypous.. bem esplicado e realmente medonho, imagine uma empresa rodando yaourt e executa uma conexão reversa que aparentemente o pacote era “confiavel”.

Uma opção é rodar com o seu usário, o estrago seria menor (mas seria um estrago).

Fora o Yaourt, qual você recomenda para fazer pesquisas no AUR (e possivelmente instalar alguns pacotes)?

Muitos ficam reclamando que sou chato e que sou louco, desconfio de software de terceiros principalmente quando não conheço a procedência do mesmo.

Valeu por alertar-nos!

Cara.. depois dessa, yaourt fora!

Pior que essa mesma curiosidade me passou pela cabeça, mais nunca sobrou um tempo prá verificar isto.

Parabéns e obrigado por nos alertar!

Realmente, depois dessa não dá pra ter o yaourt mais.
Usava-o apenas para verificar atualizações de pacotes vindos do AUR. Agora vai ter que ser manual (ou existe alguma outra opção?).

Ouvi falar de um tal de aurbuild, mas ainda não testei…

Removido com sucesso !!

Fale Paulo =)

Só hoje li seu post. Fiquei curioso com relacão a falha de segurança e percebi que ambos, yaourt e aurbuild, tem problemas de segurança e me pedem conta de su e escondem a origem do source de mim.

A única forma segura é baixar os recipes de build do site do AUR, e buildar sozinho, e mesmo assim tenho minhas dúvidas ehehehe

Eu só confio nos pacotes assinados por TUs, do contrário ou eu leio com calma os recipes do AUR antes de dá makepkg e instalar o que compilei na mão, ou eu baixo e compilo do jeito tradicional mesmo ;-)

Para minha sorte, 95% do que eu preciso acho nos pacotes oficiais.

[ ]s
Carlos.

This has been fixed by now.

interessante.
Aliás como comecei a usar o yaourt há pouco resolvi fazer um teste com ele.
Antes da linha da execução do PKGBUILD coloquei um
cat ./PKGBUILD | less
para ter certeza de quando o arquivo seria executado.
Bem. a minha linha de teste é executada depois dele me perguntar se eu desejo editar o arquivo, portanto vejo um risco de segurança só na função -Si não na função -S.

Então, parece que eles corrigiram isso, pelo menos segundo o que o heftig disse. Mas eu pessoalmente não testei mais o yaourt.

Tinha um cara desenvolvendo uma alternativa ao yaourt (paktahn) que disse que ele tinha parado de ser mantido, então parece que ele não é uma boa opção.

Excelente Artigo sobre o Yaourt.

[]‘s

Leave a response

Your response:

Categories