@ framers/ agentos-ex-code- safety (英语)
静态分析护栏 @framers/agentos在向用户显示或执行任何沙盒中的代码之前,扫描代理机发出的代码(在聊天、伪造工具、生成的文物中).
它会做什么
从代理输出中提取代码栅栏,解析它们,并通过可配置的规则集运行每个块. 默认规则覆盖 :
- 文件系统销毁( E)
rm -rf /,递归删除) - 过程控制( E)
fork bombs,无限制exec(中文(简体) ) - 网络过滤到未登录的主机
- 硬码密钥( API 密钥、 令牌、 私人密钥)
- Eval 风格的动态代码执行
- OWASP LLM Top 10中已知的不良模式
规则是可插接的;带回自己的,引擎则会将其与默认合并.
安装
npm install @framers/agentos-ext-code-safety
同伴依赖 : @framers/agentos。 。 。 .
快速启动
import { AgentOS } from '@framers/agentos';
import { createCodeSafetyGuardrail } from '@framers/agentos-ext-code-safety';
const agentos = new AgentOS();
await agentos.initialize({
extensionManifest: {
packs: [
{
factory: () =>
createCodeSafetyGuardrail({
languages: ['typescript', 'javascript', 'python', 'shell'],
extraRules: [],
}),
enabled: true,
},
],
},
});
公共 API
CodeFenceExtractor——从道人身上取出有栅栏的密码块CodeSafetyScanner——通过规则运行围栏内容CodeSafetyGuardrail警卫铁路为AgentOS合同安装扫描仪DefaultRules——内置规则包createCodeSafetyGuardrail(options?)工厂归还ExtensionPackcreateExtensionPack(context)——AgentOS扩展设备使用的可自动发现工厂自动取出
见 src/types.ts 页:1 CodeSafetyPackOptions。 。 。 .
实例
test/——各受支持语言的固定图案外加规则作者模式
懒惰装入和可选安装
此软件包是 @framers/agentos-extensions-registry登记册船舶目录元数据; createCuratedManifest() 电话 import.meta.resolve() 每个条目并默默跳过任何未安装的条目. npm install @framers/agentos-ext-code-safety 是大门.
不像其他的护卫包, 代码安全是仅regex。 懒惰无能的模特儿 默认规则设定了正在处理的船舶,并增加了零冷启动成本. 自定义规则在激活时合并通过 extraRules。 。 。 .
护栏登记员 config.evaluateStreamingChunks = true 并在双相调度器的第二阶段(平行分级器)运行。 危险的栅栏模式(文件系统被破坏、秘密、eval)返回 BLOCK; 低等匹配返回 FLAG第二阶段最糟糕的行动汇总将作出最严格的决定.
工具调用
护栏也设了 config.evaluateToolCalls,因此 AgentOS 输出调度器(@framers/agentos 0.13.67及后)将每块被守护的溪流取出工具呼叫器. 它扫描它所看工具的代码参数: command 联 合 国 shell_execute (作为巴什语), query 联 合 国 run_sql (作为SQL)和 content 联 合 国 write_file, (中文(简体) ), create_file 财务报告和审定财务报表 edit_file编辑 codeExecutingTools 财务报告和审定财务报表 codeArgumentMapping 选项更改该列表。 一个关键的或高的发现阻挡了呼叫:流以护栏的判断来取而代之,因此流从不将呼叫交给主机运行. 调用运行时间会自行运行( A)executionMode: 'internal')不等待输出的护栏,所以一个块会结束溪流而不停止. 更早的AgentOS不读取旗帜并传递工具呼叫未扫描.
关于完整的DI模型 和端到端的走过, 将这个包放在调度器,见 扩展如何保持可选和懒惰 编辑 自动加载指南。 。 。 .
许可证
Apache 2. 0 — 见 repo 根 自由主义。 。 。 .