Protocolo Zero

Formação Agente de Elite (n8n & AI)


Project maintained by rushco7 Hosted on GitHub Pages — Theme by mattgraham

⚔️ Missão 01: Treinamento de Combate JS

Operador: Recruta Nível 1 Objetivo: Dominar a manipulação de dados para interceptar e filtrar informações. Ferramentas: JavaScript (ES6+)


📜 Briefing

No campo de batalha do n8n, os dados chegam bagunçados e muitas vezes perigosos. Sua arma principal não é uma arma de fogo, é o JavaScript. Você precisa aprender a filtrar (Filter), transformar (Map) e encontrar (Find) alvos específicos em grandes massas de dados JSON.


🏋️‍♂️ Desafios de Código

Copie o código base e resolva o desafio. Teste seus scripts no console do navegador (F12) ou em sites como PlayCode.

🎯 Desafio 1: O Filtro de Acesso (Filter)

Cenário: Você interceptou uma lista de usuários tentando acessar o mainframe. Apenas quem tem status “admin” pode passar. O resto são intrusos. Sua Missão: Use o método .filter() para criar uma nova lista contendo APENAS os admins.

// 📦 Payload interceptado
const usuarios = [
  { id: 1, codinome: "Neo", role: "admin" },
  { id: 2, codinome: "Smith", role: "virus" },
  { id: 3, codinome: "Morpheus", role: "admin" },
  { id: 4, codinome: "Cypher", role: "traitor" }
];

// 💻 Sua solução aqui:
// const admins = usuarios.filter(...)

// console.log(admins);

🎯 Desafio 2: A Decodificação (Map)

Cenário: O sistema de segurança retorna dados brutos. Precisamos formatar isso para um relatório limpo. Sua Missão: Use o método .map() para criar uma lista de strings que diga apenas: “[CODINOME] é detectado como [ROLE]”.

/* 
Resultado esperado: 
[
  "Neo é detectado como admin", 
  "Smith é detectado como virus", 
  ...
] 
*/

// 💻 Sua solução aqui:
// const relatorio = usuarios.map(...)

🎯 Desafio 3: Encontrando o Alvo (Find)

Cenário: Temos um alerta de intrusão vindo do ID 4. Precisamos isolar esse sujeito imediatamente. Sua Missão: Use .find() para capturar o objeto do usuário com id igual a 4.

// 💻 Sua solução aqui:
// const alvo = usuarios.find(...)

🎯 Desafio 4: A Limpeza Final (Reduce - BÔNUS EXPERT)

Cenário: Precisamos contar quantas ameaças (não-admins) temos no total. Sua Missão: Use .reduce() ou .filter().length para contar quantos usuários NÃO são admins.

// 💻 Sua solução aqui:

🛡️ Dica do Instrutor (CyberSec)

“Nunca confie no input do usuário.” No n8n, quando você usa o node Code, você está manipulando a realidade dos dados. Se você assumir que um campo sempre existe e ele não vier, seu workflow quebra (Crash). Sempre valide: if (usuario && usuario.role) { ... }


✅ Checklist de Conclusão

Fim da transmissão.