2作者: AgastyaTodi大约 2 个月前原帖
我与一些在金融科技、开发工具和生产力领域构建人工智能代理的创始人进行了交流,几乎没有一个代理具备真正的安全层。他们的代理可以读取电子邮件、调用API、执行代码,并写入数据库,基本上没有其他的保护措施,除了“我们信任大型语言模型(LLM)”。 因此,我构建了AgentArmor:一个开源框架,它为任何代理架构提供8个独立的安全层,每个层都针对代理数据流中的不同攻击面。 这8个层次包括: - L1 – 数据摄取:提示注入 + 越狱检测(20多种模式,DAN,提取尝试,Unicode隐写术) - L2 – 存储:静态AES-256-GCM加密 + 向量数据库的BLAKE3完整性 - L3 – 上下文:指令与数据分离(类似于参数化SQL,但用于LLM上下文)、金丝雀令牌、提示强化 - L4 – 规划:操作风险评分(读取=1 → 删除=7 → 执行=8 → 管理=10)、链深度限制、大规模操作检测 - L5 – 执行:网络出口控制、每个操作的速率限制、带条件规则的人类审批门 - L6 – 输出:通过Microsoft Presidio进行个人身份信息(PII)去标识化 + 正则表达式回退 - L7 – 代理间:HMAC-SHA256互认证、信任评分、委托深度限制、时间戳绑定重放防止 - L8 – 身份:代理本地身份、即时权限、短期凭证 我对2025年12月规范中的所有10个OWASP ASI(代理安全完整性)风险进行了测试。红队套件已包含在代码库中。 可以作为以下几种方式使用:(a)一个Python库,您可以在工具调用周围进行封装,(b)一个FastAPI代理服务器,用于框架无关的部署,或(c)一个用于在CI中扫描提示的命令行工具。 已集成的内容包括:LangChain、OpenAI Agents SDK、MCP服务器。 我与本地Ollama代理(qwen2:7b)进行了实时测试——您可以看到它在L8(权限检查)阻止了一个`database.delete`,在L6对文件内容进行了PII去标识化,并在L1之前杀死了一个提示注入,使其未能到达模型。 GitHub: [https://github.com/Agastya910/agentarmor](https://github.com/Agastya910/agentarmor) PyPI: pip install agentarmor-core 非常希望能收到反馈,尤其是来自那些实际构建生产代理并遇到我未曾考虑的安全问题的人。 标签:安全、Python、LLM、人工智能、代理
1作者: Olsberg大约 2 个月前原帖
大多数关于PowerSchool事件的讨论将其描述为一个支持账户的泄露。 如果我们查看系统内部的操作链,情况大致如下: 入口:被泄露的支持凭证 执行:通过PowerSource支持门户进行维护远程支持操作 记录系统:学生信息系统(SIS)数据库 该支持账户并未直接访问客户数据。 相反,操作是通过PowerSource支持界面执行的,这可能会对客户数据库触发操作。 实际上,支持门户充当了对生产数据库进行操作的执行机制。 这使得该事件更侧重于支持界面中嵌入的执行权限,而不是直接的数据库访问。
1作者: sangeet01大约 2 个月前原帖
嗨,HN,我是一名来自尼泊尔的本科生。 在过去的35年里,计算化学和人工智能药物发现一直依赖SMILES来表示分子。这在1980年代是很好的,但在今天却成为了一个巨大的瓶颈。它是非规范的,立体化学解析脆弱,并且在尝试表示有机金属化合物、合金或聚合物时完全失效。要可靠地解析它,基本上需要一个300MB的C++依赖库(RDKit),依赖于几十年的硬编码启发式算法。 我感到沮丧,并意识到表示物质并不是一个图论问题——而是一个语言学问题。 为了解决这个问题,我构建了SCRIPT(结构化化学文本表示)。我将核心解析器基于帕尼尼的梵语语法的生成语言学。SCRIPT并不是将分子视为一串无意义的节点,而是将其视为一个由根、状态(Vibhakti)和关系(Sandhi)组成的语言。 我今天为π日发布了V3版本。 它的工作原理及修复内容: • 无混乱的芳香性:SMILES使用小写字母(c1ccccc1),这导致了无尽的解析歧义。SCRIPT在环闭合上使用Anubandha(治理标记)。C1CCCCC&6:明确告诉解析器,DFS路径中的最后6个原子是共振的。 • Vāk顺序立体化学:在SCRIPT中,手性通过深度优先搜索序列顺序作为本地坐标框架内在地得到解决,使其在数学上具有顺序不变性。 • 有机金属化合物与材料:由于语法设计,SCRIPT原生支持触觉键(*5)、分数合金(Ti<~0.9>N<~0.1>)、晶相([[Rutile]] Ti(O)2)和随机聚合物({[CC]}n)。 • 独立于RDKit:核心引擎使用纯Python的Lark语法。它在解析过程中捕捉六价碳,生成100%原生的双向转换,并在不依赖RDKit的C++后端的情况下实现95.9%的RDKit InChI一致性。 示例: 阿司匹林(SMILES):CC(=O)Oc1ccccc1C(=O)O(或许多其他有效字符串) 阿司匹林(SCRIPT):CC(=O)OC1=CC=CC=C1C(=O)O(确定性规范化) 顺铂:Pt<sqp>(Cl)2(NH3)2@(保持平面正方形几何形状和顺式构型) 我只是一个在代码中像小孩一样嬉戏的愚蠢本科生(我的湿实验滴定一团糟,没错,我用嘴巴来吸取液体)。我非常希望能收到你们最严厉的技术反馈,特别是来自解析器爱好者、化学信息学家或任何从事人工智能药物发现的人。很乐意回答关于语法或解析器架构的任何问题!