Zeri:一个双进程多语言TUI REPL及其过度工程反思
开发者Luca耗时五个月构建了Zeri——一款TUI多语言REPL,支持Python、JavaScript(Bun)、Ruby、LuaJIT,可跨语言共享变量、保存会话,并集成Ollama本地LLM。工具本身功能性完整,但作者事后反思:它更像是“架构优先”的产物,缺乏明确的用户痛点。代码已开源。
尽管所有功能都正确运行,作者承认这是一次典型的“architecture-first”实践:功能完整但无法回答“谁需要它、解决什么具体问题”。他分享这段经历,提醒开发者警惕过度工程化,并建议项目早期就应压力测试核心假设。
GitHub
#开发者 #工具 #Zeri #TUI #REPL #Cpp23 #Go #IPC #Yuumi #跨语言
@DevToolboxHub
开发者Luca耗时五个月构建了Zeri——一款TUI多语言REPL,支持Python、JavaScript(Bun)、Ruby、LuaJIT,可跨语言共享变量、保存会话,并集成Ollama本地LLM。工具本身功能性完整,但作者事后反思:它更像是“架构优先”的产物,缺乏明确的用户痛点。代码已开源。
Zeri采用双进程架构:引擎用C++23编写,负责代码评估、状态与运行时协调;前端用Go(Bubble Tea + Lip Gloss)处理渲染和输入交互。两者通过自定义二进制IPC通信,帧定界使用固定头部+JSON负载,兼顾性能与可调试性。
每种语言作为独立sidecar进程运行,隔离崩溃。SharedScope特性实现跨语言变量共享:引擎持有中立类型(JSON可序列化的基本类型与简单容器)的规范副本,按值复制,不共享内存;对函数、类实例、大整数等不支持类型显式拒绝,避免静默数据损坏。IPC协议已独立为Yuumi库,附带各语言SDK。
尽管所有功能都正确运行,作者承认这是一次典型的“architecture-first”实践:功能完整但无法回答“谁需要它、解决什么具体问题”。他分享这段经历,提醒开发者警惕过度工程化,并建议项目早期就应压力测试核心假设。
GitHub
#开发者 #工具 #Zeri #TUI #REPL #Cpp23 #Go #IPC #Yuumi #跨语言
@DevToolboxHub
MargIQ 按工作流证据优化 AI 模型成本
许多 AI 应用只给整个产品选一个模型,导致常规任务成本偏高,而盲目切到廉价模型又可能降低关键质量。MargIQ 通过分析实际流量,识别重复出现的 AI 工作流,评估当前已用模型,帮助判断哪个工作流该用昂贵模型、哪个可以换低成本模型。
如果你在跑生产级重复 AI 工作流,可以试用并反馈:工作流级别的模型推荐需要哪些证据才可信?质量与成本的权衡报告是否清晰?服务端集成对现有栈是否顺畅?
#开发者 #工具 #MargIQ #AI #模型优化 #工作流 #成本优化
@DevToolboxHub
许多 AI 应用只给整个产品选一个模型,导致常规任务成本偏高,而盲目切到廉价模型又可能降低关键质量。MargIQ 通过分析实际流量,识别重复出现的 AI 工作流,评估当前已用模型,帮助判断哪个工作流该用昂贵模型、哪个可以换低成本模型。
MargIQ 对每个工作流给出:哪里可以换低价模型、哪里应保留原模型、哪些路由路径有足够证据、哪里质量标准太模糊不宜变动,以及估算或实际成本影响。质量保护方面,证据不足时保持原模型,避免因未明确分类或优先级规则而误判。集成方式:npm install margiq,兼容现有 provider 凭据和模型配置。免费版默认仅报告模式,不改变生产路由;准备好后可启用自动、报告或禁用控制。如果你在跑生产级重复 AI 工作流,可以试用并反馈:工作流级别的模型推荐需要哪些证据才可信?质量与成本的权衡报告是否清晰?服务端集成对现有栈是否顺畅?
#开发者 #工具 #MargIQ #AI #模型优化 #工作流 #成本优化
@DevToolboxHub
CTF 快速文件共享:三种方案对比
CTF 比赛中,发现漏洞后要立刻把 flag 截图、配置文件传给队友,但每次都要琢磨怎么传。本文对比 netcat、Python HTTP 服务器和 SimpleDrop,帮你把时间花在解题上。
原则是用最简单工具匹配场景,零时间花在文件传输上。
#开发者 #工具 #CTF #文件共享 #netcat #SimpleDrop #PythonHTTPServer #加密
@DevToolboxHub
CTF 比赛中,发现漏洞后要立刻把 flag 截图、配置文件传给队友,但每次都要琢磨怎么传。本文对比 netcat、Python HTTP 服务器和 SimpleDrop,帮你把时间花在解题上。
1. netcat — 零配置传输
同一网络两台机器之间快速传单个文件,nc 预装在多数 Linux 上。接收方监听:nc -l -p 1234 > received_flag.txt;发送方连接:nc <receiver_ip> 1234 < flag.txt。无加密,只适合隔离 CTF 网络。需要加密可用 ncat --ssl 或 openssl s_client。
2. Python HTTP 服务器 — 团队中心
多队友需要同一资源时,一行命令建 HTTP 服务器:python3 -m http.server 8000。队友浏览器即可下载文件。适合分词表、脚本、收集的制品。默认下载只读,不能上传。
3. SimpleDrop — 速度优先
跨团队、跨机器分享编译的 exploit、截图或压缩包时,netcat 和 HTTP 都有摩擦。SimpleDrop 无需账号、无需设置,上传即得加密链接,任何系统浏览器可用。适合二进制、截图、存档。
快速对比
netcat:零设置、无加密、隔离网络单次传输
Python HTTP:一行命令、无加密、团队资源分发
SimpleDrop:零设置、E2EE、跨团队快速分享
原则是用最简单工具匹配场景,零时间花在文件传输上。
#开发者 #工具 #CTF #文件共享 #netcat #SimpleDrop #PythonHTTPServer #加密
@DevToolboxHub
indian-fakedata:为印度市场生成真实的模拟人口数据
开发面向印度市场的应用时常需要模拟人口数据用于测试、UI预览或训练ML模型,但标准生成器随机组合姓名、宗教、地区,容易产生不合逻辑的档案。indian-fakedata 基于印度人口普查、NFHS-5等真实数据源,生成统计上合理的人口档案,支持按宗教、种姓、邦、性别、年龄、教育、职业等维度过滤,输出 JSON/JSONL/CSV 格式。
工具已发布到 npm 和 PyPI,可直接集成到测试或ML工作流中。
#开发者 #工具 #IndianFakedata #Nodejs #Python #MockData #CLI #Testing #DataGeneration
@DevToolboxHub
开发面向印度市场的应用时常需要模拟人口数据用于测试、UI预览或训练ML模型,但标准生成器随机组合姓名、宗教、地区,容易产生不合逻辑的档案。indian-fakedata 基于印度人口普查、NFHS-5等真实数据源,生成统计上合理的人口档案,支持按宗教、种姓、邦、性别、年龄、教育、职业等维度过滤,输出 JSON/JSONL/CSV 格式。
安装
Node.js:npm install @abhay557/indian-fakedata(需 Node >=18)
Python:pip install indian-fakedata(需 Python 3.8+)
CLI 用法indian-fakedata [options],常用选项:--count--output--format (json/jsonl/csv)--seed
过滤维度:--religion--state--gender--caste--socialCategory--areaType--minAge/maxAge--education--occupation--maritalStatus
Enrichment 层--outcomes添加信用分、健康风险等;--narrative生成贷款申请、病历等文本;--persona输出LLM可用角色设定。
程序化API
Node:import { generate, generateEnriched } from '@abhay557/indian-fakedata'
Python:from indian_fakedata import generate, generate_enriched
数据来源: Census 2011, NFHS-5, MSME Census, UIDAI, CSDS/Lokniti 等
工具已发布到 npm 和 PyPI,可直接集成到测试或ML工作流中。
#开发者 #工具 #IndianFakedata #Nodejs #Python #MockData #CLI #Testing #DataGeneration
@DevToolboxHub
Schemaboi:将自包含模式嵌入文件头实现数据兼容演进
受 HTML 和 HTTP 长久适应能力的启发,Seph Gentle 提出将自包含模式(schema)直接嵌入文件头,使数据无需外部定义即可始终可读。该实验性格式将向前、向后和侧向兼容性作为首要目标,允许数据格式在无需中央协调、不丢失数据的前提下持续演进。
Schemaboi 旨在解决当前应用之间数据互操作的僵化问题,让传统本地软件与云端协作之间的“虚假二选一”不再成立。通过将模式固化在数据自身结构中,任何支持该格式的工具都能理解不同版本的数据,从而推动更健壮、可持续的数据格式生态。
#开发者 #工具 #Schemaboi #SephGentle #数据兼容性 #本地优先 #自描述格式
@DevToolboxHub
受 HTML 和 HTTP 长久适应能力的启发,Seph Gentle 提出将自包含模式(schema)直接嵌入文件头,使数据无需外部定义即可始终可读。该实验性格式将向前、向后和侧向兼容性作为首要目标,允许数据格式在无需中央协调、不丢失数据的前提下持续演进。
Schemaboi 旨在解决当前应用之间数据互操作的僵化问题,让传统本地软件与云端协作之间的“虚假二选一”不再成立。通过将模式固化在数据自身结构中,任何支持该格式的工具都能理解不同版本的数据,从而推动更健壮、可持续的数据格式生态。
#开发者 #工具 #Schemaboi #SephGentle #数据兼容性 #本地优先 #自描述格式
@DevToolboxHub
ECMAScript 2026 新增 7 个实用 API
ECMAScript 2026 第 17 版规范于 2026 年 6 月 30 日获批,引入多项替换日常手写模式的语言级 API,无需框架或架构改动,适用于前端、Node.js 服务、库、数据管道和开发者工具。
建议优先采用:Map.getOrInsertComputed() 用于缓存/分组,Array.fromAsync() 用于有限异步数据源,Uint8Array 编码方法用于 API 和加密工作。使用前请检查目标环境支持情况,必要时提供 polyfill。
#开发者 #工具 #ECMAScript2026 #JavaScript #ES2026 #ArrayFromAsync #MapGetOrInsert #IteratorConcat #ErrorIsError #MathSumPrecise #Uint8Array #Base64 #Hex #JSON
@DevToolboxHub
ECMAScript 2026 第 17 版规范于 2026 年 6 月 30 日获批,引入多项替换日常手写模式的语言级 API,无需框架或架构改动,适用于前端、Node.js 服务、库、数据管道和开发者工具。
Array.fromAsync() – 将异步可迭代对象直接转为数组,支持映射函数,取代手写 for await...of 循环。适用于分页 API、数据库游标、流式记录等。
Map.prototype.getOrInsert() / getOrInsertComputed() – 在 Map 中获取或插入默认值,后者仅在键缺失时计算值,简化缓存、分组、容器等模板代码。WeakMap 也有等价方法。
Iterator.concat() – 惰性连接多个同步可迭代对象,避免展开成数组并立即消耗所有内存,按需取值,适用于大型数据源的组合与提前停止场景。
Error.isError() – 跨 realm 检测真 Error 对象,解决 instanceof 在 iframe、不同 VM 环境下的不可靠问题,适用于组件库、插件系统、测试运行器等。
Math.sumPrecise() – 更精确地求和浮点数,减少累加误差,尤其适合混合量级数据、统计、科学计算。注意不是十进制算术,货币仍建议用整数分单位。
Uint8Array 原生 Base64 与十六进制方法 – toBase64() / fromBase64() / toHex() / fromHex(),替代手写 btoa/atob 或第三方库,用于 API 载荷、加密、文件哈希等。
JSON 源文本访问与 rawJSON – JSON.parse() reviver 新增 context.source 获取原始 JSON 源文本,配合 JSON.rawJSON() 在序列化时保留大整数或高精度数值,解决 Number 精度丢失问题。
建议优先采用:Map.getOrInsertComputed() 用于缓存/分组,Array.fromAsync() 用于有限异步数据源,Uint8Array 编码方法用于 API 和加密工作。使用前请检查目标环境支持情况,必要时提供 polyfill。
#开发者 #工具 #ECMAScript2026 #JavaScript #ES2026 #ArrayFromAsync #MapGetOrInsert #IteratorConcat #ErrorIsError #MathSumPrecise #Uint8Array #Base64 #Hex #JSON
@DevToolboxHub
Google 联合发布 ARD 规范,赋能 AI 代理资源发现
Google 与行业合作伙伴共同宣布 Agentic Resource Discovery (ARD) 规范,这是一项针对 AI 代理的开放标准,用于发布、发现和验证外部工具、API 及服务。当前 AI 代理在跨组织边界调用资源时缺乏统一发现机制,ARD 填补了这一空白。
ARD 在现有执行协议(如 MCP 和 OpenAPI)之上,引入基于目录和注册表的发现层,支持动态能力发现,并强调信任与互操作性。开发者可通过该标准让代理自动查找和验证可用的 AI 工具与接口,无需硬编码地址或手动集成。
#开发者 #工具 #ARD #AI代理 #开放标准 #Google #MCP #OpenAPI #资源发现
@DevToolboxHub
Google 与行业合作伙伴共同宣布 Agentic Resource Discovery (ARD) 规范,这是一项针对 AI 代理的开放标准,用于发布、发现和验证外部工具、API 及服务。当前 AI 代理在跨组织边界调用资源时缺乏统一发现机制,ARD 填补了这一空白。
ARD 在现有执行协议(如 MCP 和 OpenAPI)之上,引入基于目录和注册表的发现层,支持动态能力发现,并强调信任与互操作性。开发者可通过该标准让代理自动查找和验证可用的 AI 工具与接口,无需硬编码地址或手动集成。
#开发者 #工具 #ARD #AI代理 #开放标准 #Google #MCP #OpenAPI #资源发现
@DevToolboxHub
免费浏览器端YAML/K8s/Terraform验证器
DevOps工程师常把YAML或Terraform配置粘贴到在线验证器,但配置文件可能包含内部信息,发送到未知服务器有隐私风险。一个完全在浏览器本地运行的验证器打破了这一习惯——配置数据从不离开你的设备。
这套工具支持三种常用格式:YAML(抓取缩进与结构错误)、Kubernetes清单(schema感知验证,提前捕获apiVersion错误)、Terraform/HCL(语法结构检查)。全部在浏览器端JavaScript解析,无需上传、无需注册、不经过服务器。断开WiFi依然可用,打开开发者工具的网络面板也看不到任何外发请求。
部分底层工具已开源,包含CLI和只读API用于错误提示数据。客户端工具有其局限——无法查询集群实时状态,schema验证不等于策略检查——但对于“缩进是否敲错”这类问题,无需网络请求即可得到答案。
#开发者 #工具 #YAML #Kubernetes #Terraform #HCL #DevOps #开源 #客户端 #离线验证
@DevToolboxHub
DevOps工程师常把YAML或Terraform配置粘贴到在线验证器,但配置文件可能包含内部信息,发送到未知服务器有隐私风险。一个完全在浏览器本地运行的验证器打破了这一习惯——配置数据从不离开你的设备。
这套工具支持三种常用格式:YAML(抓取缩进与结构错误)、Kubernetes清单(schema感知验证,提前捕获apiVersion错误)、Terraform/HCL(语法结构检查)。全部在浏览器端JavaScript解析,无需上传、无需注册、不经过服务器。断开WiFi依然可用,打开开发者工具的网络面板也看不到任何外发请求。
部分底层工具已开源,包含CLI和只读API用于错误提示数据。客户端工具有其局限——无法查询集群实时状态,schema验证不等于策略检查——但对于“缩进是否敲错”这类问题,无需网络请求即可得到答案。
#开发者 #工具 #YAML #Kubernetes #Terraform #HCL #DevOps #开源 #客户端 #离线验证
@DevToolboxHub
掌握 Pytest Fixture:消除测试重复代码
Fixtures 是 pytest 测试的基石,用来预置 SparkSession、DataFrame 或数据库连接等对象。只需定义一次,即可注入到多个测试中,避免重复构造输入数据。本系列前篇覆盖了测试与 mock 基础,现在重点解决测试重复问题,让测试套件更快、更易维护。
通过合理使用 fixture,可以淘汰复制粘贴的设置代码,组合出可复用、范围恰当的测试组件。结合前文的 mock 基础,现在有能力构建整洁、可维护的测试套件。
#开发者 #工具 #Pytest #Python #测试 #Fixture #自动化测试
@DevToolboxHub
Fixtures 是 pytest 测试的基石,用来预置 SparkSession、DataFrame 或数据库连接等对象。只需定义一次,即可注入到多个测试中,避免重复构造输入数据。本系列前篇覆盖了测试与 mock 基础,现在重点解决测试重复问题,让测试套件更快、更易维护。
Fixture 通过 @pytest.fixture 装饰器定义,scope 参数控制生命周期:
• function(默认):每个测试函数新建,适合可变 fixture
• class:每个测试类共享一次
• module:每个测试文件共享一次
• session:整个测试运行共享一次,适合 SparkSession 等昂贵资源
用 yield 分离 setup 与 teardown:yield 前是准备,yield 后是清理(即使测试失败也会执行)。autouse=True 让 fixture 自动对所有测试生效,适合清理日志文件、重置环境变量等。conftest.py 是跨测试文件的共享仓库,根目录下定义的 fixture 无需导入即可被所有测试使用。
最佳实践:保持 fixture 靠近使用处,conftest.py 只放通用 fixture;scope 匹配创建成本;使用 yield 管理资源的获取与释放;注意 session 级 Fixture 被修改后会影响后续测试。
通过合理使用 fixture,可以淘汰复制粘贴的设置代码,组合出可复用、范围恰当的测试组件。结合前文的 mock 基础,现在有能力构建整洁、可维护的测试套件。
#开发者 #工具 #Pytest #Python #测试 #Fixture #自动化测试
@DevToolboxHub
Google Cloud Workbench 扩展连接 VS Code 与云端 Jupyter
Google Cloud 发布 Workbench Notebooks 扩展,开发者可通过 VS Code 直接连接托管在 Google Cloud 上的 Jupyter notebook 环境。该工具面向数据科学家和开发者,用于在本地 IDE 中完成实验、开发与协作。
#开发者 #工具 #GoogleCloud #Workbench #Notebooks #VSCode #Jupyter
@DevToolboxHub
Google Cloud 发布 Workbench Notebooks 扩展,开发者可通过 VS Code 直接连接托管在 Google Cloud 上的 Jupyter notebook 环境。该工具面向数据科学家和开发者,用于在本地 IDE 中完成实验、开发与协作。
#开发者 #工具 #GoogleCloud #Workbench #Notebooks #VSCode #Jupyter
@DevToolboxHub
合并348个PR后修复的11个Bug
Aniruddha Adak,一名印度计算机科学学生,两年间合并了348个PR。他分享了在cognee、openclaw、hermes-agent、opensre等项目中修复的11个关键Bug,涵盖Windows兼容性、AI代理空响应、数据库逻辑错误、安全漏洞等。例如:在cognee中修复Windows长路径导致OS Error 3;在hermes-agent中处理API返回None引发的panic;在opensre中扩充数据库逻辑以识别健康状态、消除无限循环。
这些Bug修复的教训:不要假设所有人都在Linux上开发;AI代理必须处理空数据;从小处着手逐渐深入。
#开发者 #工具 #BugSmash #开源贡献 #cognee #openclaw #Python #AI #数据库 #调试
@DevToolboxHub
Aniruddha Adak,一名印度计算机科学学生,两年间合并了348个PR。他分享了在cognee、openclaw、hermes-agent、opensre等项目中修复的11个关键Bug,涵盖Windows兼容性、AI代理空响应、数据库逻辑错误、安全漏洞等。例如:在cognee中修复Windows长路径导致OS Error 3;在hermes-agent中处理API返回None引发的panic;在opensre中扩充数据库逻辑以识别健康状态、消除无限循环。
这些Bug修复的教训:不要假设所有人都在Linux上开发;AI代理必须处理空数据;从小处着手逐渐深入。
#开发者 #工具 #BugSmash #开源贡献 #cognee #openclaw #Python #AI #数据库 #调试
@DevToolboxHub
AWS推出Claude Apps Gateway自托管控制平面
AWS与Anthropic联合发布Claude Apps Gateway for AWS,这是一款自托管控制平面,为Claude Code和Claude Desktop集中管理身份、策略、遥测、路由和支出上限。网关以单一无状态容器运行,将推理请求路由至Amazon Bedrock或AWS上的Claude Platform,替代了每个开发者各自配置的模式。
该网关面向企业团队,提供统一的访问控制和成本管理入口,无需修改现有Claude客户端即可接入。部署后,组织可通过单一策略规则约束推理用量,并集中查看遥测数据。
#开发者 #工具 #ClaudeAppsGateway #AWS #Anthropic #ClaudeCode #ClaudeDesktop #AmazonBedrock
@DevToolboxHub
AWS与Anthropic联合发布Claude Apps Gateway for AWS,这是一款自托管控制平面,为Claude Code和Claude Desktop集中管理身份、策略、遥测、路由和支出上限。网关以单一无状态容器运行,将推理请求路由至Amazon Bedrock或AWS上的Claude Platform,替代了每个开发者各自配置的模式。
该网关面向企业团队,提供统一的访问控制和成本管理入口,无需修改现有Claude客户端即可接入。部署后,组织可通过单一策略规则约束推理用量,并集中查看遥测数据。
#开发者 #工具 #ClaudeAppsGateway #AWS #Anthropic #ClaudeCode #ClaudeDesktop #AmazonBedrock
@DevToolboxHub
PostgreSQL 为生产级 AI 代理提供关系型基础
由 Gwen Shapira 在 InfoQ 上分享,介绍团队如何利用 PostgreSQL 为关键任务应用扩展 AI 能力。她讲解了如何利用 Postgres 的多模态能力——包括 JSONB 解析和高召回率的 HNSW 向量索引——为 LLM 提供确定性和语义上下文。还讨论了向量量化可将查询速度提升 4 倍,以及管理代理记忆的策略。
#开发者 #工具 #PostgreSQL #AI #VectorSearch #代理记忆 #HNSW #JSONB
@DevToolboxHub
由 Gwen Shapira 在 InfoQ 上分享,介绍团队如何利用 PostgreSQL 为关键任务应用扩展 AI 能力。她讲解了如何利用 Postgres 的多模态能力——包括 JSONB 解析和高召回率的 HNSW 向量索引——为 LLM 提供确定性和语义上下文。还讨论了向量量化可将查询速度提升 4 倍,以及管理代理记忆的策略。
#开发者 #工具 #PostgreSQL #AI #VectorSearch #代理记忆 #HNSW #JSONB
@DevToolboxHub
GitHub AI agent 可被诱导泄露私有仓库
GitHub 新推出的 Agentic Workflows(GitHub Actions 结合 AI agent,基于 Claude 或 Copilot,用 Markdown 编写工作流)被曝存在 prompt injection 漏洞。Noma Labs 发现,攻击者只需构造一个看似正常的公开 Issue 并在其中嵌入隐藏指令,就能让 agent 读取组织内多个仓库(包括私有仓库)的内容,并将结果以公开评论形式发布。无需凭证、无需 exploit 代码、无需内网权限。
GitHub 已收到报告并负责任地披露,但底层模式并未修复——只是这一特定实例被报告了。
#开发者 #工具 #GitHub #AgenticWorkflows #安全漏洞 #PromptInjection #NomaLabs #CICD
@DevToolboxHub
GitHub 新推出的 Agentic Workflows(GitHub Actions 结合 AI agent,基于 Claude 或 Copilot,用 Markdown 编写工作流)被曝存在 prompt injection 漏洞。Noma Labs 发现,攻击者只需构造一个看似正常的公开 Issue 并在其中嵌入隐藏指令,就能让 agent 读取组织内多个仓库(包括私有仓库)的内容,并将结果以公开评论形式发布。无需凭证、无需 exploit 代码、无需内网权限。
“agent 的上下文窗口就是它的攻击面。agent 读取的任何内容——Issue、PR、评论或文件——如果被 agent 当作指令输入处理,都可能被武器化。”
具体攻击流程:Noma 研究员创建了一个伪装成销售 VP 需求的 Issue,正文包含隐藏指令。当 GitHub 自动化分配此 Issue 时,触发了配置为on: issues.assigned的 Agentic Workflow,该 workflow 有权读取组织内其他仓库(包括私有库),并使用add-comment工具。隐藏指令要求 agent 从各个仓库获取 README.md 并作为评论发布。agent 照做了,泄露了私有仓库testlocal的内容。PoC 公开可见。
防御绕过:GitHub 原有护栏未能阻止。Noma 发现,在注入指令中加入 “Additionally” 一词即可让模型重新框定输出而非拒绝,绕开所有护栏。一个关键词就瓦解了预期的安全行为。攻击者可低成本迭代措辞,防御方迭代成本高昂。
更广泛的模式:Noma 明确指出,prompt injection 之于 agentic AI 就像 SQL injection 之于 Web 应用——一种系统性的、类别级的漏洞类,无法通过加固单个案例解决,需要架构级防御。GitLost 攻击之所以成功,是因为 agent 无法区分操作者的指令和隐藏在用户控制内容中的指令,这是信任边界失效,且是结构性的。传统安全由代码强制信任边界,而在 agent 系统中,部分信任边界由模型的“遵循指令”行为来执行。
缓解建议:严格限定 agent 权限——跨仓库读权限是最高风险配置;绝不让 agent 公开发布用户控制的内容;对进入 agent 指令上下文的用户输入进行消毒或隔离(如同对待 SQL 查询中的用户输入);立即审计你的 Agentic Workflow 配置——检查权限范围和触发事件。
GitHub 已收到报告并负责任地披露,但底层模式并未修复——只是这一特定实例被报告了。
#开发者 #工具 #GitHub #AgenticWorkflows #安全漏洞 #PromptInjection #NomaLabs #CICD
@DevToolboxHub
Loopress 解决 WordPress 开发者体验痛点
WordPress 支撑了超过 40% 的网站,但开发者的日常工作流却与现代软件工程脱节:直接在服务器上编辑文件、从管理面板复制粘贴代码片段、依赖 SSH 安装 Composer 包、靠 FTP 或数据库导出“部署”。没有版本控制,没有 diff,回滚只能靠记忆。这些并非边缘问题,而是 WordPress 开发的日常。
Loopress 是一个工具集,旨在让 WordPress 开发变得可重现、可审查。它提供 CLI 和插件,将代码片段和 Composer 依赖视为文件:
#开发者 #工具 #Loopress #WordPress #PHP #Composer #Git #DX
@DevToolboxHub
WordPress 支撑了超过 40% 的网站,但开发者的日常工作流却与现代软件工程脱节:直接在服务器上编辑文件、从管理面板复制粘贴代码片段、依赖 SSH 安装 Composer 包、靠 FTP 或数据库导出“部署”。没有版本控制,没有 diff,回滚只能靠记忆。这些并非边缘问题,而是 WordPress 开发的日常。
Loopress 是一个工具集,旨在让 WordPress 开发变得可重现、可审查。它提供 CLI 和插件,将代码片段和 Composer 依赖视为文件:
lps snippet pull 拉取片段,在本地用 Git 追踪,lps snippet push 推回站点。同时可在管理面板中直接管理 PHP 依赖,无需 SSH 访问。你的客户仍能按他们习惯的方式使用 WordPress,而你则可以像开发现代项目一样工作。#开发者 #工具 #Loopress #WordPress #PHP #Composer #Git #DX
@DevToolboxHub