<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: barış keçeci</title>
    <description>The latest articles on DEV Community by barış keçeci (@bariskececi).</description>
    <link>https://dev.to/bariskececi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3967212%2Fa1f38caa-f2a4-4758-a6aa-62019c72b0e9.png</url>
      <title>DEV Community: barış keçeci</title>
      <link>https://dev.to/bariskececi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bariskececi"/>
    <language>en</language>
    <item>
      <title>I Built an Open-Source Exposure Scanner That Finds What Attackers See Before They Do</title>
      <dc:creator>barış keçeci</dc:creator>
      <pubDate>Mon, 06 Jul 2026 11:19:42 +0000</pubDate>
      <link>https://dev.to/bariskececi/i-built-an-open-source-exposure-scanner-that-finds-what-attackers-see-before-they-do-477m</link>
      <guid>https://dev.to/bariskececi/i-built-an-open-source-exposure-scanner-that-finds-what-attackers-see-before-they-do-477m</guid>
      <description>&lt;p&gt;Most security breaches do not start with a zero-day.&lt;/p&gt;

&lt;p&gt;They often start with something embarrassingly simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a hardcoded AWS key in a public repository&lt;/li&gt;
&lt;li&gt;a GitHub Actions workflow that runs untrusted pull request code with write permissions&lt;/li&gt;
&lt;li&gt;a private key committed years ago and forgotten&lt;/li&gt;
&lt;li&gt;a corporate email address exposed through public commit metadata&lt;/li&gt;
&lt;li&gt;a public login panel nobody remembers deploying&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not sophisticated attack vectors.&lt;/p&gt;

&lt;p&gt;They are things hiding in plain sight.&lt;/p&gt;

&lt;p&gt;And in many cases, teams only discover them after someone else finds them first.&lt;/p&gt;

&lt;p&gt;That is why I built &lt;strong&gt;exposure-check&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is exposure-check?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;exposure-check&lt;/strong&gt; is a fast, open-source exposure scanner for GitHub organisations, repositories, and domains.&lt;/p&gt;

&lt;p&gt;It is designed to answer one simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What can attackers see before you do?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It runs as a single static binary, does not require agents, does not require a SaaS account, and can be used locally, in CI/CD, or through a built-in web dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it scans for
&lt;/h2&gt;

&lt;p&gt;exposure-check currently checks for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Leaked secrets&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
30+ secret patterns covering AWS, Azure, GCP, GitHub, Stripe, Slack, Twilio, database connection strings, private keys, JWTs, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Risky GitHub Actions workflows&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Detection for &lt;code&gt;pull_request_target&lt;/code&gt; misuse, untrusted checkout patterns, &lt;code&gt;permissions: write-all&lt;/code&gt;, script injection through &lt;code&gt;github.event.*&lt;/code&gt;, and actions pinned to mutable tags instead of commit SHAs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Missing security controls&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Checks for missing &lt;code&gt;SECURITY.md&lt;/code&gt;, missing licence files, weak repository hygiene, and missing project security signals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exposed corporate emails&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Harvests email addresses from public commit metadata and repository history.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Domain exposure&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Subdomain enumeration, typosquatting checks, public login panel detection, TLS issues, and basic external exposure indicators.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every scan produces a posture score from &lt;strong&gt;0 to 100&lt;/strong&gt; and a prioritised list of findings that can be acted on immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick start
&lt;/h2&gt;

&lt;p&gt;Install with Go:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/bariskececi/exposure-check@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Scan a GitHub organisation:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check scan &lt;span class="nt"&gt;--github-org&lt;/span&gt; your-org
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Scan a single repository:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check scan &lt;span class="nt"&gt;--repo&lt;/span&gt; owner/repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Scan a domain:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check scan &lt;span class="nt"&gt;--domain&lt;/span&gt; example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Generate an HTML report:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check scan &lt;span class="nt"&gt;--github-org&lt;/span&gt; your-org &lt;span class="nt"&gt;--format&lt;/span&gt; html &lt;span class="nt"&gt;--output&lt;/span&gt; report.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Use it as a CI gate:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check scan &lt;span class="nt"&gt;--repo&lt;/span&gt; owner/repo &lt;span class="nt"&gt;--fail-on&lt;/span&gt; high
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Built-in web dashboard
&lt;/h2&gt;

