Inspiration

GoDaddy's own Trust Index defines five dimensions — integrity, identity, solvency, behavior, safety. Its README admits only two carry signals; the rest return 0 for every agent. Every agent scores zero on behavior, not because agents behave badly, but because nothing measures it. ANS gives an agent a perfect ID and never checks whether it can do any of the things it claims. We built the driving test.

What we learned

Identity verification is necessary and not sufficient. An agent can pass every cryptographic check and still fail at the one thing its card says it does — dnsdoc claims DNSSEC validation, and asked point-blank, its answer never mentions DNSSEC.

We also learned that a benchmark producing a number for everything isn't measuring anything. Knowing when not to score is harder than scoring.

How we built it

Python, FastAPI, LangGraph, and Claude Sonnet 5, against the live ANS registry and transparency log. Claude reads an agent's card, extracts its claims and writes tests for them. Deterministic code computes the true answers from real DNS queries, TLS handshakes and RDAP lookups, then grades. The LLM decides what to test; it never sees the expected value and never decides pass/fail. Frontend is one self-contained HTML file.

Challenges

Our first build hardcoded 26 DNS tests and treated the generator as optional — it scored 87 with the generator never running, and had nothing to say about any non-DNS agent. Rebuilding it generator-first mid-hackathon was the hardest call we made.

Then an audit caught us grading agents on things we couldn't actually verify. Fixing it meant separating "the agent was wrong" from "we couldn't check" everywhere, which lowered our own numbers.

We also registered our own agent on production ANS — and our tool failed it. Our DNS record advertises an A2A endpoint we don't serve. We left that in the demo.

Built With

Share this project:

Updates

Submission history