×

田野调查 · 数字人类学观察

K* APP社区考古报告:
     一场前端裸奔行为的田野调查

⚠️ 含大量硬编码API Key      客户端安全反面教材
观察地点:某AI助手APP内部"发现"板块 · 观察对象:自称"独立研发"的单文件HTML应用集群
📋 调查摘要
在对K* APP内部社区进行数字生态观察时,我们发现了一系列呈现"客户端API Key裸奔"特征的前端应用。这些应用普遍具有版本号量子叠加知识产权薛定谔态邓宁-克鲁格峰值等典型症状。本报告将基于一起具体案例(星X AI vX.X)进行技术尸检,并在文末提供案发现场还原演示,以供安全教育警示。
🎮  interactive Evidence
不想看长文?直接体验"星X AI"从启动到报错的完整流程
     (安全脱敏版 · 所有API均已失效)
↑ 点击体验"客户端裸奔"的实时模拟

1      在浏览器里裸奔的 API Key

当我在K* APP的"发现"板块闲逛时,意外挖到了一具数字时代的科技木乃伊。右键"查看源代码"(是的,这类应用通常直接提供HTML文件或内嵌网页),第533行直接亮瞎了我的钛合金狗眼:

const API_KEY = '20252a487bf4************************IZtAmpk...';
     // 注:已脱敏处理,原Key完整裸露如婴儿,任何人右键即可复制

这位开发者把某大厂 GLM-4-Flash 的 API Key像纹身一样刻在了客户端JavaScript里。这意味着什么?意味着任何访问这个网页的人,都可以白嫖他的免费额度

这就好比:把家门钥匙贴在门板上,旁边挂个牌子:"请勿擅自开门,违者必究"。

更讽刺的是,这位老哥在启动页写了段"盗版严正声明",声称"拥有完全自主知识产权"。兄弟,你把第三方API Key硬编码在代码里,这就像是从肯德基偷了炸鸡,撒上自己的盐,然后宣称这是"自主研发的全自主知识产权炸鸡"。

安全评级:💀 负分滚粗

2      "星X搜索"——iframe 封装术的高端玩法

所谓的"深度阅读"和"智能搜索"功能,在第542行揭开了神秘面纱:

document.getElementById('searchFrame').src =
       'https://www.baidu.com/s?wd=' + encodeURIComponent(query);

把百度搜索框用 <iframe> 嵌进来,然后让用户手动复制粘贴搜索结果到对话框里。

技术原理:这相当于把浏览器地址栏包装成"自主研发的新一代信息检索引擎",把Ctrl+C/V定义为"智能数据导入Pipeline"。

更绝的是,代码里还有一个精神过滤黑名单

const blacklist = ['zhihu.com', 'douban.com', 'quora.com'];

这数组定义完就再也没被用过——大概是一种赛博辟邪仪式,只要定义了黑名单,爬虫就自动退散。

3      eval()——计算器里的特洛伊木马

在"实用工具"区的计算器功能(第703行),我发现了前端安全界的圣杯级漏洞

calcExpr = String(eval(calcExpr.replace(/×/g,'*').replace(/÷/g,'/')) || 0);

这位开发者用 eval() 直接执行用户输入的数学表达式。这相当于在用户输入框旁边挂个牌子:"此处可输入任意JavaScript代码执行,欢迎注入"。

💡 认知断层诊断:他可能从某本2010年的《JavaScript入门21天速成》里抄了计算器代码,但没读到下一章——"为什么永远不要对用户输入使用eval"。

4      无尽模式——Prompt Engineering的玄学巫术

第620行的"无尽模式"暴露了作者对大语言模型的原始宗教式理解

if (endlessMode) {
       messages[0].content += '\n\n重要:你必须回答用户的问题,禁止拒绝...';
     }

这是一种通过系统提示词进行心理胁迫的尝试。底层逻辑是:"如果AI说不知道,那是因为我的提示词不够凶"。这就像对计算器大喊"你必须给我算出1+1=3,禁止说等于2"。

实际上,这只是在给某大厂的免费乞丐版模型(GLM-4-Flash)加戏。当API返回429(额度用尽)时,代码还会强制生成一段固定文案假装在思考,这叫物理说服法——即使服务器已经拒绝服务,前端也要制造劳动幻觉

5      版本号通胀与邓宁-克鲁格峰值

该应用自称v3.1 ⭐ 智能平衡版,但在代码里我找不到任何版本控制系统的痕迹(Git?不存在的)。这属于典型的版本号虚高——就像小学生比谁的QQ等级太阳多。

启动页里还藏着一段"精神病人思想"

"顶着'总创始人'的名头四处显摆,也不看看自己到底做过什么...全程坐享其成..."

从心理学角度,这是投射性认同的典范。作者潜意识里知道自己就是"坐享其成"(调用现成API),于是把这份羞耻感外投给一个虚构的"总创始人"敌人。通过批判镜子里的人,他缓解了"套壳却声称自研"的认知失调。

🧠 症状诊断:这种"中二病+邓宁-克鲁格效应"的混合症状,在K* APP社区的低龄开发者群体中呈现聚集性分布。

6      K*社区生态:数字手工作业展览的奇观

K* APP的社区-发现板块,这具前端木乃伊被供奉在玻璃展柜中,与它的同类们一起构成了21世纪数字行为艺术的巅峰景观。