&lt;p&gt;exposure-check also includes a local web dashboard:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;exposure-check serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Then open:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;From the dashboard, you can scan GitHub organisations, repositories, and domains from the browser without using the CLI.&lt;/p&gt;
&lt;h2&gt;
  
  
  GitHub Action
&lt;/h2&gt;

&lt;p&gt;You can also run exposure-check directly inside GitHub Actions:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;bariskececi/exposure-check@v0.3&lt;/span&gt;
  &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;repo&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ github.repository }}&lt;/span&gt;
    &lt;span class="na"&gt;fail-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;high&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Findings can be exported as SARIF and shown as native GitHub Code Scanning alerts.&lt;/p&gt;

&lt;p&gt;No external dashboard is required.&lt;/p&gt;
&lt;h2&gt;
  
  
  Example output
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exposure-check — find what attackers can see before they do

target: acme
scope: org
repos: 14

────────────────────────────────────────────

Posture score: 27/100

CRITICAL  2
HIGH      2
MEDIUM    3
LOW       1

────────────────────────────────────────────

[CRITICAL] Possible AWS Access Key ID in public repository
  ↳ acme/api/config/prod.env:12
  fix: Rotate immediately and purge from git history.

[HIGH] pull_request_target checks out untrusted PR code
  ↳ acme/api/.github/workflows/ci.yml
  fix: Never check out PR head under pull_request_target.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Why I built this
&lt;/h2&gt;

&lt;p&gt;I work in cybersecurity and have spent years analysing credential exposure, external attack surface visibility, and leaked data at scale.&lt;/p&gt;

&lt;p&gt;One pattern appears again and again:&lt;/p&gt;

&lt;p&gt;Organisations spend significant time and money defending their perimeter, but their public repositories, automation workflows, and forgotten domains often expose risk long before an attacker ever touches the internal network.&lt;/p&gt;

&lt;p&gt;The problem is not always that teams ignore security.&lt;/p&gt;

&lt;p&gt;The problem is that exposure is fragmented.&lt;/p&gt;

&lt;p&gt;Secrets are in one place.&lt;br&gt;&lt;br&gt;
Workflow risks are in another.&lt;br&gt;&lt;br&gt;
Commit metadata is somewhere else.&lt;br&gt;&lt;br&gt;
Domains, subdomains, and public panels are outside the development workflow entirely.&lt;/p&gt;

&lt;p&gt;So I built exposure-check as a small, fast tool that brings these signals together and makes them visible early.&lt;/p&gt;

&lt;p&gt;Most of these issues are fixable in an afternoon.&lt;/p&gt;

&lt;p&gt;But only if you know they are there.&lt;/p&gt;
&lt;h2&gt;
  
  
  Built with
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Go&lt;/strong&gt; — single static binary, fast execution, easy deployment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MIT License&lt;/strong&gt; — free to use, modify, and extend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt; — multi-architecture images available&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SARIF support&lt;/strong&gt; — integrates with GitHub Code Scanning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML reports&lt;/strong&gt; — useful for internal reporting and remediation tracking&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Who is it for?
&lt;/h2&gt;

&lt;p&gt;exposure-check is useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;security engineers&lt;/li&gt;
&lt;li&gt;DevSecOps teams&lt;/li&gt;
&lt;li&gt;open-source maintainers&lt;/li&gt;
&lt;li&gt;consultants&lt;/li&gt;
&lt;li&gt;red teams&lt;/li&gt;
&lt;li&gt;startups that want a quick external exposure check&lt;/li&gt;
&lt;li&gt;anyone who wants to understand what their public GitHub and domain footprint exposes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Contributions are welcome
&lt;/h2&gt;

