homographic_spoofing 0.1.1 โ†’ 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -388,6 +388,16 @@
388
388
  ๐ดท,hanifi_rohingya_digit
389
389
  ๐ดธ,hanifi_rohingya_digit
390
390
  ๐ดน,hanifi_rohingya_digit
391
+ ๐ต€,garay_digit
392
+ ๐ต,garay_digit
393
+ ๐ต‚,garay_digit
394
+ ๐ตƒ,garay_digit
395
+ ๐ต„,garay_digit
396
+ ๐ต…,garay_digit
397
+ ๐ต†,garay_digit
398
+ ๐ต‡,garay_digit
399
+ ๐ตˆ,garay_digit
400
+ ๐ต‰,garay_digit
391
401
  ๐‘ฆ,brahmi_digit
392
402
  ๐‘ง,brahmi_digit
393
403
  ๐‘จ,brahmi_digit
@@ -478,6 +488,26 @@
478
488
  ๐‘›‡,takri_digit
479
489
  ๐‘›ˆ,takri_digit
480
490
  ๐‘›‰,takri_digit
491
+ ๐‘›,myanmar_pao_digit
492
+ ๐‘›‘,myanmar_pao_digit
493
+ ๐‘›’,myanmar_pao_digit
494
+ ๐‘›“,myanmar_pao_digit
495
+ ๐‘›”,myanmar_pao_digit
496
+ ๐‘›•,myanmar_pao_digit
497
+ ๐‘›–,myanmar_pao_digit
498
+ ๐‘›—,myanmar_pao_digit
499
+ ๐‘›˜,myanmar_pao_digit
500
+ ๐‘›™,myanmar_pao_digit
501
+ ๐‘›š,myanmar_eastern_pwo_karen_digit
502
+ ๐‘››,myanmar_eastern_pwo_karen_digit
503
+ ๐‘›œ,myanmar_eastern_pwo_karen_digit
504
+ ๐‘›,myanmar_eastern_pwo_karen_digit
505
+ ๐‘›ž,myanmar_eastern_pwo_karen_digit
506
+ ๐‘›Ÿ,myanmar_eastern_pwo_karen_digit
507
+ ๐‘› ,myanmar_eastern_pwo_karen_digit
508
+ ๐‘›ก,myanmar_eastern_pwo_karen_digit
509
+ ๐‘›ข,myanmar_eastern_pwo_karen_digit
510
+ ๐‘›ฃ,myanmar_eastern_pwo_karen_digit
481
511
  ๐‘œฐ,ahom_digit
482
512
  ๐‘œฑ,ahom_digit
483
513
  ๐‘œฒ,ahom_digit
@@ -508,6 +538,16 @@
508
538
  ๐‘ฅ—,dives_akuru_digit
509
539
  ๐‘ฅ˜,dives_akuru_digit
510
540
  ๐‘ฅ™,dives_akuru_digit
541
+ ๐‘ฏฐ,sunuwar_digit
542
+ ๐‘ฏฑ,sunuwar_digit
543
+ ๐‘ฏฒ,sunuwar_digit
544
+ ๐‘ฏณ,sunuwar_digit
545
+ ๐‘ฏด,sunuwar_digit
546
+ ๐‘ฏต,sunuwar_digit
547
+ ๐‘ฏถ,sunuwar_digit
548
+ ๐‘ฏท,sunuwar_digit
549
+ ๐‘ฏธ,sunuwar_digit
550
+ ๐‘ฏน,sunuwar_digit
511
551
  ๐‘ฑ,bhaiksuki_digit
512
552
  ๐‘ฑ‘,bhaiksuki_digit
513
553
  ๐‘ฑ’,bhaiksuki_digit
@@ -548,6 +588,16 @@
548
588
  ๐‘ฝ—,kawi_digit
549
589
  ๐‘ฝ˜,kawi_digit
550
590
  ๐‘ฝ™,kawi_digit
591
+ ๐–„ฐ,gurung_khema_digit
592
+ ๐–„ฑ,gurung_khema_digit
593
+ ๐–„ฒ,gurung_khema_digit
594
+ ๐–„ณ,gurung_khema_digit
595
+ ๐–„ด,gurung_khema_digit
596
+ ๐–„ต,gurung_khema_digit
597
+ ๐–„ถ,gurung_khema_digit
598
+ ๐–„ท,gurung_khema_digit
599
+ ๐–„ธ,gurung_khema_digit
600
+ ๐–„น,gurung_khema_digit
551
601
  ๐–ฉ ,mro_digit
552
602
  ๐–ฉก,mro_digit
553
603
  ๐–ฉข,mro_digit
@@ -578,6 +628,26 @@
578
628
  ๐–ญ—,pahawh_hmong_digit
579
629
  ๐–ญ˜,pahawh_hmong_digit
