#!/usr/bin/env node // ═══════════════════════════════════════════════════════════════════════════ // Vertical Slice: SSH till produktion blockeras (S-001) v2 // Med Policy Registry och Runtime Trace v2 // ═══════════════════════════════════════════════════════════════════════════ import { AgentRuntimeV3 } from './agent-runtime-v3.mjs'; /** * EOS Policy för SSH med Policy Registry-integration */ function checkSSHPolicy(task) { const isSSH = task.action === 'ssh' || task.description?.toLowerCase().includes('ssh'); const isProduction = task.target === 'production' || task.description?.toLowerCase().includes('produktion'); if (isSSH && isProduction) { return { passed: false, policyId: 'POL-SEC-001', rule: 'no-ssh-prod', reason: 'SSH till produktion är förbjudet enligt EOS Policy POL-SEC-001', severity: 'CRITICAL', action: 'STOP', evidence: { action: task.action, target: task.target } }; } return { passed: true }; } class AgentRuntimeSSHSliceV2 extends AgentRuntimeV3 { constructor(task) { super(task); this.policies = [checkSSHPolicy]; } } export { AgentRuntimeSSHSliceV2, checkSSHPolicy };