tutanus 0.13.2 → 0.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysts/plugins/detector-markdown.js +2 -2
- package/dist/analysts/plugins/detector-markdown.js.map +1 -1
- package/dist/bin/cli-bootstrap.js +7 -7
- package/dist/bin/cli-bootstrap.js.map +1 -1
- package/dist/bin/index.js +7 -7
- package/dist/bin/index.js.map +1 -1
- package/dist/cli/commands/command-github-actions.d.ts.map +1 -1
- package/dist/cli/commands/command-github-actions.js +1 -3
- package/dist/cli/commands/command-github-actions.js.map +1 -1
- package/dist/cli/commands/command-guardian.js +1 -1
- package/dist/cli/commands/command-guardian.js.map +1 -1
- package/dist/cli/commands/command-marketplace.js +22 -22
- package/dist/cli/commands/command-marketplace.js.map +1 -1
- package/dist/cli/commands/command-prune.js +1 -1
- package/dist/cli/commands/command-prune.js.map +1 -1
- package/dist/cli/commands/command-reverter.js +6 -6
- package/dist/cli/commands/command-reverter.js.map +1 -1
- package/dist/core/messages/en/cli/cli-bin-messages.d.ts +7 -0
- package/dist/core/messages/en/cli/cli-bin-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-bin-messages.js +7 -0
- package/dist/core/messages/en/cli/cli-bin-messages.js.map +1 -1
- package/dist/core/messages/en/cli/cli-command-github-actions-messages.d.ts +1 -0
- package/dist/core/messages/en/cli/cli-command-github-actions-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-command-github-actions-messages.js +1 -0
- package/dist/core/messages/en/cli/cli-command-github-actions-messages.js.map +1 -1
- package/dist/core/messages/en/cli/cli-command-guardian-messages.d.ts +2 -1
- package/dist/core/messages/en/cli/cli-command-guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-command-guardian-messages.js +2 -1
- package/dist/core/messages/en/cli/cli-command-guardian-messages.js.map +1 -1
- package/dist/core/messages/en/cli/cli-command-marketplace-messages.d.ts +19 -0
- package/dist/core/messages/en/cli/cli-command-marketplace-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-command-marketplace-messages.js +19 -0
- package/dist/core/messages/en/cli/cli-command-marketplace-messages.js.map +1 -1
- package/dist/core/messages/en/cli/cli-command-prune-messages.d.ts +1 -0
- package/dist/core/messages/en/cli/cli-command-prune-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-command-prune-messages.js +1 -0
- package/dist/core/messages/en/cli/cli-command-prune-messages.js.map +1 -1
- package/dist/core/messages/en/cli/cli-command-reverter-messages.d.ts +6 -0
- package/dist/core/messages/en/cli/cli-command-reverter-messages.d.ts.map +1 -1
- package/dist/core/messages/en/cli/cli-command-reverter-messages.js +6 -0
- package/dist/core/messages/en/cli/cli-command-reverter-messages.js.map +1 -1
- package/dist/core/messages/en/guardian/guardian-messages.d.ts +3 -0
- package/dist/core/messages/en/guardian/guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/en/guardian/guardian-messages.js +3 -0
- package/dist/core/messages/en/guardian/guardian-messages.js.map +1 -1
- package/dist/core/messages/en/guardian/watcher-hidden-messages.d.ts +1 -0
- package/dist/core/messages/en/guardian/watcher-hidden-messages.d.ts.map +1 -1
- package/dist/core/messages/en/guardian/watcher-hidden-messages.js +1 -0
- package/dist/core/messages/en/guardian/watcher-hidden-messages.js.map +1 -1
- package/dist/core/messages/en/licenses/licenses-messages.d.ts +1 -0
- package/dist/core/messages/en/licenses/licenses-messages.d.ts.map +1 -1
- package/dist/core/messages/en/licenses/licenses-messages.js +1 -0
- package/dist/core/messages/en/licenses/licenses-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-bin-messages.d.ts +7 -0
- package/dist/core/messages/ja/cli/cli-bin-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-bin-messages.js +7 -0
- package/dist/core/messages/ja/cli/cli-bin-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-github-actions-messages.d.ts +1 -0
- package/dist/core/messages/ja/cli/cli-command-github-actions-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js +1 -0
- package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-guardian-messages.d.ts +1 -0
- package/dist/core/messages/ja/cli/cli-command-guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-guardian-messages.js +2 -1
- package/dist/core/messages/ja/cli/cli-command-guardian-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-marketplace-messages.d.ts +19 -0
- package/dist/core/messages/ja/cli/cli-command-marketplace-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-marketplace-messages.js +19 -0
- package/dist/core/messages/ja/cli/cli-command-marketplace-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-prune-messages.d.ts +1 -0
- package/dist/core/messages/ja/cli/cli-command-prune-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-prune-messages.js +1 -0
- package/dist/core/messages/ja/cli/cli-command-prune-messages.js.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-reverter-messages.d.ts +6 -0
- package/dist/core/messages/ja/cli/cli-command-reverter-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/cli/cli-command-reverter-messages.js +6 -0
- package/dist/core/messages/ja/cli/cli-command-reverter-messages.js.map +1 -1
- package/dist/core/messages/ja/guardian/guardian-messages.d.ts +3 -0
- package/dist/core/messages/ja/guardian/guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/guardian/guardian-messages.js +3 -0
- package/dist/core/messages/ja/guardian/guardian-messages.js.map +1 -1
- package/dist/core/messages/ja/guardian/watcher-hidden-messages.d.ts +1 -0
- package/dist/core/messages/ja/guardian/watcher-hidden-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/guardian/watcher-hidden-messages.js +1 -0
- package/dist/core/messages/ja/guardian/watcher-hidden-messages.js.map +1 -1
- package/dist/core/messages/ja/licenses/licenses-messages.d.ts +1 -0
- package/dist/core/messages/ja/licenses/licenses-messages.d.ts.map +1 -1
- package/dist/core/messages/ja/licenses/licenses-messages.js +1 -0
- package/dist/core/messages/ja/licenses/licenses-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-bin-messages.d.ts +7 -0
- package/dist/core/messages/pt/cli/cli-bin-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-bin-messages.js +7 -0
- package/dist/core/messages/pt/cli/cli-bin-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-github-actions-messages.d.ts +1 -0
- package/dist/core/messages/pt/cli/cli-command-github-actions-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js +1 -0
- package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-guardian-messages.d.ts +1 -0
- package/dist/core/messages/pt/cli/cli-command-guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-guardian-messages.js +2 -1
- package/dist/core/messages/pt/cli/cli-command-guardian-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-marketplace-messages.d.ts +19 -0
- package/dist/core/messages/pt/cli/cli-command-marketplace-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-marketplace-messages.js +19 -0
- package/dist/core/messages/pt/cli/cli-command-marketplace-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-prune-messages.d.ts +1 -0
- package/dist/core/messages/pt/cli/cli-command-prune-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-prune-messages.js +1 -0
- package/dist/core/messages/pt/cli/cli-command-prune-messages.js.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-reverter-messages.d.ts +6 -0
- package/dist/core/messages/pt/cli/cli-command-reverter-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/cli/cli-command-reverter-messages.js +6 -0
- package/dist/core/messages/pt/cli/cli-command-reverter-messages.js.map +1 -1
- package/dist/core/messages/pt/guardian/guardian-messages.d.ts +3 -0
- package/dist/core/messages/pt/guardian/guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/guardian/guardian-messages.js +3 -0
- package/dist/core/messages/pt/guardian/guardian-messages.js.map +1 -1
- package/dist/core/messages/pt/guardian/watcher-hidden-messages.d.ts +1 -0
- package/dist/core/messages/pt/guardian/watcher-hidden-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/guardian/watcher-hidden-messages.js +1 -0
- package/dist/core/messages/pt/guardian/watcher-hidden-messages.js.map +1 -1
- package/dist/core/messages/pt/licenses/licenses-messages.d.ts +1 -0
- package/dist/core/messages/pt/licenses/licenses-messages.d.ts.map +1 -1
- package/dist/core/messages/pt/licenses/licenses-messages.js +1 -0
- package/dist/core/messages/pt/licenses/licenses-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-bin-messages.d.ts +7 -0
- package/dist/core/messages/zh/cli/cli-bin-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-bin-messages.js +7 -0
- package/dist/core/messages/zh/cli/cli-bin-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-github-actions-messages.d.ts +1 -0
- package/dist/core/messages/zh/cli/cli-command-github-actions-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js +1 -0
- package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-guardian-messages.d.ts +2 -1
- package/dist/core/messages/zh/cli/cli-command-guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-guardian-messages.js +2 -1
- package/dist/core/messages/zh/cli/cli-command-guardian-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-marketplace-messages.d.ts +19 -0
- package/dist/core/messages/zh/cli/cli-command-marketplace-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-marketplace-messages.js +19 -0
- package/dist/core/messages/zh/cli/cli-command-marketplace-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-prune-messages.d.ts +1 -0
- package/dist/core/messages/zh/cli/cli-command-prune-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-prune-messages.js +1 -0
- package/dist/core/messages/zh/cli/cli-command-prune-messages.js.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-reverter-messages.d.ts +6 -0
- package/dist/core/messages/zh/cli/cli-command-reverter-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/cli/cli-command-reverter-messages.js +6 -0
- package/dist/core/messages/zh/cli/cli-command-reverter-messages.js.map +1 -1
- package/dist/core/messages/zh/guardian/guardian-messages.d.ts +3 -0
- package/dist/core/messages/zh/guardian/guardian-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/guardian/guardian-messages.js +3 -0
- package/dist/core/messages/zh/guardian/guardian-messages.js.map +1 -1
- package/dist/core/messages/zh/guardian/watcher-hidden-messages.d.ts +1 -0
- package/dist/core/messages/zh/guardian/watcher-hidden-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/guardian/watcher-hidden-messages.js +1 -0
- package/dist/core/messages/zh/guardian/watcher-hidden-messages.js.map +1 -1
- package/dist/core/messages/zh/licenses/licenses-messages.d.ts +1 -0
- package/dist/core/messages/zh/licenses/licenses-messages.d.ts.map +1 -1
- package/dist/core/messages/zh/licenses/licenses-messages.js +1 -0
- package/dist/core/messages/zh/licenses/licenses-messages.js.map +1 -1
- package/dist/guardian/records.d.ts.map +1 -1
- package/dist/guardian/records.js +3 -3
- package/dist/guardian/records.js.map +1 -1
- package/dist/guardian/sentinel.js +2 -2
- package/dist/guardian/sentinel.js.map +1 -1
- package/dist/guardian/watcher-hidden.js +1 -1
- package/dist/guardian/watcher-hidden.js.map +1 -1
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/guardian/records.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI9D,MAAM,
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/guardian/records.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI9D,MAAM,EACJ,GAAG,EACH,iBAAiB,EAClB,GAAG,WAAW,EAAE,CAAC;AAElB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAMvE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,UAAkB,cAAc;IAEhC,MAAM,SAAS,GAA0B,EAAE,CAAC;IAE5C,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QACzE,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,cAAc;IAEhC,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAwB,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["// SPDX-License-Identifier: MIT\nimport path from 'node:path';\n\nimport { config } from '@core/config';\nimport { getMessages } from '@core/messages';\nimport { gerarSnapshotDoConteudo } from '@guardian';\nimport { ensureDir } from '@shared/helpers';\nimport { lerEstado, salvarEstado } from '@shared/persistence';\n\nimport type { FileEntry, RegistroIntegridade } from '@';\n\nconst {\n log,\n GuardianMensagens\n} = getMessages();\n\nconst DESTINO_PADRAO = path.join(config.STATE_DIR, 'integridade.json');\n\n/**\n * Salva as assinaturas GPG dos arquivos fornecidos em um arquivo de integridade.\n */\n\nexport async function salvarRegistros(\n fileEntries: FileEntry[],\n destino: string = DESTINO_PADRAO,\n): Promise<void> {\n const registros: RegistroIntegridade[] = [];\n\n for (const { relPath, content } of fileEntries) {\n if (!relPath || typeof content !== 'string' || !content.trim()) continue;\n const assinatura = await gerarSnapshotDoConteudo(content);\n registros.push({ arquivo: relPath, assinatura });\n }\n\n await ensureDir(destino);\n await salvarEstado(destino, registros);\n log.sucesso(GuardianMensagens.registroIntegridadeSalvo(destino));\n}\n\n/**\n * Carrega os registros de integridade persistidos. Retorna lista vazia se não existir.\n */\n\nexport async function carregarRegistros(\n caminho: string = DESTINO_PADRAO,\n): Promise<RegistroIntegridade[]> {\n try {\n return await lerEstado<RegistroIntegridade[]>(caminho);\n } catch {\n log.aviso(GuardianMensagens.nenhumRegistroEncontrado(caminho));\n return [];\n }\n}\n"]}
|
|
@@ -17,7 +17,7 @@ async function construirSnapshot(fileEntries) {
|
|
|
17
17
|
snapshot[relPath] = await gerarSnapshotDoConteudo(content);
|
|
18
18
|
}
|
|
19
19
|
catch (err) {
|
|
20
|
-
log.aviso(
|
|
20
|
+
log.aviso(GuardianMensagens.falhaGerarAssinaturaGpg(relPath, getErrMsg(err)));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
return snapshot;
|
|
@@ -50,7 +50,7 @@ export async function scanSystemIntegrity(fileEntries, options) {
|
|
|
50
50
|
snapshotAtual[relPath] = await gerar(content);
|
|
51
51
|
}
|
|
52
52
|
catch (err) {
|
|
53
|
-
log.aviso(
|
|
53
|
+
log.aviso(GuardianMensagens.falhaGerarAssinaturaGpg(relPath, getErrMsg(err)));
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
if (!baselineAnterior) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentinel.js","sourceRoot":"","sources":["../../src/guardian/sentinel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzI,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAErD,MAAM,EACJ,GAAG,EACH,iBAAiB,EAClB,GAAG,WAAW,EAAE,CAAC;AAElB,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,GAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjH,CAAC;AAGD,KAAK,UAAU,iBAAiB,CAAC,WAAwB;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,EACT,OAAO,EACP,OAAO,EACR,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QAC7D,IAAI,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"sentinel.js","sourceRoot":"","sources":["../../src/guardian/sentinel.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: MIT\n// @tutanus-disable tipo-inseguro-unknown\n// Justificativa: getErrMsg recebe unknown de catch blocks intencionalmente.\n\nimport { config } from '@core/config';\nimport { getMessages } from '@core/messages';\nimport { carregarBaseline, diffSnapshots, gerarSnapshotDoConteudo, LINHA_BASE_CAMINHO, salvarBaseline, verificarErros } from '@guardian';\nimport { ensureDir, normalizePath } from '@shared/helpers';\nimport micromatch from 'micromatch';\n\nimport type { FileEntry } from '@';\nimport { GuardianError, IntegridadeStatus } from '@';\n\nconst {\n log,\n GuardianMensagens\n} = getMessages();\n\nfunction getErrMsg(err: unknown): string {\n return typeof err === 'object' && err && 'message' in err ? (err as { message: string }).message : String(err);\n}\n\ntype Snapshot = Record<string, string>;\nasync function construirSnapshot(fileEntries: FileEntry[]): Promise<Snapshot> {\n const snapshot: Snapshot = {};\n for (const {\n relPath,\n content\n } of fileEntries) {\n if (typeof content !== 'string' || !content.trim()) continue;\n try {\n snapshot[relPath] = await gerarSnapshotDoConteudo(content);\n } catch (err) {\n log.aviso(GuardianMensagens.falhaGerarAssinaturaGpg(relPath, getErrMsg(err)));\n }\n }\n return snapshot;\n}\nexport async function scanSystemIntegrity(fileEntries: FileEntry[], options?: {\n justDiff?: boolean;\n suppressLogs?: boolean;\n}): Promise<{\n status: IntegridadeStatus;\n timestamp: string;\n detalhes?: string[];\n baselineModificado?: boolean;\n}> {\n const agora = new Date().toISOString();\n await ensureDir(LINHA_BASE_CAMINHO);\n let baselineAnterior: Snapshot | null = null;\n try {\n baselineAnterior = await carregarBaseline();\n } catch (err) {\n log.aviso(GuardianMensagens.baselineInvalido(getErrMsg(err)));\n }\n\n // Filtra entradas conforme padrões ignorados específicos do Guardian\n const ignorados = config.INCLUDE_EXCLUDE_RULES && config.INCLUDE_EXCLUDE_RULES.globalExcludeGlob || [];\n const filtrados = fileEntries.filter(arquivo => {\n const rel = normalizePath(arquivo.relPath);\n return !micromatch.isMatch(rel, ignorados);\n });\n if (config.DEV_MODE) {\n const removidos = fileEntries.length - filtrados.length;\n log.info(GuardianMensagens.filtroAplicado(filtrados.length, removidos));\n }\n // Usa import dinâmico para alinhar com mocks de teste (vi.mock/vi.doMock)\n const {\n gerarSnapshotDoConteudo: gerar\n } = await import('./hash.js');\n const snapshotAtual: Snapshot = {};\n for (const {\n relPath,\n content\n } of filtrados) {\n if (typeof content !== 'string' || !content.trim()) continue;\n try {\n snapshotAtual[relPath] = await gerar(content);\n } catch (err) {\n log.aviso(GuardianMensagens.falhaGerarAssinaturaGpg(relPath, getErrMsg(err)));\n }\n }\n if (!baselineAnterior) {\n if (options?.justDiff) {\n // Em modo justDiff, ausência de baseline implica sem alterações reportáveis\n return {\n status: IntegridadeStatus.Ok,\n timestamp: agora,\n detalhes: []\n };\n }\n if (!options?.suppressLogs) {\n log.info(GuardianMensagens.baselineInicialCriado);\n }\n await salvarBaseline(snapshotAtual);\n return {\n status: IntegridadeStatus.Criado,\n timestamp: agora\n };\n }\n if (process.argv.includes('--aceitar')) {\n if (!options?.suppressLogs) {\n log.info(GuardianMensagens.baselineAceitoManualmente);\n }\n await salvarBaseline(snapshotAtual);\n return {\n status: IntegridadeStatus.Aceito,\n timestamp: agora\n };\n }\n const diffs = diffSnapshots(baselineAnterior, snapshotAtual);\n const erros = verificarErros(diffs);\n if (options?.justDiff) {\n return {\n status: erros.length ? IntegridadeStatus.AlteracoesDetectadas : IntegridadeStatus.Ok,\n timestamp: agora,\n detalhes: erros\n };\n }\n if (erros.length) {\n throw new GuardianError(erros.map(erro => ({\n tipo: 'integridade' as const,\n mensagem: erro\n })));\n }\n return {\n status: IntegridadeStatus.Ok,\n timestamp: agora\n };\n}\nexport async function acceptNewBaseline(fileEntries: FileEntry[]): Promise<void> {\n const ignorados: string[] = [];\n // Preferir configuração dinâmica quando disponível\n const ignoradosDyn = config.INCLUDE_EXCLUDE_RULES && config.INCLUDE_EXCLUDE_RULES.globalExcludeGlob || ignorados;\n const filtrados = fileEntries.filter(arquivo => {\n const rel = normalizePath(arquivo.relPath);\n return !micromatch.isMatch(rel, ignoradosDyn);\n });\n const snapshotAtual = await construirSnapshot(filtrados);\n await ensureDir(LINHA_BASE_CAMINHO);\n await salvarBaseline(snapshotAtual);\n}"]}
|
|
@@ -20,7 +20,7 @@ export async function vigiaOculta(arquivos, caminhoRegistro = REGISTRO_VIGIA_CAM
|
|
|
20
20
|
if (corrompidos.length > 0) {
|
|
21
21
|
log.aviso(VigiaOcultaMensagens.alteracoesDetectadas.replace('{total}', String(corrompidos.length)));
|
|
22
22
|
for (const arq of corrompidos) {
|
|
23
|
-
log.info(
|
|
23
|
+
log.info(VigiaOcultaMensagens.itemArquivoCorrompido.replace('{arquivo}', arq));
|
|
24
24
|
}
|
|
25
25
|
if (autoReset) {
|
|
26
26
|
await salvarRegistros(arquivos, caminhoRegistro);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher-hidden.js","sourceRoot":"","sources":["../../src/guardian/watcher-hidden.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAItI,MAAM,EACJ,GAAG,EACH,oBAAoB,EACrB,GAAG,WAAW,EAAE,CAAC;AAClB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAqB,EAAE,kBAA0B,6BAA6B,EAAE,SAAS,GAAG,IAAI;IAChI,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAiB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,iBAAiB,EAAE,CAAC;IAE1B,KAAK,MAAM,EACT,OAAO,EACP,OAAO,EACR,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QACzE,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"watcher-hidden.js","sourceRoot":"","sources":["../../src/guardian/watcher-hidden.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAItI,MAAM,EACJ,GAAG,EACH,oBAAoB,EACrB,GAAG,WAAW,EAAE,CAAC;AAClB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAqB,EAAE,kBAA0B,6BAA6B,EAAE,SAAS,GAAG,IAAI;IAChI,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAiB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,iBAAiB,EAAE,CAAC;IAE1B,KAAK,MAAM,EACT,OAAO,EACP,OAAO,EACR,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QACzE,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["// SPDX-License-Identifier: MIT\nimport { getMessages } from '@core/messages';\nimport { carregarRegistros, inicializarChaves, REGISTRO_VIGIA_CAMINHO_PADRAO, salvarRegistros, verificarAssinatura } from '@guardian';\n\nimport type { FileEntry } from '@';\n\nconst {\n log,\n VigiaOcultaMensagens\n} = getMessages();\nexport async function vigiaOculta(arquivos: FileEntry[], caminhoRegistro: string = REGISTRO_VIGIA_CAMINHO_PADRAO, autoReset = true): Promise<void> {\n const registros = await carregarRegistros(caminhoRegistro);\n const mapaAnterior = new Map<string, string>(registros.map(raiz => [raiz.arquivo, raiz.assinatura]));\n const corrompidos: string[] = [];\n\n await inicializarChaves();\n\n for (const {\n relPath,\n content\n } of arquivos) {\n if (!relPath || typeof content !== 'string' || !content.trim()) continue;\n const assinaturaEsperada = mapaAnterior.get(relPath);\n if (assinaturaEsperada) {\n const valido = await verificarAssinatura(content, assinaturaEsperada);\n if (!valido) {\n corrompidos.push(relPath);\n }\n }\n }\n if (corrompidos.length > 0) {\n log.aviso(VigiaOcultaMensagens.alteracoesDetectadas.replace('{total}', String(corrompidos.length)));\n for (const arq of corrompidos) {\n log.info(VigiaOcultaMensagens.itemArquivoCorrompido.replace('{arquivo}', arq));\n }\n if (autoReset) {\n await salvarRegistros(arquivos, caminhoRegistro);\n log.sucesso(VigiaOcultaMensagens.registrosRecalibrados);\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tutanus",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "C.L.I modular para análise, diagnóstico e manutenção de projetos JavaScript/TypeScript e multi-stack leve",
|
|
6
6
|
"author": "Black Diaz",
|
|
@@ -135,7 +135,6 @@
|
|
|
135
135
|
"postcss-sass": "0.5.0",
|
|
136
136
|
"postcss-scss": "4.0.9",
|
|
137
137
|
"react": "19.2.7",
|
|
138
|
-
"tutanus": "^0.12.9",
|
|
139
138
|
"xxhashjs": "0.2.2",
|
|
140
139
|
"yaml": "2.9.0"
|
|
141
140
|
},
|