580
630
  ๐–ญ™,pahawh_hmong_digit
631
+ ๐–ตฐ,kirat_rai_digit
632
+ ๐–ตฑ,kirat_rai_digit
633
+ ๐–ตฒ,kirat_rai_digit
634
+ ๐–ตณ,kirat_rai_digit
635
+ ๐–ตด,kirat_rai_digit
636
+ ๐–ตต,kirat_rai_digit
637
+ ๐–ตถ,kirat_rai_digit
638
+ ๐–ตท,kirat_rai_digit
639
+ ๐–ตธ,kirat_rai_digit
640
+ ๐–ตน,kirat_rai_digit
641
+ ๐œณฐ,outlined_digit
642
+ ๐œณฑ,outlined_digit
643
+ ๐œณฒ,outlined_digit
644
+ ๐œณณ,outlined_digit
645
+ ๐œณด,outlined_digit
646
+ ๐œณต,outlined_digit
647
+ ๐œณถ,outlined_digit
648
+ ๐œณท,outlined_digit
649
+ ๐œณธ,outlined_digit
650
+ ๐œณน,outlined_digit
581
651
  ๐ŸŽ,mathematical_bold_digit
582
652
  ๐Ÿ,mathematical_bold_digit
583
653
  ๐Ÿ,mathematical_bold_digit
@@ -658,6 +728,16 @@
658
728
  ๐ž“ท,nag_mundari_digit
659
729
  ๐ž“ธ,nag_mundari_digit
660
730
  ๐ž“น,nag_mundari_digit
731
+ ๐ž—ฑ,ol_onal_digit
732
+ ๐ž—ฒ,ol_onal_digit
733
+ ๐ž—ณ,ol_onal_digit
734
+ ๐ž—ด,ol_onal_digit
735
+ ๐ž—ต,ol_onal_digit
736
+ ๐ž—ถ,ol_onal_digit
737
+ ๐ž—ท,ol_onal_digit
738
+ ๐ž—ธ,ol_onal_digit
739
+ ๐ž—น,ol_onal_digit
740
+ ๐ž—บ,ol_onal_digit
661
741
  ๐žฅ,adlam_digit
662
742
  ๐žฅ‘,adlam_digit
663
743
  ๐žฅ’,adlam_digit
@@ -2,7 +2,7 @@
2
2
  class HomographicSpoofing::Detector::Rule::DisallowedCharacters < HomographicSpoofing::Detector::Rule::Base
3
3
  class << self
4
4
  # See http://kb.mozillazine.org/Network.IDN.blacklist_chars
5
- MOZZILLA_DISALLOWED_CHARACTERS = Set[
5
+ MOZILLA_DISALLOWED_CHARACTERS = Set[
6
6
  "\u0020", # Space
7
7
  "\u00a0", # No-break space
8
8
  "\u00bc", # Vulgar fraction one quarter
@@ -124,11 +124,11 @@ class HomographicSpoofing::Detector::Rule::DisallowedCharacters < HomographicSpo
124
124
  ]
125
125
 
126
126
  def allowed_chars_set
127
- @@allowed_chars_set ||= (read_allowed_idn_chars.chars.to_set - MOZZILLA_DISALLOWED_CHARACTERS)
127
+ @@allowed_chars_set ||= (read_allowed_idn_chars.chars.to_set - MOZILLA_DISALLOWED_CHARACTERS)
128
128
  end
129
129
 
130
130
  private
131
- # Built with script/development/generate_allowed_idn_characters.rb
131
+ # Built with bin/generate_allowed_idn_characters
132
132
  def read_allowed_idn_chars
133
133
  File.read("#{__dir__}/data/allowed_idn_characters.txt")
134
134
  end
@@ -23,7 +23,7 @@ class HomographicSpoofing::Detector::Rule::MixedDigits < HomographicSpoofing::De
23
23
  end
24
24
  end
25
25
 
26
- # Built with script/development/generate_digits_characters.rb
26
+ # Built with bin/generate_digits_characters
27
27
  def read_digits
28
28
  File.read("#{__dir__}/data/digits.csv")
29
29
  end
@@ -1,3 +1,3 @@
1
1
  module HomographicSpoofing
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: homographic_spoofing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacopo Beschi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-20 00:00:00.000000000 Z
11
+ date: 2025-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: csv
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.3'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.3'
97
111
  description:
98
112
  email:
99
113
  - jacopo@37signals.com
@@ -160,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
174
  - !ruby/object:Gem::Version
161
175
  version: '0'
162
176
  requirements: []
163
- rubygems_version: 3.5.3
177
+ rubygems_version: 3.5.22
164
178
  signing_key:
165
179
  specification_version: 4
166
180
  summary: A toolkit to both detect and sanitize homographic spoofing attacks in URLs