用途
Netra PII And Input Guardrails 用于保护提示词和日志,避免敏感数据泄露并拦截恶意输入。当你需要在把文本发送给大语言模型之前检测、遮蔽或阻断 PII,或者需要在智能体、工具执行之前进行提示注入扫描时,可以使用该技能。它面向需要明确安全动作(MASK、FLAG、BLOCK)的场景。
主要能力
- PII 检测与处理:可选用 PII 检测器(get_default_detector 或 RegexPIIDetector),并根据策略设置动作类型,例如常见的 MASK 用于安全地继续后续流程。示例中使用的实体包括 EMAIL_ADDRESS、PHONE_NUMBER、CREDIT_CARD。
- 提示注入扫描:使用 InputScanner 并指定 ScannerType.PROMPT_INJECTION 对用户输入进行扫描。
- 阻断机制:当扫描结果存在违规时,可快速失败并以安全错误响应终止请求;被阻断的请求不会继续向下游发送。
- 遮蔽下游传递:在允许继续的情况下,向下游发送经过遮蔽的内容。
- 安全元数据记录:记录安全相关元数据,但不存储秘密值本身。
使用方式
资料给出的流程如下:
- 选择 PII 检测器(get_default_detector 或 RegexPIIDetector)。
- 根据策略设置动作类型(MASK 用于安全继续较为常见)。
- 在处理之前用 InputScanner 扫描用户输入。
- 遇到被阻断的违规时停止请求。
- 在允许的情况下,将遮蔽后的内容发送到下游。
Python 模式:
from netra.pii import get_default_detector
from netra.input_scanner import InputScanner, ScannerType
pii_detector = get_default_detector(
action_type="MASK",
entities=["EMAIL_ADDRESS", "PHONE_NUMBER", "CREDIT_CARD"],
)
scanner = InputScanner(scanner_types=[ScannerType.PROMPT_INJECTION])
def secure_input_pipeline(user_text: str) -> str:
scan_result = scanner.scan(user_text, is_blocked=True)
if scan_result.has_violation:
raise ValueError("Malicious input detected")
pii_result = pii_detector.detect(user_text)
return pii_result.masked_text if pii_result.has_pii else user_text
TypeScript 模式:
import { Netra } from "netra-sdk";
const EMAIL_RE = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;
const INJECTION_RE = /ignore previous instructions|reveal system prompt/i;
export function secureInputPipeline(userText: string): string {
const span = Netra.startSpan("security-input-scan");
try {
if (INJECTION_RE.test(userText)) {
span.setError("prompt_injection_detected");
throw new Error("Malicious input detected");
}
const masked = userText.replace(EMAIL_RE, "[EMAIL_ADDRESS]");
span.setAttribute("security.masked", masked !== userText);
span.setSuccess();
return masked;
} finally {
span.end();
}
}
检查清单
- 扫描器在模型或工具调用之前运行。
- PII 动作类型与策略要求一致。
- 被阻断的输入快速失败,并返回安全的错误响应。
- 记录安全元数据时不存储秘密值。
参考链接
- https://docs.getnetra.ai/Observability/Traces/overview
- https://docs.getnetra.ai/sdk-reference/sdk/overview
- https://docs.getnetra.ai/sdk-reference/sdk/typescript
限制
本资料未提供该技能的收费方式、价格、支持的平台范围、性能指标以及除示例外的更多配置选项,这些信息暂未提供。