Skip to content

fix: narrow get_logs MFA challenge validation to allow factor lifecycle eventType queries - #114

Open
hyperfixate wants to merge 1 commit into
okta:mainfrom
hyperfixate:fix/mfa-challenge-eventtype-validation
Open

fix: narrow get_logs MFA challenge validation to allow factor lifecycle eventType queries#114
hyperfixate wants to merge 1 commit into
okta:mainfrom
hyperfixate:fix/mfa-challenge-eventtype-validation

Conversation

@hyperfixate

Copy link
Copy Markdown

Summary

  • The get_logs tool's eventType-vs-CHALLENGE validation regex blocked any filter mentioning mfa/factor/verify/authentication, which wrongly rejected legitimate MFA factor lifecycle queries (e.g. eventType eq "user.mfa.factor.deactivate" or "user.mfa.factor.reset_all").
  • Narrows the regex to only trigger on filters that are actually about challenge/step-up prompts (which have no dedicated eventType and must use outcome.result eq "CHALLENGE" instead), leaving factor lifecycle eventType queries unaffected.
  • Updates the tool docstring to clearly distinguish MFA challenge queries from MFA factor lifecycle queries, with examples for both.

Test plan

  • uv run pytest — 529 passed
  • Manually verified via regex unit checks that eventType eq "user.mfa.factor.reset_all" / .deactivate / .activate filters are no longer blocked, while eventType eq "...challenge..." / "...step_up..." filters are still correctly rejected in favor of outcome.result eq "CHALLENGE".
  • ruff check — no new lint issues introduced

🤖 Generated with Claude Code

…le eventType queries

The eventType-vs-CHALLENGE validation regex blocked any filter mentioning
mfa/factor/verify/authentication, which wrongly caught legitimate factor
lifecycle queries (e.g. eventType eq "user.mfa.factor.deactivate" for
reset/enroll/deactivate events). Narrow it to only trigger on filters
actually about challenge/step-up prompts, which have no dedicated eventType
and must use outcome.result eq "CHALLENGE" instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant