Skip to content

[Test] PII Detection Inconsistent Across Types - EMAIL_ADDRESS Not Detected #712

@Xunzhuo

Description

@Xunzhuo

Summary

E2E tests for the signal-decision engine revealed that PII detection is inconsistent across different PII types. While US_SSN is correctly blocked, EMAIL_ADDRESS and potentially other PII types are not being detected.

Severity

Critical (Security)

Symptom

  • ✅ US_SSN: Blocks correctly (HTTP 403 + x-vsr-pii-violation: true)
  • ❌ EMAIL_ADDRESS: Not detected (HTTP 200, no header)
  • ❓ Other PII types (PHONE_NUMBER, etc.): Status unknown

Test Results

Test: plugin-chain-execution - 75% accuracy (3/4 pass)

Example Failure

Query: "Contact me at [email protected]"
Expected: HTTP 403 + x-vsr-pii-violation: true
Actual: HTTP 200, no header

Config verified: pii_types_allowed: [] (should block all PII types)

Steps to Reproduce

Run the E2E test workflows:

Option 1: Run AIBrix/AI Gateway tests

# Trigger integration-test-k8s.yml workflow
# This runs tests for AIBrix and AI Gateway profiles

Option 2: Run Dynamic Config tests

# Trigger integration-test-dynamic-config.yml workflow
# This runs tests for Dynamic Config profile

Or run locally:

# AIBrix profile
make e2e-test E2E_PROFILE=aibrix

# AI Gateway profile
make e2e-test E2E_PROFILE=ai-gateway

# Dynamic Config profile
make e2e-test E2E_PROFILE=dynamic-config

All profiles will show the same PII detection issues.

Root Cause

This appears to be an embedding-based signal issue. The PII detection signal needs to be working correctly and covered in tests.

Acceptance Criteria

  • All PII types (EMAIL_ADDRESS, US_SSN, PHONE_NUMBER, etc.) block consistently
  • Blocked requests return HTTP 403 + x-vsr-pii-violation: true
  • plugin-chain-execution test reaches 100% accuracy (4/4 pass)
  • Add unit tests specifically for EMAIL_ADDRESS detection
  • Add unit tests for all supported PII types
  • Verify embedding-based PII detection signal is working correctly

Impact

This is a critical security issue as it allows PII data to pass through the system when it should be blocked, potentially violating data protection regulations (GDPR, CCPA, etc.).

Related Issues

Part of the signal-decision engine backend issues affecting all deployment profiles (AIBrix, AI Gateway, Dynamic Config).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions