Add Gravatar and DNS Records collectors
Two pure-PHP collectors, no Python/venv/subprocess needed:
- GravatarRunner (email): checks gravatar.com/avatar/{md5}?d=404 for a
200 vs 404. Scoped to that binary signal since Gravatar's profile
JSON endpoint now requires API auth even for real, public profiles
(confirmed against Gravatar's own creator's email).
- DnsRunner (domain): dns_get_record() for A/AAAA/MX/NS/TXT/CNAME. Raw
payload is naturally keyed by record type, which the existing
generic list-renderer on the investigation page turns into one
collapsible section per type with no UI changes needed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
bb15f13bac
commit
86f73c46b2
@@ -56,6 +56,20 @@ class SourceSeeder extends Seeder
|
||||
'target_types' => ['email'],
|
||||
'runner' => 'python:holehe',
|
||||
],
|
||||
[
|
||||
'key' => 'gravatar',
|
||||
'name' => 'Gravatar',
|
||||
'description' => 'Checks whether an email address has a registered Gravatar image.',
|
||||
'target_types' => ['email'],
|
||||
'runner' => 'http:gravatar',
|
||||
],
|
||||
[
|
||||
'key' => 'dns',
|
||||
'name' => 'DNS Records',
|
||||
'description' => 'Looks up A, AAAA, MX, NS, TXT, and CNAME records for a domain.',
|
||||
'target_types' => ['domain'],
|
||||
'runner' => 'dns:records',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($sources as $source) {
|
||||
|
||||
Reference in New Issue
Block a user