SuperAPI AI 工具集

netra-pii-and-input-guardrails

安全与审计

查看项目

更新于 10-16 07:06

技能介绍

用途

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 对用户输入进行扫描。
  • 阻断机制:当扫描结果存在违规时,可快速失败并以安全错误响应终止请求;被阻断的请求不会继续向下游发送。
  • 遮蔽下游传递:在允许继续的情况下,向下游发送经过遮蔽的内容。
  • 安全元数据记录:记录安全相关元数据,但不存储秘密值本身。

使用方式

资料给出的流程如下:

  1. 选择 PII 检测器(get_default_detector 或 RegexPIIDetector)。
  2. 根据策略设置动作类型(MASK 用于安全继续较为常见)。
  3. 在处理之前用 InputScanner 扫描用户输入。
  4. 遇到被阻断的违规时停止请求。
  5. 在允许的情况下,将遮蔽后的内容发送到下游。

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

限制

本资料未提供该技能的收费方式、价格、支持的平台范围、性能指标以及除示例外的更多配置选项,这些信息暂未提供。