← Project Lanterna

Why JA4 Fingerprint t13d1011h2 Is Not Sliver C2

Go's default TLS configuration is mislabelled as a threat indicator in ja4db, causing false positives across the security industry.

4 April 2026  ·  Project Lanterna Research

TL;DR

The JA4 fingerprint t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 is labelled "Sliver Agent" in FoxIO's ja4db. But it's actually Go's default crypto/tls ClientHello — produced by every Go application that doesn't customize TLS settings: ClaudeBot, GPTBot, Kubernetes controllers, Prometheus, Terraform, AND Sliver. JA4H (HTTP fingerprint) is required to distinguish Sliver from legitimate Go traffic.

The Problem

Project Lanterna runs three honeypot domains designed to attract AI agent traffic. Within the first hour of operation, our pcap-to-JA4 extraction pipeline flagged multiple connections matching a signature labelled "Sliver Agent" in FoxIO's ja4db.

Alert: Sliver C2 Agent Detected?

t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3

ja4db label: "Sliver Agent" — a known command-and-control implant used in red team operations and by threat actors.

This looked alarming. Sliver is an open-source adversary emulation framework — finding it beaconing to our honeypots would be a significant security event.

But something didn't add up. When we correlated the JA4 fingerprint against our access logs by source IP, the connections came from:

SourceUser-AgentJA4
AnthropicClaudeBot/1.0t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3
OpenAIGPTBot/1.3t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3
VariousGo-http-client/2.0t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3

ClaudeBot and GPTBot are not Sliver implants. They're legitimate AI web crawlers built in Go. The same JA4 fingerprint matched because they all use Go's default TLS stack.

Root Cause: Go's Default crypto/tls

Go's standard library crypto/tls produces a predictable TLS ClientHello when no custom configuration is provided. This is the default for every Go HTTP client:

// This is all it takes to produce the "Sliver" JA4: package main import "net/http" func main() { // Default Go HTTP client — no TLS customization resp, _ := http.Get("https://example.com") // This produces JA4: t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 // ... which ja4db labels "Sliver Agent" }

The resulting ClientHello has:

This combination hashes to t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 — and it's identical whether the application is ClaudeBot, GPTBot, Sliver, Prometheus, Terraform, Kubernetes, or a weekend hobby project written in Go.

Who Shares This Fingerprint

Any Go application using the default HTTP client. This includes:

ApplicationCategoryThreat Level
ClaudeBot (Anthropic)AI CrawlerBenign
GPTBot (OpenAI)AI CrawlerBenign
Go-http-client (generic)HTTP LibraryContext-dependent
PrometheusMonitoringBenign
TerraformInfrastructureBenign
Kubernetes controllersOrchestrationBenign
Consul, Vault, NomadHashiCorp toolsBenign
Sliver C2 implantRed team / C2Malicious
Any custom Go serviceVariesVaries

Go is one of the most popular languages for cloud infrastructure. Labelling its default TLS fingerprint as "Sliver" creates an enormous false positive surface.

How to Actually Detect Sliver

Webscout published research in 2024 demonstrating that JA4H (the HTTP fingerprint) is the discriminator, not JA4 (the TLS fingerprint).

Real Sliver Detection Requires JA4H

Sliver's HTTP C2 profile produces a distinctive JA4H fingerprint:

po11cn050000_bb52516416a2_*

This captures Sliver's specific HTTP header ordering, cookie behaviour, and content negotiation — which are unique to the Sliver implant and NOT shared with legitimate Go applications.

The detection chain should be:

JA4: t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3

Is this Go default TLS? YES (shared by hundreds of Go apps)

Check JA4H: po11cn050000_bb52516416a2_*

Match? → Sliver C2 confirmed
No match? → Legitimate Go traffic (ClaudeBot, GPTBot, Terraform, etc.)

John Althouse, the creator of JA4+, has acknowledged this collision. The broader JA4 community recognises that single-layer TLS fingerprinting has limitations when a language's standard library dominates the fingerprint.

Impact on SOC Teams

Any organisation using JA4-based detection rules (Suricata, Zeek, Arkime, etc.) and referencing ja4db will generate false alerts on this fingerprint. The blast radius is significant:

Recommendations

For ja4db

For Detection Engineers

For the Broader Community

Evidence from Project Lanterna

Our honeypot captured this fingerprint from 3 distinct application categories across dozens of source IPs over a 31-hour capture window:

ApplicationSource IPsHTTP VersionRequestsBehaviour
ClaudeBotMultiple (Anthropic ASN)HTTP/2robots.txt → pagesPolite crawler, respects robots.txt
GPTBotMultiple (OpenAI ASN)HTTP/2robots.txt → pagesPolite crawler, respects robots.txt
Go-http-clientVariousHTTP/1.1, HTTP/2Mixed pathsGeneric Go applications, varied behaviour

None exhibited C2 beacon patterns (periodic callbacks, jitter timing, staged payloads). All were consistent with web crawling or API consumption.

References

About Project Lanterna

Project Lanterna operates honeypot infrastructure to detect, fingerprint, and catalogue TLS signatures from AI agents and autonomous software. We maintain the largest open database of AI agent JA4 fingerprints. Named for the Lanterna di Genova — the ancient lighthouse at the port of Genoa.

Domains: counteragent.io · gptplugins.io · projectlanterna.com