@oneversec/eversec-rage
v0.4.23
Published
RAGE CLI — cliente FINO da plataforma ONEVERSEC (TUI estilo Claude Code; a caça roda no cluster, não local)
Maintainers
Readme
@oneversec/eversec-rage — RAGE CLI (ONEVERSEC)
Cliente fino da plataforma ONEVERSEC, com TUI estilo Claude Code (Ink). A caça roda no cluster (scope-authz + firewall determinístico intactos) — o CLI nunca roda engine local. Ele dispara e acompanha via a API REST, com um token headless.
Stack: Node + Ink + TypeScript (o mesmo esquema de Claude Code / Codex / Grok). Referência visual: theswerd/brainless.
Instalar
# global (precisa de Node ≥18 na máquina)
npm install -g @oneversec/eversec-rage
eversec-rage
# do repo, sem publicar (Node ≥18, o dist já vem buildado)
npm install -g /home/pablodlz/oneversec/packages/cli/rageSem Node na máquina? Use o binário standalone (runtime embutido, nada a instalar):
# na NOSSA máquina de build (tem bun):
cd packages/cli/rage && bun run compile # gera dist/eversec-rage
# entregue o binário; o cliente só faz: chmod +x eversec-rage && ./eversec-rageUsar — TUI (default)
Rode eversec-rage sem argumentos. Se não houver token salvo, ele pede ali dentro (colado, mascarado).
Comandos com / (com autocomplete: digite / e use Tab):
╭─────────────────────────────────────────────────────────────╮
│ eversec-rage · caça pelo terminal │
│ https://oneversec.com │
│ a caça roda no cluster · scope-authz + firewall determ. ON │
╰─────────────────────────────────────────────────────────────╯
──────────────────────────────────────────────────────────────
❯ /bounty 5f3a9c21
──────────────────────────────────────────────────────────────
⏵⏵ / para comandos · tab completa · ctrl+c sai/targets— alvos autorizados/bounty <scope_id> [--raso]— dispara a caça e acompanha ao vivo (spinner de "thinking")/watch <job_id>·/status <job_id>·/findings [sev]·/login·/help·/quitctrl+cdurante uma caça = para de acompanhar (não mata a caça no cluster); fora dela = sai.
Abrir a TUI já conectada a um terminal (job) rodando, sem digitar /watch:
eversec-rage --terminal <job_id>(É o mesmo job_id que o console mostra na sessão; o botão "abrir no CLI" do console copia esse comando pronto.)
Gerar o token (1×, no navegador): console → Settings → Perfil → CLI / Tokens de API → Gerar token do CLI
(cru aparece uma vez). Salvo em ~/.config/rage/config.json (chmod 600).
Usar — one-shot (scripts/CI)
eversec-rage login --token ovg_xxxx
eversec-rage targets
eversec-rage hunt <scope_id> --watch
eversec-rage watch <job_id>
eversec-rage status <job_id>
eversec-rage findings --sev criticalEnv em vez de arquivo: RAGE_TOKEN=ovg_…, RAGE_API=https://oneversec.com (default já é esse).
Dev
bun install
bun run dev # roda a TUI do fonte
bun run typecheck # tsc --noEmit
bun test # contrato REST (stub de fetch)
bun run build # dist/cli.js (bundle node, o que o npm publica)Notas
- A caça não é local:
/bountycria um job e o inicia no cluster (pod isolado gVisor + NetworkPolicy); o CLI acompanha por poll deGET /jobs/{id}/events./report <id>gera o rascunho do corpo (não submete — submeter segue human-gated no console, SPEC-016). Veja/helppara a lista completa de comandos. - Modo Profundo é o default: a caça não termina sozinha;
--rasoé o sweep finito. dist/é commitado de propósito (o cliente instala comnpm i -gusando só Node, sem bun).
