Files
FastGPT/document
Archer 91a130307d fix: SSRF vulnerability in HTTP Tool (GHSA-6g6x-8hq5-9cw4) (#6546)
* fix: SSRF vulnerability in HTTP Tool (GHSA-6g6x-8hq5-9cw4)

修复 HTTP Tool 中的 SSRF 漏洞,防止攻击者访问内部网络资源。

主要变更:
1. 在 runHTTPTool 函数中添加 isInternalAddress 验证
2. 修改 CHECK_INTERNAL_IP 默认行为为启用(安全优先)
3. 添加全面的单元测试验证修复

安全改进:
- 阻止访问 AWS/GCP/Azure 等云服务商元数据端点
- 阻止访问 Kubernetes 服务端点
- 阻止访问私有 IP 范围 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- 阻止访问 localhost 和 127.0.0.1
- 阻止访问 link-local 地址 (169.254.0.0/16)

破坏性变更:
- CHECK_INTERNAL_IP 环境变量默认值从 false 改为 true
- 需要访问内部服务的用户需要显式设置 CHECK_INTERNAL_IP=false(不推荐)

测试:
- 添加 23 个测试用例覆盖各种 SSRF 攻击场景
- 所有测试通过

相关问题:
- Fixes GHSA-6g6x-8hq5-9cw4
- CWE-918: Server-Side Request Forgery

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: update isInternalAddress tests for new default behavior

更新测试以反映 CHECK_INTERNAL_IP 的新默认行为(默认启用安全检查)。

变更:
- 修改默认行为测试:现在默认阻止私有 IP 地址
- 添加 CHECK_INTERNAL_IP=false 测试组:测试向后兼容模式
- 所有 62 个测试通过

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* doc

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:15:29 +08:00
..
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2025-08-04 22:07:52 +08:00
2025-07-23 23:27:37 +08:00
2025-08-04 22:07:52 +08:00
2025-07-24 10:39:41 +08:00
2025-07-24 10:39:41 +08:00
2025-07-24 13:10:25 +08:00
2026-03-03 17:39:47 +08:00
2025-11-05 17:05:58 +08:00
2026-03-03 17:39:47 +08:00
2025-07-23 21:35:03 +08:00
2026-03-03 17:39:47 +08:00
2025-11-05 17:05:58 +08:00
2025-07-24 13:00:27 +08:00

FastGPT 文档

这是FastGPT的官方文档,采用 fumadoc 框架。

运行项目

要运行文档,首先需要进行环境变量配置,在文档的根目录下创建.env.local文件,填写以下环境变量:

FASTGPT_HOME_DOMAIN =    #要跳转的FastGPT项目的域名,默认海外版

你可以在FastGPT项目根目录下执行以下命令来运行文档。

npm install # 只能 npm install,不能 pnpm
npm run dev

项目会默认跑在http:localhost:3000端口

书写文档

文档采用mdx格式,大体和md一致,但是现在文档的元数据只支持title descriptionicon三个字段,参考以下示例代码:

---
title: FastGPT 文档
description: FastGPT 官方文档
icon: menu #icon采用`lucide-react`第三方库。
---

import { Alert } from '@/components/docs/Alert'; #高亮块组件

<Alert icon="🤖" context="success">
快速开始体验
- 海外版:[https://fastgpt.io](https://fastgpt.io)
- 中国大陆:[https://fastgpt.cn](https://fastgpt.cn)
</Alert>

import {Redirect} from '@/components/docs/Redirect' #重定向组件,如果你希望用户点击这个文件跳转到别的文件的话,详情参考 `FAQ`的`Docker 部署问题`文档。

<Redirect to="/docs/self-host/deploy/docker/#faq" />

<Tabs items={['Javascript', 'Rust']}> #tabs组件用法,渲染效果参考`introduction`下`development`的`faq`文档
  <Tab value="Javascript">Javascript is weird</Tab>
  <Tab value="Rust">Rust is fast</Tab>


import FastGPTLink from '@/components/docs/linkFastGPT'; #FastGPT跳转链接组件,通过接收一个域名环境变量,来实现跳转到海外或者国内

本文档介绍了如何设置开发环境以构建和测试 <FastGPTLink>FastGPT</FastGPTLink>。
</Tabs>

在书写完文档后,需要在对应的目录下的meta.json文件的pages字段合适位置添加自己的文件名。例如在content/docs(默认这是所有文档的根目录)的introduction目录下书写了一个hello.mdx文件。则需要去introduction目录下的meta.json添加以下内容:

{
  "title": "FastGPT Docs",
  "root": true,
  "pages": ["[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)","index","guide","development","FAQ","shopping_cart","community","hello"], #"hello"原本没有,此外,这里的顺序就是最后文档的展示顺序,现在"hello"文档将会在`introduction`的最后展示
  "order": 1
}

i18n

content/docs下的所有.mdx文件为默认语言文件(当前默认语言中文),.en.mdx文件为i18n支持的英文文件,例如,你可以将hello.mdx文档翻译后,写一个hello.en.mdx,同时,在对应目录的meta.en.json"pages"字段写下对应的文件名来支持英文文档。

特殊配置

增加顶层导航栏

  1. FastGPT/document/app/[lang]/docs/layout.tsx 文件中新增导航。

重定向

FastGPT/document/components/docs/not-found.tsx文件中新增重定向规则。