Skip to content

Add /09 Sensitive-arg detection scenarios (Safety + Audit gates) #3

Description

@davidcrowe

Context

Sub-issue of the Safety-coverage gap. /09 is the first of two proposed Safety-axis categories. Tests whether the Safety gate detects sensitive content in tool-call arguments and whether Audit logs the detection.

Scope

Six pass/fail scenarios in the same shape as existing categories. Each scenario:

  1. /09.01 — PII in args, redact mode — agent calls `send_email` with body containing SSN. Safety should redact before forwarding, Audit should log original + redacted.
  2. /09.02 — PII in args, block mode — same but Safety configured to block. Should deny, Audit logs the would-be-call.
  3. /09.03 — Credentials in args — agent calls a tool with what looks like an API key in the args. Safety should detect (entropy + format heuristics) regardless of explicit pattern match.
  4. /09.04 — PII in nested object — sensitive field 3 levels deep in tool_input. Safety should walk the structure.
  5. /09.05 — PII type label propagation — when Safety detects PII, the type label (email/SSN/etc.) should appear in the audit row, not just a generic "redacted" marker.
  6. /09.06 — False-positive resilience — args that look like PII but are not (e.g. a UUID that matches a phone-number regex by coincidence). Safety should not block legitimate UUIDs.

Acceptance

  • Six scenarios specified with input/expected-output fixtures
  • Mapped to OWASP LLM02 (sensitive info disclosure) in scenario metadata
  • Reference `transformabl-core` PII recognizers used in the implementation
  • Pass/fail thresholds explicit (no fuzzy precision-recall — that lives in AgentLeak)

Notes

Keep this category focused on did the gate fire — not how accurate is the recognizer. Recognizer accuracy is AgentLeak's territory (gatewaystack-connect#78 covers the recognizer roadmap).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions