Harden Windows DLP enforcement and Electron runtime packaging
This commit is contained in:
1 parent
e7d778aeac
commit
8a253eda89
120 files changed
+3569
-135
No files matched your search
@@ -0,0 +1,20 @@
|
||||
import js from '@eslint/js';
|
||||
import globals from 'globals';
|
||||
|
||||
// Classic scripts listed in the admin HTML share this explicit application API.
|
||||
const adminApi=Object.fromEntries(['$','addBookmark','agentScopes','api','applyGroupPermissions','applyIncidentPermissions','applyOperatorPermissions','applyProfilePermissions','cell','draft','fill','groupChecks','groupSelected','incidentEvidenceViewer','lines','load','loadIncidents','loadPolicyGroups','loadUserProfiles','managedSections','openIncident','policyMutationStatus','renderBookmarkRows','task','updateDraftStatus'].map(name=>[name,'readonly']));
|
||||
|
||||
// The runtime is deliberately split: trusted Node/Electron code and browser
|
||||
// renderers must not accidentally borrow one another's ambient capabilities.
|
||||
export default [
|
||||
{ignores:['node_modules/**','.runtime/**','dist/**','data/**','artifacts/**','docs/media/**']},
|
||||
{...js.configs.recommended,files:['apps/**/*.{js,mjs,cjs}','packages/**/*.{js,mjs,cjs}','scripts/**/*.{js,mjs,cjs}','tests/**/*.{js,mjs,cjs}','eslint.config.mjs'],languageOptions:{ecmaVersion:'latest',globals:globals.node},rules:{...js.configs.recommended.rules,'no-empty':['error',{allowEmptyCatch:true}],'no-unused-vars':['warn',{args:'after-used',argsIgnorePattern:'^_',caughtErrors:'none'}]}},
|
||||
{files:['apps/browser/renderer.js','apps/server/public/**/*.js'],languageOptions:{sourceType:'script',globals:{...globals.browser,process:'off',require:'off',module:'off',Buffer:'off',__dirname:'off',__filename:'off'}}},
|
||||
{files:['apps/server/public/**/*.js'],languageOptions:{globals:{...adminApi,credential:'writable',currentPrincipal:'writable',independentApprovalRequired:'writable',policy:'writable',publishedSnapshot:'writable',status:'writable',fill:'writable',draft:'writable',load:'writable',applyOperatorPermissions:'writable'}},rules:{'no-redeclare':['error',{builtinGlobals:false}]}},
|
||||
{files:['apps/server/public/controlled-login-admin.js','apps/server/public/evidence-viewer.js','apps/server/public/audit-integrity-admin.js'],languageOptions:{globals:{module:'readonly'}}},
|
||||
// These fixed DOM functions are serialized into isolated Chromium worlds.
|
||||
// Their containing module still needs Node globals to export the helper.
|
||||
{files:['apps/browser/*-dom.cjs','apps/browser/*-script.cjs','apps/browser/clipboard-deny.cjs','apps/browser/page-clipboard-guard.cjs','apps/browser/agent-adapters.cjs','apps/browser/agent-visual-probe.cjs','apps/browser/human-interaction.cjs','apps/browser/password-fill.cjs','apps/browser/site-preload.cjs','apps/browser/visual-phishing.cjs'],languageOptions:{globals:globals.browser}},
|
||||
{files:['apps/browser/transport-deny.cjs'],languageOptions:{globals:globals.browser}},
|
||||
{files:['**/*.cjs'],languageOptions:{sourceType:'commonjs'}}
|
||||
];
|
||||
Reference in new issue
Block a user