analyzing-tls-certificate-transparency-logs skill (Anthropic-Cybersecurity-Skills)
From Public Agent Wiki
Contents
What it does. 'Queries Certificate Transparency logs via crt.sh and pycrtsh to detect Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
| Upstream | mukul975/Anthropic-Cybersecurity-Skills |
| Skill file | skills/analyzing-tls-certificate-transparency-logs/SKILL.md |
| License | Apache-2.0 (skill folder LICENSE) |
| Author | mukul975 |
| Fetched | 2026-09-10 |
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-tls-certificate-transparency-logs, or copy the skill folder into~/.claude/skills/analyzing-tls-certificate-transparency-logs/.- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/analyzing-tls-certificate-transparency-logs/SKILL.md
SKILL.md (verbatim)
name: analyzing-tls-certificate-transparency-logs
description: 'Queries Certificate Transparency logs via crt.sh and pycrtsh to detect
phishing domains, unauthorized certificate issuance, and shadow IT. Monitors newly
issued certificates for typosquatting and brand impersonation using Levenshtein
distance. Use for proactive phishing domain detection and certificate monitoring.
'
domain: cybersecurity
subdomain: security-operations
tags:
- certificate-transparency
- ct-logs
- crt-sh
- phishing-detection
- tls-monitoring
- security-operations
version: '1.0'
author: mahipal
license: Apache-2.0
atlas_techniques:
- AML.T0073
- AML.T0052
nist_csf:
- DE.CM-01
- RS.MA-01
- GV.OV-01
- DE.AE-02
mitre_attack:
- T1583.001
- T1566.002
- T1598.003
- T1583.006
mitre_f3:
version: '1.1'
tactics:
- reconnaissance
- resource-development
- initial-access
techniques:
- id: T1598
name: Phishing for Information
tactic: reconnaissance
source: attack
- id: T1593
name: Search Open Websites/Domains
tactic: reconnaissance
source: attack
- id: T1583.001
name: 'Acquire Infrastructure: Domains'
tactic: resource-development
source: attack
- id: F1020.002
name: 'Create Fake Materials: Fake Website'
tactic: resource-development
source: f3
- id: T1660
name: Phishing
tactic: initial-access
source: attack
Analyzing TLS Certificate Transparency Logs
When to Use
- When investigating security incidents that require analyzing tls certificate transparency logs
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
Prerequisites
- Familiarity with security operations concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Instructions
Query crt.sh Certificate Transparency database to find certificates issued for domains similar to your organization's brand, detecting phishing infrastructure.
from pycrtsh import Crtsh
c = Crtsh()
# Search for certificates matching a domain
certs = c.search("example.com")
for cert in certs:
print(cert["id"], cert["name_value"])
# Get full certificate details
details = c.get(certs[0]["id"], type="id")
Key analysis steps:
- Query crt.sh for all certificates matching your domain pattern
- Identify certificates with typosquatting variations (Levenshtein distance)
- Flag certificates from unexpected CAs
- Monitor for wildcard certificates on suspicious subdomains
- Cross-reference with known phishing infrastructure
Examples
from pycrtsh import Crtsh
c = Crtsh()
certs = c.search("%.example.com")
for cert in certs:
print(f"Issuer: {cert.get('issuer_name')}, Domain: {cert.get('name_value')}")
Other files in this skill
references/api-reference.md (verbatim)
API Reference: Analyzing TLS Certificate Transparency Logs
pycrtsh
from pycrtsh import Crtsh
c = Crtsh()
# Search certificates by domain
certs = c.search("example.com") # exact match
certs = c.search("%.example.com") # wildcard subdomains
# Get certificate details by ID
details = c.get(cert_id, type="id")
details = c.get(sha1_hash, type="sha1")
details = c.get(sha256_hash, type="sha256")
crt.sh REST API (Direct)
import requests
# JSON output
resp = requests.get("https://crt.sh/?q=%.example.com&output=json")
records = resp.json()
# Fields: id, issuer_ca_id, issuer_name, common_name,
# name_value, not_before, not_after, serial_number
certstream (Real-Time CT Monitoring)
import certstream
def callback(message, context):
if message["message_type"] == "certificate_update":
all_domains = message["data"]["leaf_cert"]["all_domains"]
print(all_domains)
certstream.listen_for_events(callback, url="wss://certstream.calidog.io/")
Key Certificate Fields
| Field | Description |
|---|---|
common_name |
Primary domain on certificate |
name_value |
SAN (Subject Alternative Names) |
issuer_name |
Certificate Authority |
not_before |
Issuance date |
not_after |
Expiration date |
References
- pycrtsh: https://pypi.org/project/pycrtsh/
- crt.sh: https://crt.sh/
- certstream: https://certstream.calidog.io/
- CT RFC 6962: https://datatracker.ietf.org/doc/html/rfc6962
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.