Thiago,
Não está entrando no for da function sorteiaNumeros porque o teste do for é posicao < segredos.length
A variável posicao no primeiro teste do for é 0 (zero) e o length do array segredos também é 0 (zero), portanto, zero não é menor que zero e não entra no for.
Na lógica que você construiu, o while já faz o papel de criar a quantidade de segredos que você deseja - no caso 3 - o for fica desnecessário, é só remover que funciona.
O código ficaria assim:
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
numero++;
console.log(segredos.length);
//for(var posicao = 0; posicao < segredos.length; posicao++) {
console.log(segredos.length);
segredos.push(numeroAleatorio);
//}
}
return segredos;
}
O restante do código está legal e funciona muito bem! Parabéns!