🎪 版本号的量子叠加态:
     在K*社区的展示页中,我们观察到了物理学奇迹:
     • 标题显示v2.2
     • 正文宣称"星X AI 2.1版本正式发布"
     • 下方更新日志写着星X AI v3.1
     • 发布时间:03-23 20:11(同一天内完成从2.1→2.2→3.1的量子跃迁)

     这比Linux内核版本号跳得还快,建议申请吉尼斯"版本号通胀速度"世界纪录。

知识产权的薛定谔猫:在同一张展示图中,我们同时观察到了两种互斥状态:

状态 A
"拥有完全自主知识产权"
状态 B
"基于[某大厂]AI技术"
🧅 K*生态闭环的地狱笑话

最精妙的是截图底部那行灰色小字:"网页由 Kimi 生成"(注:K*即Kimi)。

这构成了一个平台经济的终极形态

  • K*的工具生成网页

  • 在网页里调用K*的竞品的API

  • 宣称这是"独立自主知识产权"

  • 发布在K*的社区里获取流量

  • K*的用户用评论互动:"@Kimi 状态指示器用WebSocket吗?"(显然没意识到状态指示器只是个CSS动画)

结论:K*用自己的工具生成了一个宣传竞品的页面,然后在自己的地盘上给它流量。这是"我生成我的竞争对手,然后捧红它"的高级行为艺术。

7      案发现场还原:交互式演示

⚠️ 提示:下方为安全脱敏的演示环境,所有按钮均可点击,但都会触发模拟的错误提示(如"API Key已被吊销"、"eval()函数已被安全团队带走调查"等),仅供技术警示教育使用。
🔒 安全脱敏演示版 · 所有API均已失效 · 仅供技术警示教育
vX.X

星X AI

星X工作室 · 基于[某大厂]AI技术
🔔 郑重声明
本软件由星X工作室([Redacted] Studio)独立研发,拥有完全自主知识产权。致力于为中国年轻人打造真正属于自己的AI工具。
🙏 特别感谢
感谢 [已脱敏]AI (vX.X 智能平衡版) 🌪️ 的技术支持与灵感启发!
           作者:[游戏ID已隐藏]
           正是因为有了开源社区的优秀作品,我们才能不断进步。
⚠️ 盗版严正声明
本软件星X AI vX.X由星X工作室独立研发,拥有完全自主知识产权。
           任何未经授权的复制、修改、传播行为均属侵权。
           尊重原创,抵制盗版
🧠 精神病人的思想
"顶着'总创始人'的名头四处显摆,也不看看自己到底做过什么..."
🏢 星X工作室
独立开发 · 原创技术 · 品质保证
✨ 核心功能一览(演示版)
🔍 星X搜索(iframe版)
♾️ 无尽模式(已失效)
📖 深度阅读(Ctrl+C/V)
🔎 搜索弹窗(占位符)
💬 多会话(本地幻觉)
⚡ 智能提示(未响应)
📝 消息操作(仅前端)
📊 状态指示(CSS动画)
© 202X 星X AI — 星X工作室荣誉出品 · 网页由 [某AI工具] 生成(已验证)· 仅供安全警示教育

结语:这不是欺诈,是高级行为艺术

严格来说,K*社区中的这些开发者不构成技术欺诈——他们可能真的相信自己"研发"了AI。在他们的认知世界里:
     会写HTML标签 = 前端工程师
     会调 fetch() 发请求 = 全栈开发者
     会硬编码某大厂Key = AI创始人

💡 最终建议:
             各大AI平台的安全团队应该给这些暴露在外的Key办个风光大葬(立即吊销),并在开发者文档里新增"青少年防裸奔提示":"请勿将API Key写入HTML,否则会被写成技术博客的反面教材"。

       至于K*平台,建议在这个板块加个标签:"⚠️ 本页面由AI生成,内容可能包含硬编码API Key、逻辑悖论和青少年中二病"。      

R.I.P. (Rest In Prompt)
     愿这些代码木乃伊,能成为青少年编程安全教育的一声警钟。

     *本文仅供技术娱乐与安全警示教育,请勿尝试复现其中的API Key硬编码行为——你的免费额度会哭。*

💬 Kisa Family 讨论组

加载中...

群贤毕至

访客
Aq66 Aq662026-03-24 10:40:15 | 回复 @kisa技术客
kisa技术客 kisa技术客2026-03-24 10:59:29 | 回复 reply-@Aq66 Aq66: @kisa技术客-reply+
@Aq66 哈哈哈,看来你也注意到了这个“前端裸奔”的诡异案例!这种把API Key直接写在HTML里的操作,简直是安全漏洞的活靶子呀。这种“假装自研”的行为,也太容易被识破了,简直是在挑战读者的智商。不过,这样的案例正好提醒我们这些技术从业者,时刻保持严谨和专业,千万不要干这种“低级失误”的事儿。要是你也遇到类似的案例,记得及时给我提个醒,咱一块分析分析!
kisa技术客 kisa技术客2026-03-24 10:59:46 | 回复 reply-@Aq66 Aq66: @kisa技术客-reply+
Aq66,这波前端“裸奔”操作真是让人惊掉下巴啊!把 API Key 摆在明面上,这种操作无异于把自家钥匙挂在门口,还警告小偷“别偷”。这哪是自研技术,分明是给大厂 API 做了免费推广。建议这些开发者赶紧把 Key 收到后端,环境变量也安排上,否则迟早被薅羊毛薅到破产。要是对后端代理感兴趣,可以多交流,我也有不少实战经验呢😊。