<?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>Forem: Thomas </title>
    <description>The latest articles on Forem by Thomas  (@thoams_aidetection).</description>
    <link>https://forem.com/thoams_aidetection</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3901081%2F11514e91-7a9c-44fb-a0ce-ac5853f80ade.png</url>
      <title>Forem: Thomas </title>
      <link>https://forem.com/thoams_aidetection</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/thoams_aidetection"/>
    <language>en</language>
    <item>
      <title>The liar's dividend has a second payout, and devs helped build it</title>
      <dc:creator>Thomas </dc:creator>
      <pubDate>Thu, 30 Apr 2026 20:25:36 +0000</pubDate>
      <link>https://forem.com/thoams_aidetection/the-liars-dividend-has-a-second-payout-and-devs-helped-build-it-22ji</link>
      <guid>https://forem.com/thoams_aidetection/the-liars-dividend-has-a-second-payout-and-devs-helped-build-it-22ji</guid>
      <description>&lt;h1&gt;
  
  
  The liar's dividend has a second payout, and devs helped build it
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; The "liar's dividend" isn't just about faking things. It's about claiming real things are fake. Detection infrastructure the very thing we built to fight deepfakes is now being used as cover. This is a systems design problem as much as a machine learning one.&lt;/p&gt;




&lt;p&gt;I've been sitting with a Forbes piece on digital forensics and deepfakes for a few days, and the part that stuck wasn't the forensics. It was a phrase: "the liar's dividend's second payout."&lt;/p&gt;

&lt;p&gt;The first payout, if you haven't heard the term, comes from &lt;a href="https://scholarship.law.bu.edu/faculty_scholarship/640/" rel="noopener noreferrer"&gt;Chesney and Citron's 2019 paper&lt;/a&gt; on deepfakes and democracy. The idea is simple and brutal: once people know synthetic media exists, a bad actor can claim &lt;em&gt;any&lt;/em&gt; real, damaging media is fake. You don't need to make a convincing deepfake. You just need enough public doubt to muddy the water.&lt;/p&gt;

&lt;p&gt;The second payout is what we built next. And I mean "we" literally — developers, ML engineers, product teams. We built detection tools. Classification APIs. Real-time flagging pipelines. And in doing so, we handed the liars a new prop.&lt;/p&gt;




&lt;h2&gt;
  
  
  How the escape hatch works
&lt;/h2&gt;

&lt;p&gt;Consider the logic a bad actor now has available:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IF  (incriminating_media EXISTS)
AND (public_awareness_of_deepfakes == HIGH)
AND (detection_tools PRODUCE != 100% certainty)
THEN
   claim "this is AI-generated"
   point to ambiguous classifier output as "proof"
   wait for news cycle to move on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This isn't hypothetical. In 2023, a &lt;a href="https://apnews.com/article/slovakia-election-deepfake-audio-bbc-2023" rel="noopener noreferrer"&gt;Slovakian election audio clip&lt;/a&gt; of a candidate allegedly discussing election fraud circulated two days before polls opened. The candidate's party called it AI-generated. Analysts were split. The election happened before anyone reached consensus.&lt;/p&gt;

&lt;p&gt;That's the second payout: the detection ecosystem itself becomes the alibi. A shrug from a classifier is now a press release.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I actually see when I run stuff through detection
&lt;/h2&gt;

&lt;p&gt;I use &lt;a href="https://www.aiornot.com" rel="noopener noreferrer"&gt;AI or Not&lt;/a&gt; when something looks off to me — it handles images, video, and audio, which covers most of what circulates on social platforms. The output is a confidence score, not a verdict. That matters.&lt;/p&gt;

&lt;p&gt;A 73% "likely AI" rating on a clip is meaningful signal. It is not a court finding. The problem is that a 73% rating is also something a bad actor can screenshot and frame as "even the detectors aren't sure."&lt;/p&gt;

&lt;p&gt;This isn't a flaw in AI or Not specifically. It's a fundamental property of probabilistic classification. Every detection system that produces a confidence score below 100% will have that score weaponized by someone. We built the weapon while trying to build the shield.&lt;/p&gt;




&lt;h2&gt;
  
  
  The four things I'd do differently (as a builder)
&lt;/h2&gt;