&lt;p&gt;The project is intentionally modular.&lt;/p&gt;

&lt;p&gt;Each check is small and self-contained, so adding new detections is straightforward.&lt;/p&gt;

&lt;p&gt;Ideas, issues, pull requests, and feedback are welcome.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bariskececi" rel="noopener noreferrer"&gt;
        bariskececi
      &lt;/a&gt; / &lt;a href="https://github.com/bariskececi/exposure-check" rel="noopener noreferrer"&gt;
        exposure-check
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Find what attackers can see before they do — open-source exposure scanner for GitHub orgs, repos, and domains
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;exposure-check&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Find what attackers can see before they do.&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;exposure-check&lt;/strong&gt; is a fast, open-source exposure scanner for GitHub
organisations, repositories and developer security posture. It surfaces the
things that quietly leak out of public repos — hard-coded secrets, dangerous
GitHub Actions workflows, missing security controls and exposed corporate emails —
and turns them into a clear report you can act on.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bariskececi/exposure-check/docs/exposure-check_report.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fbariskececi%2Fexposure-check%2FHEAD%2Fdocs%2Fexposure-check_report.png" alt="exposure-check report"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No agents, no SaaS, no account. One static binary (or a GitHub Action). Scan your
own org, get a posture score and a prioritised list of findings, and fix them
before someone else finds them first.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Web Dashboard&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Run &lt;code&gt;exposure-check serve&lt;/code&gt; to launch an interactive web dashboard where you can
scan domains, GitHub orgs and repos from your browser.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;exposure-check serve                    &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; http://localhost:3000&lt;/span&gt;
exposure-check serve --port 8080        &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; custom port&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/bariskececi/exposure-check/docs/dashboard-scan.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fbariskececi%2Fexposure-check%2FHEAD%2Fdocs%2Fdashboard-scan.png" width="100%" alt="Dashboard — scan form"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/bariskececi/exposure-check/docs/dashboard-scanning.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fbariskececi%2Fexposure-check%2FHEAD%2Fdocs%2Fdashboard-scanning.png" width="100%" alt="Dashboard — scanning in progress"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/bariskececi/exposure-check/docs/dashboard-results.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fbariskececi%2Fexposure-check%2FHEAD%2Fdocs%2Fdashboard-results.png" width="100%" alt="Dashboard — results with findings"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Install&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Go (any platform)&lt;/span&gt;
go install github.com/bariskececi/exposure-check@latest
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Docker (multi-arch: amd64 + arm64)&lt;/span&gt;
docker run --rm ghcr.io/bariskececi/exposure-check scan&lt;/pre&gt;…
&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bariskececi/exposure-check" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



</description>
      <category>opensource</category>
      <category>security</category>
      <category>go</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How We Built a Multilingual Cyber Threat Intelligence Platform From Turkey</title>
      <dc:creator>barış keçeci</dc:creator>
      <pubDate>Wed, 03 Jun 2026 23:00:51 +0000</pubDate>
      <link>https://dev.to/bariskececi/how-we-built-a-multilingual-cyber-threat-intelligence-platform-from-turkey-552n</link>
      <guid>https://dev.to/bariskececi/how-we-built-a-multilingual-cyber-threat-intelligence-platform-from-turkey-552n</guid>
      <description>&lt;p&gt;By Baris Kececi, Founder &amp;amp; CTO at GNSAC Information Technologies&lt;/p&gt;

&lt;p&gt;In 2021, I founded GNSAC with a simple observation: most organisations learn about data breaches affecting them from the news — not from their own security tools.&lt;/p&gt;

&lt;p&gt;Five years later, GNSAC Vigil monitors over 150 dark web forums, 500+ Telegram channels, 30+ paste sites, 40+ ransomware blogs, and 100+ OSINT feeds in real time. Its continuously updated exposure intelligence corpus includes over 8.2 billion processed, normalised, and deduplicated credential-related intelligence signals — used strictly for authorised defensive monitoring, correlation, and alerting. We process, classify, and correlate threats across four languages — Turkish, English, Russian, and Arabic — using a proprietary multilingual NLP engine.&lt;/p&gt;

&lt;p&gt;To avoid ambiguity, this corpus refers to processed exposure intelligence signals collected, normalised, deduplicated, and indexed for authorised defensive monitoring. It does not refer to customer-owned identity data or a commercial personal identity database.&lt;/p&gt;

&lt;p&gt;This is the story of how we built it, what we learned, and why we believe threat intelligence needs to be more accessible.&lt;/p&gt;

&lt;p&gt;The Problem We Set Out to Solve&lt;br&gt;
When I was leading security operations at enterprise clients — port infrastructure, hospitals, manufacturing plants — I kept running into the same gap. Organisations would invest heavily in perimeter defences, SIEM platforms, and endpoint protection. But when their credentials appeared on a dark web forum or a Telegram channel, they had no visibility.&lt;/p&gt;

&lt;p&gt;The existing CTI platforms were either too expensive for mid-market organisations, too generic in their coverage, or completely blind to non-English sources. Turkish-language dark web forums, Russian-speaking marketplaces, and Arabic paste sites were largely unmonitored by Western CTI vendors.&lt;/p&gt;

&lt;p&gt;We decided to build our own.&lt;/p&gt;

&lt;p&gt;Architecture Decisions That Shaped Everything&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go as the Core Language
We chose Go for the entire backend — not Python, not Java. The reason was simple: we needed a single compiled binary that could be deployed in restricted-network and on-premises environments without dependency headaches. Our phishing simulation platform (GNSAC Phishing, 50,000+ lines of Go) had already validated this approach.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Go’s concurrency model also gave us the throughput we needed. Our crawler engines process large volumes of external threat intelligence across dark web forums, paste sites, Telegram channels, code repositories, forums, and OSINT feeds using parallel processing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multi-Source Crawling Pipeline
We built a 7-stage pipeline:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sources → Gate (quality filter) → Parser (credential indicator extraction) → Deduplication → Database → Indexing → API &amp;amp; Delivery&lt;/p&gt;

&lt;p&gt;Each stage is independently scalable. The Gate stage filters noise before it reaches the parser — rejecting deceptive, duplicate, irrelevant, and low-confidence content. The Deduplication engine ensures the same credential pair appearing across twelve different breach compilations is counted once, not twelve times.&lt;/p&gt;

&lt;p&gt;We also built scalable source discovery and validation workflows that continuously expand monitored intelligence coverage while maintaining source quality and reducing duplicate or low-confidence findings. The goal was not simply to add more sources, but to build a defensible intelligence pipeline that prioritises relevance, reliability, and customer-specific risk.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multilingual NLP — The Hardest Part
Building NLP for English threat intelligence is well-documented. Building it for Turkish, Russian, and Arabic simultaneously is a different challenge entirely.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Turkish is an agglutinative language — a single word can carry meaning that takes an entire English sentence to express. Russian uses Cyrillic with domain-specific slang that changes monthly. Arabic has right-to-left text mixed with Latin-character technical terms.&lt;/p&gt;

&lt;p&gt;Our classification engine processes raw text from dark web posts, identifies the language, extracts entities (email addresses, domains, IP addresses, cryptocurrency wallets, credential pairs), classifies the threat type, and assigns a confidence score — all within milliseconds. In internal benchmarks across supported languages and source categories, this classification engine has reached 99.7% accuracy.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The 132-Module CTI Scan Engine
Beyond passive monitoring, we built an authorised domain-scoped assessment engine with 132 scanning modules organised into 12 phases. All assessment capabilities are used for authorised, domain-scoped defensive security evaluation. Customers can only assess assets and domains approved within their licence scope.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The modules cover:&lt;/p&gt;

&lt;p&gt;DNS intelligence, delegation analysis, and CAA/DANE/TLSA verification&lt;br&gt;
SSL/TLS certificate transparency and chain validation&lt;br&gt;
Web application fingerprinting, vulnerability correlation, and remediation priority scoring&lt;br&gt;
Cloud misconfiguration detection (S3 buckets, Azure Blob, Kubernetes dashboards, Docker registries)&lt;br&gt;
Authentication, OAuth, SAML, and SSO misconfiguration analysis&lt;br&gt;
Mobile OSINT — app store presence, API discovery, and deep link analysis&lt;br&gt;
Dark web exposure correlation and IOC confidence scoring&lt;br&gt;
Geopolitical risk indicators — sanctions proximity, data residency, and sanctioned ASN analysis&lt;br&gt;
Compliance mapping (ISO 27001, NIS2, KVKK, PCI-DSS)&lt;br&gt;
Business impact and risk amplification scoring&lt;/p&gt;

&lt;p&gt;A full scan takes 4-5 minutes and produces a comprehensive threat intelligence report covering 22 sections — from infrastructure vulnerabilities to geopolitical risk indicators — delivered as a server-generated PDF with executive summary, risk matrices, and prioritised remediation steps.&lt;/p&gt;

&lt;p&gt;A Million Reasons to Block&lt;br&gt;
Our Phishing Intelligence module aggregates over 1 million malicious URLs from seven independent sources — PhishTank, URLhaus, OpenPhish, PhishStats, Phishing Army, Phishing Database, and ThreatFox — with approximately 2,400 new URLs detected daily.&lt;/p&gt;

&lt;p&gt;But aggregation is the easy part. The value is in the export: security teams can download filtered blocklists in CSV or TXT format and feed them directly into web proxies, DNS sinkholes, or email gateways. No API integration required. No vendor lock-in.&lt;/p&gt;

&lt;p&gt;We made this decision deliberately. Phishing protection should not require a six-month integration project. A security analyst should be able to download a blocklist and deploy it in minutes.&lt;/p&gt;

&lt;p&gt;Brand Protection at Scale&lt;br&gt;
Credential monitoring tells you what has already leaked. Brand protection tells you what is being prepared against you.&lt;/p&gt;

&lt;p&gt;Vigil runs six parallel brand scans for every monitored domain:&lt;/p&gt;

&lt;p&gt;Typosquatting detection — algorithmically generated lookalike domains registered to impersonate your brand&lt;br&gt;
Dark web mention tracking — your brand name appearing in marketplace listings or forum discussions&lt;br&gt;
Certificate Transparency monitoring — SSL certificates issued for domains resembling yours&lt;br&gt;
Social media impersonation — fake accounts using your brand identity&lt;br&gt;
Fake mobile applications — fraudulent apps on third-party stores using your brand name and logos&lt;br&gt;
Credential exposure correlation — leaked credentials tied to your corporate domain&lt;/p&gt;

&lt;p&gt;When a threat is confirmed, the platform supports structured takedown workflows by preparing the necessary evidence, registrar or hosting-provider details, and abuse report templates for security teams to review and submit. Threats are classified, risk-scored, and tracked through their entire lifecycle: from detection to takedown confirmation.&lt;/p&gt;

&lt;p&gt;Protecting People, Not Just Infrastructure&lt;br&gt;
One of the less discussed aspects of threat intelligence is executive exposure. C-level executives, board members, and public-facing leadership are disproportionately targeted — yet most CTI platforms treat them as just another email address.&lt;/p&gt;

&lt;p&gt;Vigil’s VIP Protection module monitors individual executives across four threat surfaces simultaneously:&lt;/p&gt;

&lt;p&gt;Email exposure — corporate and personal email addresses appearing in breach databases&lt;br&gt;
Social media impersonation — fake LinkedIn, Twitter, and Instagram profiles using executive identities&lt;br&gt;
Dark web mentions — executive names appearing in targeting discussions or doxing threads&lt;br&gt;
Deepfake risk indicators — public media assets that could be used to generate synthetic impersonation content&lt;/p&gt;

&lt;p&gt;This is not theoretical. In one observed case, attackers used a forged display name and externally hosted email account to imitate executive communication. Weak email authentication enforcement increased the risk of delivery, but the behaviour was detected and escalated before it could progress further.&lt;/p&gt;

&lt;p&gt;From Detection to Response in Seconds&lt;br&gt;
Detection without response is just expensive logging.&lt;/p&gt;

&lt;p&gt;Vigil includes an automated playbook engine with six pre-built response workflows:&lt;/p&gt;

&lt;p&gt;Credential Leak Response — SOC notification, ticket creation, password reset workflow initiation, threat feed update, and incident documentation — triggered automatically or semi-automatically depending on customer policy.&lt;br&gt;
Phishing Campaign Detection — malicious URL blocklist preparation, employee warning distribution, and forensic evidence collection from detected phishing pages.&lt;br&gt;
VIP Exposure Mitigation — priority executive or security-team notification, takedown request preparation, enhanced monitoring frequency, and incident documentation.&lt;br&gt;
Brand Impersonation Response — automated WHOIS and DNS analysis, abuse report preparation, and customer advisory generation.&lt;br&gt;
Third-Party Vendor Breach — vendor risk assessment, API key rotation, network segment isolation, and legal/compliance notification.&lt;br&gt;
Manual Threat Investigation — structured IOC gathering, cross-referencing against internal and external intelligence, and threat assessment workflow.&lt;/p&gt;

&lt;p&gt;When a high-confidence credential exposure is detected outside working hours, the playbook can immediately trigger predefined response actions such as SOC notification, ticket creation, password reset workflow initiation, and incident documentation. Analysts can then review the completed workflow with full evidence context.&lt;/p&gt;

&lt;p&gt;We designed this after observing that the time between detection and first response action was often measured in hours. With predefined playbooks, the first response workflow can be initiated in under 30 seconds for high-confidence alerts.&lt;/p&gt;

&lt;p&gt;Scale and What It Teaches You&lt;br&gt;
Processing billions of credential-related exposure signals teaches you things that no amount of planning can anticipate:&lt;/p&gt;

&lt;p&gt;Storage architecture matters as much as application logic. At this scale, separating raw intelligence storage, indexes, and frequently queried enrichment data is essential for keeping investigation workflows fast and usable. We learned that I/O locality and tiered storage are not optimisation luxuries — they are operational requirements.&lt;br&gt;
Deduplication is a product feature, not a technical detail. The same credential-related exposure can appear across dozens of breach compilations and source reposts. Showing a client 50,000 “new” alerts that are actually 3,000 unique exposures destroys trust. We built a 186-point automated assessment workflow specifically to deduplicate, enrich, and prioritise every alert.&lt;br&gt;
At scale, the real challenge is not collecting more data but reducing noise. Our AI-assisted analysis engine has processed a large volume of internal threat assessments, helping reduce false positives by 60% compared with rule-based baselines. More importantly, the platform correlates indicators across multiple sources — credential leaks, paste sites, Telegram channels, ransomware blogs, and OSINT feeds — so analysts can identify patterns that would be invisible in single-source monitoring.&lt;/p&gt;

&lt;p&gt;Deployment Reality: Why On-Premises Still Matters&lt;br&gt;
One of our earliest design decisions was to support three deployment models: SaaS, private cloud, and on-premises / restricted-network deployment.&lt;/p&gt;

&lt;p&gt;Many organisations we work with — healthcare groups handling patient data, port operators managing critical infrastructure, manufacturing companies with OT/ICS environments — cannot send their data to an external cloud. Regulatory requirements (KVKK in Turkey, GDPR in Europe, sector-specific regulations in Qatar) demand that sensitive threat intelligence stays within the organisation’s own infrastructure.&lt;/p&gt;

