Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
••••••••
Sichere ProgrammierungI built a tool that makes images bigger, not smaller – here's why(25.09.2026 um 05:56 Uhr)
••••••••••
Sichere ProgrammierungI built a tool that makes images bigger, not smaller – here's why(25.09.2026 um 05:56 Uhr)
••
Intelligence View
⚡ tsecurity.de Intelligence

New Release: turkish_id v1.7.0

This version of turkish_id adds support for querying the government registry for blue card holders. Read more on RubyDoc: #foreigner_registered? Turkish ID 🔖 This gem provides methods to validate Turkish Identification Nu…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

This version of turkish_id adds support for querying the government registry for blue card holders. Read more on RubyDoc: #foreigner_registered?







Turkish ID 🔖



This gem provides methods to validate Turkish Identification Numbers.






Installation



Add this line to your application's Gemfile:




gem 'turkish_id'






And then execute:




$ bundle




Or install it yourself as:




$ gem install turkish_id






Usage





Validating ID Numbers



Create a new instance:



identity_number = TurkishId.new(10000000146)






Use valid? method to check validity:




identity_number.valid?  #=> true









Querying the Government Registry



Create a new instance:




identity_number = TurkishId.new(10000000146)






Use registered? method to query the government registry:




identity_number.registered?("Ahmet", "Yılmaz", 1987)  #=> false






There is also a convenience method called not_in_registry? which is the logical equivalent of !registered?.



Use foreigner_registered? method to query the foreigner registry:




identity_number.foreigner_registered?("Yukihiro", "Matsumoto", 14, 4, 1965)  #=> false






There is also a convenience method called foreigner_not_in_registry? which is the logical equivalent of !foreigner_registered?.






Generating Relatives



You can generate ID numbers for your younger or elder relatives.




me = TurkishId.new(10000000146)






Calling younger_relative or elder_relative will return an Enumerable class.




me.elder_relative  #=> #<Enumerator:0x00007f9e629032d0>






You can perform standard Enumerable operations on it.




me.elder_relative.first  #=> 10003000082









3.times do
puts me.elder_relative.next
end

#=> 10035998982
#=> 10005999902
#=> 10008999848









me.elder_relative.take(5)  #=> [10003000082, 10005999902, 10008999848, 10011999774, 10014999610]






And so on.






CLI (Command Line Interface)



You can use the CLI for quick lookups:




$ turkish_id 10000000078  #=> true






The executable terminates with a proper exit status:




$ turkish_id 10000000078  #=> true
$ echo $? #=> 0
$ turkish_id 10000000079 #=> false
$ echo $? #=> 1






Run turkish_id --help to learn more:




Usage
turkish_id ID_NUMBER [GIVEN_NAME SURNAME YEAR_OF_BIRTH]

Description
turkish_id validates Turkish identity numbers.
Only providing ID_NUMBER performs numerical validation (offline).
Providing all arguments will query government registry (online).

Examples
turkish_id 10000000078
turkish_id 10000000146 Ahmet Yılmaz 1984
turkish_id 10005999902 "Ayşe Nur" Yılmaz 1996









Anatomy of the Turkish ID Number



The Turkish Identification Number consists of 11 digits.



There are three conditions for a valid identification number:




  1. d1 > 0

  2. d10 == ((d1 + d3 + d5 + d7 + d9) * 7 - (d2 + d4 + d6 + d8)) mod 10

  3. d11 == (d1 + d2 + d3 + d4 + d5 + d6 + d8 + d9 + d10) mod 10



Where dn refers to the n-th digit of the identification number.



Remember that a valid identification number does not imply the existence of an ID. It could only be used as a preliminary check e.g. before querying a government website. This is very similar to credit card validation.






Support






Ruby Versions Tested Against



This gem is used in production and tested against the following Ruby versions:




  • ✅ 3.3.5 (stable)

  • ✅ 3.2.6 (stable)

  • ⏳ 3.1.6 (security maintenance)

  • 🪦 3.0.7 (end of life)






Development



After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.



To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.






Contributing




  1. Fork the repository

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request






Donations ❤️



You can donate me at Liberapay. Thanks! ☕️






Is it any good?



Yes.






Since you made it this far.. 🤓



Don't forget to ⭐️ my repository if you like it!



Bug reports and pull requests are welcome! ♥️



Happy Hacking,

Kerem






Photo Courtesy of Umit Okan

1. Sofort-Triage & Abwehrmaßnahmen

SOC Incident Playbook: Vulnerability Remediation & Verification
Syntax validiert (0 Fehler)
title: Detect Exploitation - New Release: turkish_id v1.7.0
id: e9e39fb2-9570-4680-b430-6d97a74e1ddd
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-25
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
Syntax validiert (0 Fehler)
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-25"
        description = "YARA Signature for "
    strings:
        $str = "New Release: turkish_id v1.7.0" ascii wide
    condition:
        any of them
}
Syntax validiert (0 Fehler)
index=security sourcetype IN ("cisco:asa", "pan:traffic", "zeek_conn", "suricata", "WinEventLog:Security")
("New Release turkish_id v170")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by src_ip, dest_ip, dest_host, signature
| eval first_seen=strftime(first_seen, "%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen, "%Y-%m-%d %H:%M:%S")
| sort - count
Syntax validiert (0 Fehler)
message: "*New Release turkish_id v170*"
Syntax validiert (0 Fehler)
CommonSecurityLog
| where Message has "New Release turkish_id v170"
| summarize EventCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP, DestinationIP, DestinationPort, Activity
| extend DetectionRule = "iShareStuff-CTI-Compiled"
| sort by EventCount desc

2. Cyber Threat Intelligence & Forensik

🎯
MITRE ATT&CK Matrix Navigator 14 Taktiken
Reconnaissance
-
Resource Development
-
Initial Access
Execution
Persistence
-
Privilege Escalation
Defense Evasion
Credential Access
-
Discovery
-
Lateral Movement
-
Collection
-
Command and Control
Exfiltration
-
Impact
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich New Release: turkish_id v1.7.0.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

⚡ Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten New Release: turkish_id v1.7.0

Thematisch verwandte Begriffe: Release, turkishid, v170 · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-87722 | Uncontrolled Resource Consumption (CWE-400 / CWE-1333) in regex search q…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag