<?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: Karan</title>
    <description>The latest articles on DEV Community by Karan (@kaldeo16).</description>
    <link>https://dev.to/kaldeo16</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%2F4009048%2F8f553082-76ef-4231-9aef-dbb5a6481d4f.jpg</url>
      <title>DEV Community: Karan</title>
      <link>https://dev.to/kaldeo16</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kaldeo16"/>
    <language>en</language>
    <item>
      <title>Building ThreatDNA: Giving Cybersecurity Analysts a Memory That Never Forgets</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Tue, 30 Jun 2026 09:31:09 +0000</pubDate>
      <link>https://dev.to/kaldeo16/building-threatdna-giving-cybersecurity-analysts-a-memory-that-never-forgets-2k8</link>
      <guid>https://dev.to/kaldeo16/building-threatdna-giving-cybersecurity-analysts-a-memory-that-never-forgets-2k8</guid>
      <description>&lt;h2&gt;
  
  
  Building ThreatDNA: Giving Cybersecurity Analysts a Memory That Never Forgets
&lt;/h2&gt;

&lt;p&gt;I'm building ThreatDNA for the WeMakeDevs × Cognee hackathon — a cyber memory &lt;br&gt;
intelligence platform that remembers every incident an organization has ever &lt;br&gt;
faced, so analysts stop investigating the same attack from scratch every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcbeqypuuzu97b6v5yxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcbeqypuuzu97b6v5yxk.png" alt="Scattered disconnected security incident cards representing fragmented SOC knowledge" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Security teams generate mountains of data — incident reports, IOC feeds, &lt;br&gt;
malware analysis, analyst notes. Once an incident is closed, all of that &lt;br&gt;
knowledge usually disappears into a PDF or a Jira ticket. Six months later, &lt;br&gt;
when something similar happens again, the team starts almost from zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Cognee
&lt;/h2&gt;

&lt;p&gt;Most "AI security assistant" projects are just a chatbot wrapped around &lt;br&gt;
search. They don't actually remember anything between sessions. Cognee is &lt;br&gt;
different — it's a persistent, self-hosted knowledge graph that connects &lt;br&gt;
incidents, malware, CVEs, and techniques over time, and gets smarter the &lt;br&gt;
more you use it.&lt;/p&gt;

&lt;p&gt;I'm using all four of Cognee's core APIs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;remember()&lt;/code&gt; — ingest incident reports, IOCs, and analyst notes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;recall()&lt;/code&gt; — graph-traversal search across the org's full incident history
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;improve()&lt;/code&gt; — strengthen relationships after every investigation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;forget()&lt;/code&gt; — selectively wipe data (e.g. GDPR/customer-specific cleanup) 
without nuking the whole graph&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I've Built So Far
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lfe7z271mzjcqij6rfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lfe7z271mzjcqij6rfj.png" alt="FastAPI docs page showing four Cognee memory endpoints" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A FastAPI backend wired directly into Cognee, with working endpoints for &lt;br&gt;
all four memory operations. I seeded it with a few fake incidents spanning &lt;br&gt;
months to test something important: can it actually connect events across &lt;br&gt;
time, not just search keywords?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70yudv2qg4crnfcv23kv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70yudv2qg4crnfcv23kv.png" alt="ThreatDNA recall response showing temporal reasoning across incidents" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can. When I asked "have we seen this attack pattern before," ThreatDNA &lt;br&gt;
correctly traced a PowerShell-based attack from January back to a similar &lt;br&gt;
one from months earlier — same technique, different payload — and explained &lt;br&gt;
the connection in plain language. That's not a keyword match. That's a &lt;br&gt;
knowledge graph reasoning across time.&lt;/p&gt;

&lt;p&gt;I also restarted the server completely and asked the same question again — &lt;br&gt;
the memory persisted. Nothing was lost. That's the whole point: this isn't &lt;br&gt;
a chatbot with amnesia between sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Over the next few days I'm building out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A graph visualization frontend so you can literally see incidents connect&lt;/li&gt;
&lt;li&gt;A "memory vs no-memory" side-by-side demo&lt;/li&gt;
&lt;li&gt;MITRE ATT&amp;amp;CK technique overlays&lt;/li&gt;
&lt;li&gt;A polished demo video&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;The real insight from working on this: most hackathon AI projects bolt &lt;br&gt;
memory onto a chatbot as an afterthought. If you removed Cognee from those &lt;br&gt;
projects, they'd basically still work. For ThreatDNA, if you remove Cognee, &lt;br&gt;
there's no product left — the persistent graph memory IS the product. &lt;br&gt;
The LLM just explains what the memory already figured out.&lt;/p&gt;

&lt;p&gt;Following along? I'll be posting daily progress on X: &lt;a href="https://x.com/KaldeoDev" rel="noopener noreferrer"&gt;https://x.com/KaldeoDev&lt;/a&gt;, &lt;br&gt;
and check out the &lt;a href="https://github.com/topoteretes/cognee" rel="noopener noreferrer"&gt;Cognee project&lt;/a&gt; &lt;br&gt;
if you want to see what's powering all this.&lt;br&gt;
GitHub repo: &lt;a href="https://github.com/Kaldeo1666/ThreatDNA" rel="noopener noreferrer"&gt;https://github.com/Kaldeo1666/ThreatDNA&lt;/a&gt; — drop a star if this kind &lt;br&gt;
of project interests you, more updates coming as the hackathon continues.&lt;/p&gt;

</description>
      <category>cognee</category>
      <category>hackathon</category>
      <category>ai</category>
      <category>cybersecurity</category>
    </item>
  </channel>
</rss>
