Help us shape the future of Go! Take the 2026 Go Developer Survey

fence

package
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 1 Imported by: 2

Documentation

Overview

Package fence 提示词注入卫生(agent 输入卫生原语)。

两个互补原语:

  • Data:把不可信内容(diff/文件内容/PR 描述/外部工具返回等)包进显式数据区, 并中和内容中出现的围栏标记序列——防止不可信文本伪造"数据区结束"把后续 注入文本抬出数据区、以数据身份获得指令待遇。返回中和次数作注入特征信号, 由调用方留痕/打点(fence 零依赖、零副作用,可观测策略归调用方)。
  • EscapeUntrusted:中和不可信文本自身的 markdown 结构与 HTML 注释边界 (v0.10.9 自 safejson 包迁入——包名与内容不符且与本包同属注入卫生)。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Data

func Data(title, content string) (string, int)

Data 用数据区围栏包裹 content。

返回围栏文本与被中和的标记序列数:n>0 表示内容里出现了围栏标记 (试图伪造数据区边界的注入特征),调用方应计数/告警。 content 为空返回 ("", 0)——空内容不值得围栏,调用方应直接跳过注入。

func EscapeUntrusted

func EscapeUntrusted(s string) string

EscapeUntrusted 中和不可信文本(LLM 产出、用户输入)中的 markdown 结构与 HTML 注释边界,防止攻击者借 diff/PR 描述注入伪造报告标题、列表条目等。 与 Data(数据区围栏)同属本包的注入卫生面:Data 圈住不可信内容的边界、 EscapeUntrusted 中和不可信内容自身的 markdown 语义。 策略:HTML 注释开/闭序列实体化;行首标题/引用/代码围栏/列表标记/水平线/ 表格行/引用定义前插零宽空格;反引号替换为同类引号防打断代码段。 前提:下游渲染器仍需自行 sanitize 裸 HTML(本包不处理 <img>/<script> 等标签)。

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL