Your AI's guard dog. Doberman sits at runtime, gating every input, output and tool call to stop unsafe or unintended actions before they execute.
- vulnerabilities attested + 18
- capability exposure inferred + 35
- tool safety inferred + 12
- trust mitigators mixed − 3
attested inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
grade last moved 1w ago · see ecosystem CVEs →
- C · 44 → D · 62
- D · 64 → C · 44
- C · 56 → D · 64
- B · 32 → C · 56
- high dangerous code
committed secret: GitHub token · dynamic exec: __import__ sink
analyzed commit 78f6d4d · analyzer v33 · 3d ago
skills & prompt files 2
- agent-rules DobermanCore-Doberman-Core-78f6d4d/AGENTS.md
- agent-rules DobermanCore-Doberman-Core-78f6d4d/CLAUDE.md
danger signals16
- dynamic code execution __import__ sink DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_gui_prompter.py :2277
bool(__import__("os").environ.get("CI")), - suspicious endpoint us.posthog.com (telemetry) DobermanCore-Doberman-Core-78f6d4d/scripts/posthog_inbox_to_issues.py :41
DEFAULT_HOST = "https://us.posthog.com" - suspicious endpoint us.i.posthog.com (telemetry) DobermanCore-Doberman-Core-78f6d4d/src/doberman/telemetry.py :26
POSTHOG_HOST = "https://us.i.posthog.com" - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/integration/test_objective_demo.py :78
result = await agent.call_tool("net_get", {"url": "https://93.184.216.34/x"}) - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_decision_auth_path.py :295
_AUTH_CALL = ("WebFetch", {"url": "https://93.184.216.34/", "prompt": "x"}) - suspicious endpoint 140.82.112.3 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_egress_allowlist.py :57
assert allowlist.is_allowed("http://140.82.112.3/") is False - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_hosthook_auth_challenge.py :75
_AUTH_CALL = ("WebFetch", {"url": "https://93.184.216.34/", "prompt": "x"}) - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_hosthook_claude_pre.py :149
reason = _reason(_pre("WebFetch", {"url": "https://93.184.216.34/", "prompt": "x"}, cwd)) - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_hosthook_hookio.py :56
target="https://93.184.216.34/", - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_hosthook_openclaw.py :133
out = _call("web_fetch", {"url": "https://93.184.216.34/"}, cwd=cwd) - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_hosthook_taint_floor.py :181
out = _pre("WebFetch", {"url": "https://93.184.216.34/collect"}, tmp_path, session_id="fresh") - suspicious endpoint 8.8.8.8 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_infer_context.py :76
cls, _ = infer_destination_class(_net("http://8.8.8.8/x")) - suspicious endpoint us.posthog.com (telemetry) DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_posthog_inbox_to_issues.py :57
posthog = PostHog(host="https://us.posthog.com", project_id="1", api_key="k", fetch=transport) - suspicious endpoint 93.184.216.34 DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_rule_destinations.py :99
assert _verdict("https://93.184.216.34/x").verdict is Verdict.AUTH - suspicious endpoint us.i.posthog.com (telemetry) DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_secrets_compound_token_fp.py :59
"https://us.i.posthog.com/project/" + UUID + "/events", # UUID inside a URL - committed secret GitHub token DobermanCore-Doberman-Core-78f6d4d/tests/unit/test_secrets_identifier_fp.py :51
ghp_16…(40 chars, redacted)
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of fu351.