&lt;p&gt;This constraint shaped our entire architecture. Core platform components must be capable of operating in restricted-network environments, with controlled and scheduled intelligence synchronisation where required. Updates are delivered as signed packages. The system operates in environments where external communication is limited to controlled, encrypted threat feed synchronisation with our central intelligence hub.&lt;/p&gt;

&lt;p&gt;We built a controlled licensing and deployment governance system to manage customer activations, tiered licensing, usage visibility, and health monitoring across deployment models.&lt;/p&gt;

&lt;p&gt;Supply Chain Risk: Your Security Is Only as Strong as Your Weakest Vendor&lt;br&gt;
The average enterprise shares sensitive data with dozens of third-party vendors. When one of those vendors suffers a breach, the blast radius extends to every organisation in their supply chain.&lt;/p&gt;

&lt;p&gt;Vigil’s Supply Chain module maps third-party vendors, tracks their compliance status across multiple frameworks, monitors for breach exposure in their domains, and calculates a composite risk score based on data access level, compliance posture, and observed threat indicators.&lt;/p&gt;

&lt;p&gt;When a vendor breach is detected, affected clients can be notified with contextual risk information, including what data access that vendor had and recommended isolation steps. This is not a generic alert. It is a contextualised, actionable notification that tells a security team exactly what to do next.&lt;/p&gt;

&lt;p&gt;From Product to Impact&lt;br&gt;
GNSAC Vigil is now deployed across multiple sectors — critical port infrastructure, healthcare groups, manufacturing companies, and financial institutions across Turkey, Germany, and the Middle East. Our broader company revenue has grown from TRY 366,625 in our first year (2021) to TRY 2,705,656 in 2025 — a 7.4x increase over five consecutive years.&lt;/p&gt;

&lt;p&gt;But the metric I care about most is not revenue. It is the moment a client receives an alert that their employee credentials have appeared on a dark web forum — and they can act on it within minutes, not months.&lt;/p&gt;

&lt;p&gt;We built GNSAC Vigil because we believed that threat intelligence should not be a luxury reserved for Fortune 500 companies with seven-figure security budgets. Organisations in Turkey, in the Middle East, in emerging markets — they face the same threats. They deserve the same visibility.&lt;/p&gt;

&lt;p&gt;What’s Next&lt;br&gt;
Predictive Threat Intelligence&lt;br&gt;
Our early predictive models are designed to identify coordinated campaign patterns by correlating surges across breach databases, IOC feeds, and threat actor activity. These capabilities are still evolving, but they already help analysts focus on emerging risks before they become fully developed incidents.&lt;/p&gt;

&lt;p&gt;We also track active threat actor activity patterns and correlate them across monitored sources to identify emerging campaign behaviour.&lt;/p&gt;

&lt;p&gt;Deeper Integrations&lt;br&gt;
We are continuing to expand our coverage, improve our NLP models, and build deeper integrations with SOC platforms (Splunk, QRadar, Microsoft Sentinel). We are also exploring how large language models can enhance threat classification, automate analyst workflows, and generate human-readable threat briefings from raw intelligence data.&lt;/p&gt;

&lt;p&gt;Regional Intelligence Expansion&lt;br&gt;
Vigil currently provides region-specific intelligence modules for Turkey, the United Kingdom, the United States, and Germany, with localised compliance indicators, regional threat actor profiles, and jurisdiction-specific source coverage. We are expanding this regional model to improve visibility for organisations operating across Europe, the Middle East, and the Gulf region.&lt;/p&gt;

&lt;p&gt;If you work in cybersecurity, threat intelligence, or security operations — I would love to hear how your organisation approaches dark web monitoring. What gaps do you see in the current landscape?&lt;/p&gt;

&lt;p&gt;Baris Kececi is the Founder and CTO of GNSAC Information Technologies (gnsac.com.tr), a cybersecurity product company based in Turkey developing proprietary threat intelligence and security awareness platforms.&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>go</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
