分类分类
关注+2026-01-03作者:路西蓝
写作背景
![]()
在正式展开这个故事之前,我需要说明自己在这个事件中的位置。
我是一个旁观者和分析者。在Nofx项目爆火期间,我曾开发过nof0项目——二者灵感均来自nof1。在开发过程中,我与Nofx的核心成员Tinkle和Zack都有过沟通交流,主要围绕技术实现和开源协作展开。
需要明确的是:我与Nofx团队之间仅有技术交流,没有任何商业合作关系;与ChainOpera AI(COAI)团队则无直接接触。在撰写这篇文章时,我尽力保持客观中立的立场,所有分析和判断都基于公开可查的资料,包括GitHub记录、社交媒体发言、安全报告等。
事件时间跨度:
2025年10月底:Nofx项目启动,短短2个月在GitHub获得近9000星
2025年11月:安全漏洞暴露,SlowMist发布安全警告(黑客门)
2025年12月:开源协议争端爆发(开源门),同时团队内部分裂浮出水面(内斗门)
整个事件持续约2个月,却集中暴露了Web3开源运动中的多重矛盾。
写作这篇文章的目的,不是为了站队或指责任何一方,而是希望:
完整记录这一Web3开源运动的典型案例
探讨开源精神与商业利益之间的深层冲突
为行业未来的规范建设提供反思和参考
现在,让我们从头开始梳理这个复杂的故事。
序幕:一个AI交易项目的爆红
2025年10月底,一个名为Nof1的AI自动交易项目在推特引爆。短短数天,它的多个开源版本——包括nof0、nofx等——在GitHub上获得了数千star。其中,Nofx项目从10月底开始开发,到12月已经积累了超过9000个star,成为AI Trading领域最受关注的开源项目之一
然而,仅仅两个月后,这个明星项目陷入三重危机:
黑客门:区块链安全公司SlowMist披露,Nofx存在严重安全漏洞,导致全网1000多个部署实例的用户交易所API密钥、私钥、钱包地址完全暴露。Binance、OKX等主流交易所紧急介入,协助受影响用户更换凭证。
内斗门:项目核心成员Tinkle公开指控另一位联合创始人Zack"仅参与14天、贡献几行代码"却索要50%股权和50万美元。Zack则通过律师发出正式法律文件,指控Tinkle"侵吞资产、利益输送",并提供了显示双方各持50%股权的合伙企业注册文件。
开源门:Nofx公开指控融资1700万美元的ChainOpera AI(COAI)违反AGPL开源协议,在未开源的情况下使用其代码部署商业产品。COAI则反驳称,Nofx在11月3日仍是MIT协议,11月4日才改为AGPL,且其产品使用Python开发,与Nofx的Go实现完全不同。
一个社区热捧的开源项目,为何会在短短两个月内陷入如此复杂的多重危机?这背后暴露了开源社区、创业团队、投资生态的哪些系统性问题?让我们通过五个关键问题,深入剖析这场风波。
问题1:开源协议真的被违反了吗?
MIT与AGPL:两种截然不同的开源哲学
在讨论Nofx与COAI的协议争端之前,我们需要理解两种开源协议的根本差异:
MIT License(麻省理工学院许可证)是最宽松的开源协议之一。它允许:
自由使用、修改、分发代码
用于商业目的无需开源
唯一要求:保留原作者版权声明
AGPL v3.0(GNU Affero通用公共许可证)则是最严格的开源协议之一。它要求:
任何使用该代码的项目必须同样开源
特别地,即使通过网络提供服务(如SaaS),也必须公开源代码
必须在明显位置标注原项目信息
从MIT到AGPL,是从"极度宽松"到"极度严格"的180度转变。这也是本次争议的核心。
协议变更与时间争议
Nofx项目的开源协议从MIT变更为AGPL,但具体变更时间成为争议焦点,这个时间点至关重要,因为它直接决定了ChainOpera(COAI)团队在fork代码时应当遵守的协议。
双方证据对比:
Nofx团队提供了GitHub commit记录,显示协议文件修改时间
COAI团队则指出,根据他们的记录和观察,协议变更的公开时间点存在疑问
ChainOpera的"抄袭"指控
Nofx社区发现融资1700万美元、在Binance Alpha上线的ChainOpera(COAI)项目,其代码与Nofx高度相似。
Nofx方面的指控:
COAI在未标注来源、未公开源码的情况下使用了Nofx的代码
根据当时生效的AGPL协议,COAI应该: 明确标注代码来源 公开修改后的源码 同样采用AGPL协议
COAI方面的回应:
主张自己fork代码时,Nofx仍采用MIT协议
MIT协议允许商业使用且无需公开源码
协议变更时间点的争议影响了整个事件的性质判断
开源协议争端:谁对谁错?
这场争端暴露了Web3开源生态中的深层次问题:
协议变更的有效性问题:
追溯效力争议:开源协议变更是否对已fork的代码有约束力?
时间点认定:协议变更的确切时间难以完全确定,双方各执一词
证据可信度:GitHub记录可能被修改,需要更权威的第三方验证
协议变更传递:MIT变更为AGPL,多大程度向社区传递了这个消息
商业利益的冲突:
COAI获得大额融资并上线Binance,商业价值巨大
Nofx作为开源项目,商业化路径不明确
核心矛盾:开源共享精神与商业利益保护之间的平衡难题
社区观点分化:
支持Nofx者认为,COAI利用开源代码获利却不回馈社区
支持COAI者认为,MIT协议本就允许商业使用,且协议变更时间存疑
中立观察者指出,时间争议是关键,需要更可靠的证据来判断
法律与技术的灰色地带:
开源协议在链上项目中的法律效力尚不明确
GitHub记录的可篡改性削弱了其作为证据的可信度
Web3行业缺乏成熟的开源纠纷解决机制
小结:一场有争议的指控
从目前公开的证据看,Nofx对COAI的开源协议侵权指控存在多处疑点:
时间节点存疑:GitHub证据显示11月4日才改AGPL
技术实现不同:接口命名相同不代表代码相同
日志解释合理:MIT阶段插入的统计功能会持续记录
自身涉嫌违规:未告知用户植入统计,可能违反隐私法案
沟通程序草率:同分钟发邮件和公开指控
值得注意的是,协议变更时间的争议对整个事件性质判断具有决定性影响。如果Nofx的主张成立,COAI确实存在违反AGPL协议的问题;但如果COAI的主张成立,他们的行为则完全符合MIT协议的规定。这个时间点的认定,仍需更权威的第三方验证
问题2:14天能值50%股权吗?
如果说开源门是Nofx与外部的争议,那么内斗门则是这个项目内部矛盾的公开化——一场关于"贡献"与"价值"的创始团队争夺战。
时间线:从加入到对抗
2025年10月28日:Nofx开始开发;
2025年10月29日:Zack加入项目(此时项目刚开源一天);
2025年11月初:Zack提出要50%股权,理由是能介绍Amber Group参与商业化;
2025年11月初:Tinkle拒绝给50%股权,认为自己是团队CEO兼CTO,Zack贡献不足;
2025年11月19日:Zack的律师(君合律师事务所香港办公室)发出正式的"无损权益和解要约"(Without Prejudice Save as to Costs),要求支付50万美元回购Zack持有的50%股权;
2025年12月:矛盾公开化,双方在社交媒体互相指控;
从时间上看,Zack从加入到发律师函,前后不到一个月,这确实很短。
对峙:两份截然不同的证据
Tinkle的叙事:
Zack仅参与14天
贡献了几行代码("可查")
在项目已经开源、有数千TG群成员后才加入
以介绍Amber投资为筹码索要巨额股权
被拒后扣押项目推特账号
通过律师函索要50万美元,涉嫌敲诈勒索
Zack曾是Amber实习生,但未转正已离开
最终未能引入Amber投资
Zack的反击:
提供APEIRON LABS PTE. LTD.的公司注册文件
文件显示:Tinkle和Zack各持50%股权
这是新加坡公司注册系统的公开信息,任何人可验证
律师函是标准的"无损权益和解要约",符合商业法律程序
主体是Demand Letter,详细记录了Tinkle"侵吞资产、利益输送"的行为
50万美元不是敲诈,而是按低估值回购Zack的合法权益
反问:如果公司有价值,按100万美元估值回购50%股权不是很合理吗?如果没价值,那Tinkle为何要说这是"勒索"?
核心矛盾:贡献如何量化?
这场争议的本质是一个古老的创业难题:技术贡献vs资源引荐,哪个更值钱?
从代码贡献角度,Tinkle的说法可能有一定道理。GitHub的commit记录是公开的,如果Zack确实只有少量代码的提交,这在技术圈是容易验证的事实。一个开发了60天的项目,另一个人参与14天,从时间和代码量来说,贡献差距确实巨大。
但从股权角度,Zack拿出了法律文件。APEIRON LABS PTE. LTD.的注册信息显示,双方签署的是50-50的股权分配协议。这意味着:
双方曾经达成过正式的法律协议
协议认可Zack持有50%权益
这不是口头承诺,而是在政府部门登记的法律事实
那么问题来了:为什么Tinkle会同意这样的股权分配?
Amber这张牌到底值多少?
关键变量是Amber Group——或者更准确说,是Amber的生态加速器amber.ac。
Zack的筹码是:他能介绍Amber参与Nofx的商业化。根据Tinkle的说法,Zack曾是Amber的实习生(虽然未转正已离开)。在加密行业,能引入顶级机构的背书和资金,确实是巨大的价值。
但最终的结果是:
Amber没有正式投资Nofx
Amber官方声明:与Nofx"无正式孵化、投资或商业合作关系"
Amber承认:曾有"友好交流",但未导向正式合作
这就产生了两种可能的解释:
解释A(支持Tinkle):Zack夸大了自己的资源能力,用空头支票换取股权,最终没能兑现承诺,却拒不交出股权,通过律师函要挟。
解释B(支持Zack):双方确实达成了股权协议,Zack尽力尝试引入Amber,但因Tinkle方面的问题(可能包括"侵吞资产、利益输送")导致投资未能落地。Zack作为合法股东,有权要求退出并获得补偿。
哪个解释更接近真相?这需要更多内部材料才能判断。
法律程序还是敲诈勒索?
Tinkle在社交媒体上公开Zack的律师函,并称其为"敲诈勒索"。这个指控很严重,因为敲诈勒索是刑事犯罪。
但Zack的回应揭示了法律程序的专业性:
"无损权益和解要约"(Without Prejudice Save as to Costs)是英美法系中的标准法律程序,用于商业纠纷的和解谈判。其特点是:
受法律保护,不能作为诉讼证据(除非涉及诉讼费用)
目的是鼓励双方和平解决争端
提出和解条件不构成勒索
主体是Demand Letter,列明对方的违约或侵权行为
Zack的律师函要求50万美元,但这个金额是基于:
Zack持有公司50%股权的法律事实
按照公司100万美元的保守估值计算
作为回购价格要求Tinkle买断Zack的股权
从法律角度,这是完全合法的和解谈判策略。如果Tinkle真认为这是"敲诈勒索",正确做法是报警,而不是发推文。
Zack的"最后警告"也很有力度:
"如果你们真认为这是勒索,请立即报警。如果没有胆量报警,就请停止这种荒谬的表演。"
被隐藏的指控:侵吞资产与利益输送
在这场公开对峙中,有一个细节值得注意:Zack提到,律师函的主体是一份详尽的Demand Letter,记录了Tinkle"侵吞合伙资产、实施非法手段共谋"的行为。
这份Letter的完整内容并未公开,但这个指控非常严重。如果属实,可能涉及:
挪用公司资金用于私人用途
与投资机构的个人进行利益交换
违反合伙企业的信义义务
Tinkle对这部分指控没有正面回应,只是说"不再回应此事,专注做产品"。
这种回避态度,反而让人好奇:Demand Letter里到底写了什么?
小结:一个无解的难题
创始团队的股权纠纷,在创业圈屡见不鲜。Nofx的案例之所以引发关注,是因为它浓缩了这类纠纷的典型矛盾:
口头承诺vs书面协议:如果没有书面股权协议,贡献如何认定?
技术贡献vs资源引荐:两种价值如何衡量?
期望落空的责任:引资失败是谁的责任?
法律程序vs道德审判:和解谈判是否等于敲诈?
从现有证据看:
Zack有法律文件支持其50%股权
Tinkle有代码贡献记录支持其主导地位
双方都有各自的narrative,但都缺乏完整证据链
最终的答案可能只能由法庭给出。但这个案例给所有创业团队的警示是:
股权分配要趁早、要书面、要明确
贡献量化要有客观标准(代码量、工作时间、资源价值)
重大决策要留存记录
纠纷发生时优先法律途径,而非舆论战
问题3:开源项目为何成为安全重灾区?
Nofx与COAI的协议之争和内部的股权纠纷前,一个更严重的危机也曾悄然发酵:安全漏洞。
2025年11月,区块链安全公司SlowMist发布了一份详细的安全分析报告,揭露了Nofx项目存在的严重安全隐患。这不是一般意义上的"小bug",而是可能导致用户资金全面失窃的重大漏洞。
漏洞时间线:从零认证到默认密钥
2025年10月31日 - Commit 517d0c:零认证的原罪
在这个commit中,Nofx的代码存在一个致命缺陷:
admin_mode默认设为true
中间件允许所有请求无验证通过
/api/exchanges接口完全开放
这意味着什么?任何人只要知道一个部署了Nofx的服务器地址,就可以直接访问/api/exchanges接口,获取:
api_key:用户的交易所API密钥
secret_key:交易所密钥
hyperliquid_wallet_addr:Hyperliquid钱包地址
aster_private_key:Aster平台的私钥
拿到这些信息,攻击者可以:
完全控制用户的交易所账户
进行虚假交易(wash trading)
直接提取资金
操纵市场价格
这是零防护的暴露,是安全设计的基本失误。
2025年11月5日 - Commit be768d9:"加固"的幻觉
可能是意识到了安全问题,Nofx团队在这个commit中添加了JWT(JSON Web Token)认证机制。从表面看,这是一次安全加固。
但问题在于:
默认的jwt_secret没有更改
如果用户没有设置环境变量,系统会回退到硬编码的默认密钥
/api/exchanges仍然以原始JSON格式返回所有敏感字段
这意味着:
攻击者可以使用默认密钥伪造JWT token
一旦获得有效token,所有密钥仍会完整泄露
"加固"版本在实际上仍然脆弱
这就像给一扇门加了一把锁,但钥匙就放在门口的地垫下面,所有人都知道。
2025年11月13日 - Dev分支:持续的隐患
即使到了11月13日,dev分支的代码仍然存在多项问题:
authMiddleware的实现仍有缺陷(api/server.go:1471–1511)
/api/exchanges继续直接返回完整的ExchangeConfig(api/server.go:1009–1021)
配置文件中仍然硬编码admin_mode=true和默认jwt_secret
主分支(origin/main)甚至还停留在10月31日的零认证版本
这不是偶然的疏忽,而是系统性的安全意识缺失。
发现与响应:SlowMist的关键行动
情报来源:安全研究者@Endlessss20向SlowMist提供了Nofx存在安全隐患的初始情报。
深度分析:SlowMist安全团队对Nofx的GitHub代码进行了完整审计,识别出上述两个主要认证问题。
全网扫描:更令人震惊的是,SlowMist进行了互联网范围的扫描,发现了超过1000个公开可访问的Nofx部署实例,其中许多使用默认或脆弱配置,用户凭证完全暴露。
这不是理论上的安全风险,而是正在发生的现实威胁。
紧急协调:鉴于风险的紧迫性,SlowMist立即联系了主流交易所:
向Binance和OKX安全团队提供情报
两家交易所独立进行交叉验证
使用获取的API密钥追踪受影响用户
通知用户并协助轮换密钥
阻止潜在的wash trading攻击
处理进展:截至2025年11月17日,所有中心化交易所(CEX)用户的暴露密钥已经处理完毕。但部分Aster和Hyperliquid用户由于钱包去中心化,难以直接触达,需要用户自查
影响范围:不只是技术问题
这次安全事件的影响远超技术层面:
直接受害者:
使用Nofx进行自动交易的1000 用户
涉及Binance、OKX、Hyperliquid等多个平台
暴露的不只是API密钥,还包括私钥和钱包地址
潜在损失:
如果攻击者在交易所介入前行动,用户资金可能全面失窃
AI自动交易系统的特点是高频、大额,损失可能非常惊人
信任崩塌:
社区对Nofx项目的安全性失去信心
对整个开源AI Trading生态产生质疑
开发者在选择开源项目时更加谨慎
深层追问:为何会出现如此低级的错误?
Nofx的安全漏洞不是高深的技术挑战,而是基本的安全常识:
认证机制应该默认开启,而非默认关闭
默认密钥应该是随机生成的,而非硬编码的
敏感数据应该加密或脱敏,而非明文返回
配置文件应该明确警告安全风险
这些是任何有经验的开发者都应该知道的原则。那么为什么Nofx会犯这些错误?
可能的原因:
快速开发优先:在AI Trading热潮中,抢占先机比安全更重要
团队经验不足:可能缺乏处理用户资金的安全经验
测试环境配置生产化:为了方便测试而关闭认证,结果这个配置进入了生产环境
安全审计缺失:开源项目往往缺乏专业的安全审计
但最根本的原因可能是:开源≠安全。
很多人以为,开源代码意味着"千万双眼睛"在审查,所以更安全。但现实是:
大多数用户只是使用者,不是审查者
即使发现问题,也不一定有能力或意愿提交修复
安全审计需要专业知识和大量时间
商业公司有安全团队,开源项目往往没有
责任边界:开源作者该承担多大责任?
这里引出一个有争议的问题:当用户因为使用开源软件的漏洞而遭受损失,开源作者是否应该承担责任?
从法律角度,大多数开源协议(包括MIT和AGPL)都有免责声明:
"软件按'原样'提供,不提供任何明示或暗示的保证...作者不对任何损害负责。"
但从道义角度,当你知道自己的代码会被用户用于管理真金白银的资产时,是否应该有更高的安全标准?
Nofx的案例特殊之处在于:
这是一个AI自动交易系统,直接涉及用户资金
项目获得了9000 stars,有大量用户使用
漏洞不是隐蔽的高级攻击,而是基本防护的缺失
问题存在数周,期间持续有新用户部署
行业启示:AI Trading的特殊风险
Nofx的安全危机揭示了AI Trading这个领域的特殊风险:
自动化的双刃剑:
AI交易系统设计为7x24小时自动运行
一旦被攻破,攻击者可以快速执行大量交易
用户可能数小时后才发现资产已被转移
开源与安全的矛盾:
开源有助于社区改进和审查
但也让攻击者更容易发现漏洞
在安全修复完成前,漏洞就已经被公开
用户教育的缺失:
很多用户不理解部署AI交易系统的风险玩币用什么平台最好赚钱
直接使用默认配置,不知道要更改密钥
在公网暴露服务,没有基本的安全防护
SlowMist的范本意义玩币用什么平台最好赚钱
在这次事件中,SlowMist的行动值得称赞:
快速响应:接到情报后立即深度分析玩币用什么平台最好赚钱
主动扫描:不等待用户报告,主动发现受影响实例
行业协作:与交易所紧密配合,而非各自为战
公开披露:在处理完紧急情况后发布详细报告,教育社区
明确立场:强调这不是批评,而是风险降低
这种责任披露(Responsible Disclosure)机制,是行业安全的基石
小结:开源不是免死金牌
Nofx的安全漏洞事件告诉我们:
开源项目需要安全审计:即使是快速迭代的项目,也不能跳过安全检查
默认配置要安全优先:方便开发和方便攻击往往是一体两面
用户资金必须特殊对待:涉及金钱的系统,安全是不可妥协的底线
社区需要建立安全响应机制:SlowMist的行动提供了一个好的范例
技术能力≠安全意识:能写出功能代码,不代表能写出安全代码
相关阅读:
https://app.pc6.com/game/2746.html
https://app.pc6.com/game/2721.html
https://app.pc6.com/app/2105.html
https://app.pc6.com/app/2386.html
https://app.pc6.com/app/2275.html
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论