&lt;p&gt;If I were shipping something in this space today, here's where I'd change my assumptions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design for legal weight, not just accuracy.&lt;/strong&gt; A 92% confidence score means nothing in a courtroom without a chain of custody, a known model version, and a documented methodology. If your output might ever be used as evidence, treat it that way from day one — not as an afterthought.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Log model provenance explicitly.&lt;/strong&gt; Which version of the detector flagged this? What training data was it exposed to? These questions matter the moment someone disputes a finding in public. Most APIs I've worked with don't surface this at all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build in uncertainty communication by default.&lt;/strong&gt; Instead of a single score, surface a distribution. "This result falls in a range where the model produces false positives 18% of the time under these image conditions." Harder to misquote.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Think about the adversarial UI, not just the adversarial input.&lt;/strong&gt; We spend a lot of time thinking about adversarial examples that fool detectors. We spend almost no time thinking about how bad actors will &lt;em&gt;present&lt;/em&gt; detector output to audiences who don't understand what it means.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The forensics paradox
&lt;/h2&gt;

&lt;p&gt;Here's the thing about digital forensics being the "only sure answer" to deepfakes: it requires a trusted institution to perform it, a trusted chain of custody for the media, and a public that believes the institution. All three of those are eroding simultaneously.&lt;/p&gt;

&lt;p&gt;A forensic finding from a university lab means less when half your audience thinks universities are politically captured. A chain of custody argument lands differently when the platform hosting the media is actively in a political fight.&lt;/p&gt;

&lt;p&gt;I'm not saying detection tools are useless — I keep using AI or Not because the signal is real and it's gotten my antenna up on things I would have scrolled past. But I've started thinking of detection as one input into a much larger trust problem, not as a solution to it.&lt;/p&gt;

&lt;p&gt;The liar's dividend was always about epistemics, not technology. We built better detectors and handed the epistemics problem a new set of props.&lt;/p&gt;




&lt;h2&gt;
  
  
  What actually changes the calculus
&lt;/h2&gt;

&lt;p&gt;A few things that seem underbuilt relative to the detection side:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Provenance standards.&lt;/strong&gt; The &lt;a href="https://c2pa.org/" rel="noopener noreferrer"&gt;C2PA spec&lt;/a&gt; attaches cryptographic provenance to media at capture time. If the camera signs the frame and the signature breaks on edit, that's a different kind of evidence than a classifier score. It's not widespread yet, but it's the right direction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legal frameworks for false claims of AI generation.&lt;/strong&gt; Right now there's almost no cost to wrongly claiming something is a deepfake. A few jurisdictions are looking at this; none have moved fast enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adversarial red-teaming of the human layer.&lt;/strong&gt; We red-team models constantly. We almost never red-team how users and journalists will misread or be manipulated by model output.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>security</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>LLM Drift: Why Your AI Detection Pipeline is Quietly Decaying (Kimi K2 Benchmark)</title>
      <dc:creator>Thomas </dc:creator>
      <pubDate>Mon, 27 Apr 2026 21:09:02 +0000</pubDate>
      <link>https://forem.com/thoams_aidetection/llm-drift-why-your-ai-detection-pipeline-is-quietly-decaying-kimi-k2-benchmark-3gml</link>
      <guid>https://forem.com/thoams_aidetection/llm-drift-why-your-ai-detection-pipeline-is-quietly-decaying-kimi-k2-benchmark-3gml</guid>
      <description>&lt;p&gt;A short field report on what current AI detectors actually do when you point them at frontier reasoning model output, and what I changed in my own detection workflow.&lt;/p&gt;

&lt;p&gt;I integrate AI detection into a few small side projects—content moderation pre-filters, writing quality flags, etc. The more I relied on detection, the more concerned I became that I was trusting numbers based on stale benchmarks.&lt;/p&gt;

&lt;p&gt;This week, a benchmark study confirmed my worst fears. It tested two popular detectors against 47 essays generated by Kimi K2 in "thinking mode," which mimics modern, high-variance LLM output.&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.amazonaws.com%2Fuploads%2Farticles%2Ffejw7xpx6alsly100auf.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.amazonaws.com%2Fuploads%2Farticles%2Ffejw7xpx6alsly100auf.png" alt=" " width="800" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ZeroGPT missed 62% of the AI content. For context, the same study notes that ZeroGPT classifies the 1776 U.S. Declaration of Independence as 99% AI-generated. If a detector flags famously human text as AI, the false-positive ceiling is high enough to invalidate its positives on actual AI text.Why Legacy Detection Fails Modern LLMs&lt;/p&gt;

&lt;p&gt;If you've shipped &lt;a href="//www.aiornot.com"&gt;AI detection&lt;/a&gt;, you probably integrated it once, picked a confidence threshold, and considered the job done. This is the failure mode the benchmark exposes: Detector accuracy is not stable across model generations.&lt;/p&gt;

&lt;p&gt;Most public detectors were built around three assumptions about older LLM output:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Low perplexity: Text is predictable and falls below a certain perplexity score $\rightarrow$ Flag as AI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uniform structure (Low Burstiness): Sentences have low variance in length and structure $\rightarrow$ Flag as AI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Predictable features: Use of function-word patterns and standard transition phrases $\rightarrow$ Flag as AI.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Reasoning models like Kimi K2, Gemini 2.5 Pro, and GPT-5 break all three:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Output is contextually adaptive, meaning perplexity varies wildly within a single response.&lt;/li&gt;
&lt;li&gt;Sentence variance increases during exploratory "thinking" passages.&lt;/li&gt;
&lt;li&gt;Token distributions are deliberately broadened to mimic human reasoning rhythms.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your detector hasn't been retrained on current reasoning model output, it’s classifying against a distribution that no longer exists in production. The 38% accuracy is the result of this structural drift.Actionable Fixes: Hardening the Detection Pipeline&lt;/p&gt;

&lt;p&gt;After re-checking my own setup, here are the four concrete changes I made 1 Confidence Threshold Raised to 0.85&lt;/p&gt;

&lt;p&gt;A 0.62 mean confidence on a fully AI-positive test set indicates that individual high-looking scores can still be coin flips. For anything that triggers an action (like a submission rejection or account flag), I now require multi-signal corroboration or human review if the score is below 0.85.2. Build a Held-Out Test Set from Current Models&lt;/p&gt;

&lt;p&gt;I’m now generating my own validation samples from current frontier models (Kimi K2, Claude Sonnet 4.6, GPT-5, Gemini 2.5 Pro) and running them through my detection layer monthly.&lt;/p&gt;

&lt;p&gt;The set also includes "human-positive" texts (like the Declaration) to constantly monitor the false-positive rate.&lt;/p&gt;

&lt;h1&gt;
  
  
  Pseudo-code for the monitoring set I now keep around
&lt;/h1&gt;

&lt;p&gt;HELD_OUT = {&lt;br&gt;
    "ai_positive": [&lt;br&gt;
        # 50 samples each from current frontier models&lt;br&gt;
        kimi_k2_samples,&lt;br&gt;
        claude_sonnet_4_6_samples,&lt;br&gt;
        gpt_5_samples,&lt;br&gt;
        gemini_2_5_pro_samples,&lt;br&gt;
    ],&lt;br&gt;
    "human_positive": [&lt;br&gt;
        # public-domain texts written before 2020&lt;br&gt;
        declaration_of_independence,&lt;br&gt;
        federalist_papers_excerpts,&lt;br&gt;
        public_domain_essays,&lt;br&gt;
    ],&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Treat Detection as a Probabilistic Component&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Even 97% accuracy means a 3% misclassification rate at scale. For anything where the cost of an error is real, detection must be a signal, not a verdict.4. Verify Modality Fit&lt;/p&gt;

&lt;p&gt;I use AI or Not for image and audio checks in my projects because it covers multiple modalities. The Kimi K2 benchmark gave me a current-model accuracy number for the text side, which closed a vital verification gap I couldn't easily verify on my own.A Minimum-Viable Detector-Monitoring Pattern&lt;/p&gt;

&lt;p&gt;If you are running detection in a production pipeline, this is the basic ML hygiene that keeps the integration from silently failing:&lt;/p&gt;

&lt;p&gt;LOOP (monthly):&lt;br&gt;
   for detector in production_pipeline:&lt;br&gt;
       accuracy_ai      = run(detector, HELD_OUT.ai_positive)&lt;br&gt;
       accuracy_human   = run(detector, HELD_OUT.human_positive)&lt;br&gt;
       mean_confidence  = avg_confidence(detector, HELD_OUT.ai_positive)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   if accuracy_ai     &amp;lt; baseline.ai - 0.05:    alert("AI detection regressed")
   if accuracy_human  &amp;lt; baseline.human - 0.05: alert("FP rate increased")
   if mean_confidence &amp;lt; baseline.conf - 0.10:  alert("Detector going uncertain")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Most teams I've seen integrate detection once and never check it again. This pattern is essential because accuracy decays per model generation.TL;DR&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;97% vs 38% on Kimi K2 essays shows a structural, not a tuning, gap.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Detector accuracy decays per model generation. Re-benchmark quarterly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test false-positive rate against famously human text (the Declaration of Independence is a free check).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Raise your confidence threshold; one number is not a verdict.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build a held-out test set from current models and monitor it on cadence.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're running detection in production and you can't name the generation of model you benchmarked against, you have an invisible calibration gap. The benchmark was the wake-up call; the monitoring pattern is what makes the fix permanent.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
