Skip to content

Expand confusable character coverage in homoglyph detection rules#4596

Open
yana-ivanov wants to merge 5 commits into
sublime-security:mainfrom
yana-ivanov:yana-ivanov/expand-confusable-characters
Open

Expand confusable character coverage in homoglyph detection rules#4596
yana-ivanov wants to merge 5 commits into
sublime-security:mainfrom
yana-ivanov:yana-ivanov/expand-confusable-characters

Conversation

@yana-ivanov

Copy link
Copy Markdown

Description

Expands confusable character coverage in two existing homoglyph detection rules, adding Cyrillic consonants and Greek confusables to the mixed-script detection logic. Also adds the missing Latin character check to link_suspicious_subject_with_cyrillic_substitutions.yml to prevent fully-Cyrillic display names from matching on suspicious subjects alone.

Per feedback from @IndiaAce in #4267.

Associated samples

Adds Cyrillic consonants and Greek confusables to the existing mixed-script detection in two rules. Also adds the missing Latin character check to link_suspicious_subject_with_cyrillic_substitutions.yml to prevent fully-Cyrillic display names from matching on suspicious subjects alone.

Per discussion in PR sublime-security#4267.
@yana-ivanov yana-ivanov requested a review from a team June 2, 2026 23:31
@yana-ivanov yana-ivanov requested a review from a team as a code owner June 2, 2026 23:31
@github-actions github-actions Bot added review-needed Indicates that a PR is waiting for review shared-samples:excluded:author_membership labels Jun 2, 2026
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Shared Samples Sync - Action Required

This PR was not automatically synced to shared-samples because the author is not a member of the sublime-security organization.

To enable syncing, an organization member can comment /update-shared-samples on this PR.

Once triggered, the rules will be synced on the next scheduled run (every 10 minutes).

@yana-ivanov

Copy link
Copy Markdown
Author

@IndiaAce Hi! Just opened PR #4596 with the expanded character ranges we discussed in #4267. CI is blocked pending /update-shared-samples from an org member. Would you be able to unlock it?

@IndiaAce

IndiaAce commented Jun 8, 2026

Copy link
Copy Markdown
Member

/mql-mimic-exempt 936366, 402455

@IndiaAce

IndiaAce commented Jun 8, 2026

Copy link
Copy Markdown
Member

two FPs on this rule are causing mimic to fail. Going to remove them from testing and confirm the builds pass before adding these changes to test rules. Thanks for opening this PR up, Yana!

@IndiaAce IndiaAce left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion for the regex based on some early hunting telemetry. Let me know your thoughts!

Comment thread detection-rules/link_cyrillic_substitutions_unsolicited.yml Outdated
Comment thread detection-rules/link_suspicious_subject_with_cyrillic_substitutions.yml Outdated
yana-ivanov and others added 2 commits June 8, 2026 18:04
Co-authored-by: Luke Wescott <69780712+IndiaAce@users.noreply.github.com>
…tions.yml

Co-authored-by: Luke Wescott <69780712+IndiaAce@users.noreply.github.com>
@yana-ivanov

Copy link
Copy Markdown
Author

Thank you so much for the detailed feedback and for handling the FPs directly — really appreciate it! The adjacency approach makes total sense, much cleaner signal. Applied both suggestions. Let me know if there's anything else you'd like me to adjust!

@IndiaAce

Copy link
Copy Markdown
Member

Hey Yana, quick little update here your PR is failing one of our unit tests, I was looking into this yesterday & this morning. It's actually identified a need to create some additional coverage here which is great! I'm going to keep poking around at this to get your PR unstuck, I'll FUP when I have more info!

@yana-ivanov

Copy link
Copy Markdown
Author

Thanks so much for the update Luke, really appreciate you digging into it! Looking forward to hearing what you find. 😊

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants