n.360BLOCK
n.iso — plataforma de adequação ISO 27001/27701 da ness.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://github.com/resper1965/n.360/actions/workflows/ci.yml) [](https://github.com/resper1965/n.360/actions/workflows/deploy.yml) [](https://github.com/resper1965/n.360/actions/workflows/codeql.yml)
O n.360 é a plataforma de governança, risco e conformidade da ness. Ela tem dois módulos que trabalham sobre um cadastro só (partes, itens, documentos, RoPA, DPIA, evidências):
Endereço: *** (`APP_URL` em `wrangler.jsonc`). Os domínios antigos `niso.ness.com.br` e `nprivacy.ness.com.br` respondem 308 para `/iso` e `/privacy`. Integrações já configuradas continuam respondendo no lugar, sem redirecionar: `/api/, /scim/`, `/mcp`, `/oauth/, /.well-known/`, `/health`, `/politicas, /auditor` e `/proposta (fica em src/config/url.ts). O callback de SSO e o recurso OAuth do MCP ficam presos em niso`.
Nomes
No texto e na marca, n.360, n.iso e n.privacy; n360 só no endereço. O repositório se chama resper1965/n.360 (renomeado em 2026-10-13; o endereço antigo resper1965/n.iso redireciona). niso sobrou como identificador técnico mantido de propósito, e nunca aparece como nome de produto: o Worker niso, o D1 niso-db, o pacote mcp-server-niso, o cabeçalho X-nISO-Signature e as variáveis NISO_*. Trocar esses nomes quebraria deploy, banco, integrações e assinaturas de webhook já emitidas.
Quem usa o quê
Papéis
Papéis de conta (PAPEIS_DE_CONTA em src/schemas/users.ts):
f1a5fa5b4be4OBSERVED · 2026-10-14Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add niso --env BRAINSTORM_TOKEN=${BRAINSTORM_TOKEN} --env BRAINSTORM_TOKEN_FILE=${BRAINSTORM_TOKEN_FILE} --env CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN} --env NISO_API_KEY=${NISO_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"niso": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"BRAINSTORM_TOKEN": "${BRAINSTORM_TOKEN}",
"BRAINSTORM_TOKEN_FILE": "${BRAINSTORM_TOKEN_FILE}",
"CLOUDFLARE_API_TOKEN": "${CLOUDFLARE_API_TOKEN}",
"NISO_API_KEY": "${NISO_API_KEY}"
}
}
}
}Exposed tools (40)
29 read · 11 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
Bearer | read | Token por tenant, emitido pela ness. |
niso_audit_pack | read | Download the audit readiness pack (consolidated JSON: project, phases, controls, evidence, audit trail) |
niso_coherence_check | read | Cross-reference check between the project |
niso_contexto | read | Comece por aqui. Diz o cliente desta conexão, o projectId a usar, o que você pode e não pode fazer, e os roteiros de trabalho. |
niso_create_asset | write | Create a new asset entry in the project |
niso_create_audit_finding | write | Create a new audit finding. If non-conforming, it automatically creates a linked Corrective Action (CAPA). ${WRITE_GUARDRAIL} |
niso_create_auditor_note | write | Submit a question or clarification request for a control using an auditor token. ${WRITE_GUARDRAIL} |
niso_create_evidence | write | Register a TEXTUAL evidence document (policy, procedure, meeting minutes, log excerpt, configuration dump) in a project |
niso_create_risk | write | Create a new risk entry in a project |
niso_evaluate_evidence | read | AI pre-qualification of an evidence record (CONFORME/PARCIAL/NAO CONFORME draft — not an audit verdict). Requires the extracted text of the evidence document. ${WRITE_GUARDRAIL} |
niso_executar | write | Grava no projeto desta conexão, como o consultor faria na interface: POST, PUT, PATCH ou DELETE em /api/v1/... Apagar e gerar em lote exigem confirmado_pelo_usuario: true — antes, mostre ao usuário o que será feito (nome e id) e espere o |
niso_gap_analysis | write | Run the project |
niso_generate_policies_bulk | write | Generate multiple policy documents sequentially via AI. NEVER run autonomously — bulk generation ALWAYS requires explicit human approval in the active contract. ${WRITE_GUARDRAIL} |
niso_generate_policy | read | Generate a policy document for a control via the n.iso PolicyAgent (AI draft). The server saves it as a DRAFT of the control |
niso_get_project | read | Get detailed information about a specific project, including phases and progress |
niso_import_training | write | Import employee training records in bulk from an external source. ${WRITE_GUARDRAIL} |
niso_ler | read | Lê qualquer área do projeto desta conexão, como o consultor vê na interface. caminho começa com /api/v1/ — o mapa das áreas está em niso_contexto. Arquivo binário (PDF, planilha, imagem) volta só como metadados. |
niso_list_controls | read | List all compliance controls for a specific project |
niso_list_evidence | read | List all evidence records for a project |
niso_list_projects | read | List all active GRC projects in the n.iso portfolio |
niso_list_risks | read | List all risks in a project |
niso_migrate_27701 | read | Migrate the project |
niso_privacy_atualizar_tratamento | read | n.privacy: altera campos de um tratamento do RoPA (só os enviados; o resto fica). Não muda status nem aprovação. Tratamento aprovado: a edição substitui o pedido de aprovação aberto; avise o usuário antes. ${RASCUNHO_PRIVACY} |
niso_privacy_criar_dpia_do_tratamento | read | n.privacy: cria a DPIA (RIPD) do tratamento em Draft, pré-preenchida com o registro e as ligações. Se já existe, devolve o id dela. A análise, o parecer do encarregado e a aprovação são de pessoas, pela interface. ${RASCUNHO_PRIVACY} |
niso_privacy_encarregado | read | n.privacy: o painel do encarregado: pedidos do titular, incidentes, tratamentos sem base, DPIA ou LIA, terceiros, documentos, evidências, cobertura LGPD, prazos legais não cadastrados e o |
niso_privacy_incidentes | read | n.privacy: incidentes (protocolo, risco ao titular, status) com os prazos de comunicação em situacao_anpd e situacao_titular. Só leitura. |
niso_privacy_ligar_documento_requisito | read | n.privacy: liga um documento do projeto a requisitos do catálogo (LGPD, ANPD), para contar na cobertura. SOMA aos já ligados (desligar é pela interface). Só documento VIGENTE cobre o requisito; rascunho não conta. ${RASCUNHO_PRIVACY} |
niso_privacy_ligar_tratamento | read | n.privacy: liga ao tratamento itens (sistemas, bases, processos de /assets; bloco E), departamentos (/departamentos; bloco A) e a base legal do catálogo (bloco D). Itens e departamentos SOMAM aos já ligados (desligar é pela interface). ${RASCUNHO_PRIVACY} |
niso_privacy_rascunhar_lia | read | n.privacy: grava o RASCUNHO da LIA (teste de legítimo interesse) do tratamento: só os campos enviados mudam. Nunca conclui nem reabre: concluir é de uma pessoa, pela interface. LIA concluída é recusada. ${RASCUNHO_PRIVACY} |
niso_privacy_registrar_incidente | read | n.privacy: registra um incidente e, se informado, a avaliação de risco ao titular. O sistema gera o protocolo e os prazos de comunicação. O agente não encerra o incidente, não registra a comunicação enviada e não edita prazo: são atos de pessoas, pela interface. ${RASCUNHO_PRIVACY} |
niso_privacy_registrar_pedido_titular | read | n.privacy: registra um pedido do titular recebido. O sistema gera o protocolo e congela o prazo a partir de parametros_legais; o agente não define nem edita prazo, não responde e não encerra (a resposta é registrada por uma pessoa). ${RASCUNHO_PRIVACY} |
niso_privacy_requisitos_lacunas | read | n.privacy: cobertura dos requisitos da LGPD e da ANPD no projeto (resumo e cada requisito: coberto, parcial ou lacuna, com o documento, controle ou evidência que cobre). Sem fonte traz as duas. Só leitura. |
niso_privacy_ropa | read | n.privacy: lista os tratamentos do RoPA com status, base legal, riscos (sensível, menores, transferência), nao_informado (campo que a importação não trouxe) e as ligações resumidas de cada um (itens, departamentos, partes, transferências, DPIAs, LIA, terceiros com avaliação vencida). Só leitura. |
niso_privacy_ropa_detalhe | read | n.privacy: um tratamento do RoPA por inteiro: o registro, as ligações (base legal do catálogo, itens, departamentos, partes, transferências, DPIAs, dpia_pendente, aprovação) e a LIA. Só leitura. |
niso_privacy_titular_pedidos | read | n.privacy: pedidos do titular (protocolo, tipo, status, prazo_em e situacao_prazo). O prazo sai de parametros_legais; sem o parâmetro cadastrado o prazo é |
niso_respond_auditor_note | read | Provide a response to an auditor note or request. ${WRITE_GUARDRAIL} |
niso_skill | read | Traz o método de trabalho de uma skill do consultor (ex.: pré-avaliação de prontidão para certificação). Sem argumentos lista as skills; com nome traz o SKILL.md; com nome e arquivo traz uma referência ou script. Só leitura. |
niso_traceability | read | Get the project |
niso_update_policy | write | Propose the text of a control |
niso_update_risk | write | Update an existing risk (partial: only the fields you pass change; the rest is kept). Use niso_list_risks to get the riskId. Risk acceptance (accepted_by/accepted_at) is a management decision and cannot be set here. ${WRITE_GUARDRAIL} |
Trust audit
BLOCKgrade F · trust 29/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | WARN |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (10 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null;
exec(cmd: string[], options?: ContainerExecOptions): Promise<ExecProcess>;
if (a === 169 && b === 254) return true; // link-local (inclui metadata 169.254.169.254)
.claude/skills/brainstorming
.claude/skills/code-review
.claude/skills/dispatching-parallel-agents
.claude/skills/executing-plans
.claude/skills/find-skills
baseURL: 'http://127.0.0.1:8787',
const t = texto.replace(/^/, '');
const TOKEN = 'tok_SEGREDO_abcdefghijklmnopqrstuvwxyz0123456789';
<p><a href="${e(base)}" style="background-color: #00ade8; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px; display: inline-block;">Abrir o n.iso</a></p>Dentro do `c.innerHTML`, troque o bloco `${history.length ? history.map(...).join('') : '<div ...>Faca uma pergunta...</div>'}` só pelo `<div style="text-align:center;color:var(--muted);padding:3rem 0badgeHtml = `<span style="font-size:0.72rem; padding:2px 6px; border-radius:4px; border:1px solid ${selo.cor}; color:${selo.cor}; margin-left:8px; font-weight:600; text-transform:uppercase; letter-spa`<code style="font-size:0.75rem;color:var(--text-dim)">${hashShort}</code>`,${podeRegistrarAchado ? `<button data-action="openAddFindingModal" data-args="${escapeHTML(JSON.stringify([ctrl.id, ctrl.standard]))}" class="btn" style="padding:4px 10px;font-size:0.75rem;border-colo.oxlintrc.json
ajustes-c2-c7.test.ts
const fn = new Function(
new Function("React", "module", "exports", "require", code)(await exec(schemaSql);
return crypto.createHash('sha1').update(clientKey + WS_MAGIC).digest('base64');const root = path.join(__dirname, '../../..');
const src = resolve(here, '../../src/templates/policies');
import { TOOLS, ferramentaPermitida, executarFerramenta, type Transporte, type Ferramenta } from '../../mcp-server-niso/src/ferramentas';Gates applied: no_behavioural_pass.
f1a5fa5b4be4full audit observations/trust-audit/mcp-server/resper1965__n.360.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | f1a5fa5b4be4 | BLOCK | F | 29 | first audit |
Questions
What is the n.360 MCP server?
n.iso — plataforma de adequação ISO 27001/27701 da ness.
What tools does n.360 expose?
40 in total: 29 read-only, 11 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is n.360 safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (29/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does n.360 need?
It reads BRAINSTORM_TOKEN, BRAINSTORM_TOKEN_FILE, CLOUDFLARE_API_TOKEN and NISO_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does n.360 run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as niso at 11.0.0.
How current is this page?
The grade is for one exact copy of the source (f1a5fa5b4be4), read on 2026-10-14. The repository is watched and re-audited when it changes.