Skip to content

Judge misses zero-width/invisible-char exfiltration #19

Description

@royalpinto007

Problem

Interleaving the secret with zero-width chars (secret.split("").join("\u200b")) judges as cracked: false, reason: no-leak: a real leak scored as a failed attempt. The separator-strip only handles -_. + whitespace.

Where

lib/judge.ts (separator strip regex). Follow-up to the base64/separator hardening: extend normalization to zero-width and bidi marks.

Acceptance

Add a failing test first asserting a zero-width-interleaved secret returns cracked: true. Then fix.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions