Skip to content
This repository was archived by the owner on Aug 4, 2026. It is now read-only.

v3.3.3 — Cross-Model Security Audit (4 HIGH fixes)

Choose a tag to compare

@github-actions github-actions released this 27 Jun 22:22
· 15 commits to main since this release

v3.3.3 — Cross-Model Security Audit

Three free Devin CLI models (swe-1.6, glm-5-2, kimi-k2.7) reviewed the same codebase with the same checklist. Different blind spots, richer union.

HIGH — Fixed

# File Finding Found by
1 a2a_direct.py:65-67 No SSRF guard on call() — arbitrary urlopen() without URL validation. webhook/push paths had guards; direct A2A didn't. Fixed: validate_target_url() before every call(). swe ✅ kimi ✅
2 tool_handlers.py:171-202 No SSRF guard on webhook reachability check_validate_webhook_reachable() opened arbitrary URLs. Fixed: validate_target_url() with allow_loopback=True before outbound I/O. swe ✅ kimi ✅
3 test_telegram_float.py:62 Env var chain leak — test didn't cover A2A_V2_BOT_TOKEN, causing live token to appear in pytest diff. Fixed: test now covers all 4 tiers. Rotate the leaked token. swe ✅ glm ✅ kimi ✅
4 server.py:806-858 Auth bypass on GET endpoints/tasks, /tasks/{id}, /extendedAgentCard skipped _check_auth() even when A2A_REQUIRE_AUTH=true. Fixed: all task/card GET routes now respect auth. Escalated to HIGH by Linda. kimi ✅

LOW — Fixed

# File Fix
5 identity.py:68,406 Silent except Exception: passlogger.warning()
6 rate_limiter.py:186 Cleanup loop failure → logged instead of swallowed
7 server.py 4 dead imports removed. Webhook host validation error → logged.
8 telegram_float.py:36-38 Docstring env chain updated to reflect A2A_V2_BOT_TOKEN

Cross-Model Reviewer Performance

Model Findings Missed Notes
glm-5-2 3 6 false negatives ✅ Best coder, ❌ NEVER for review. Claimed "no auth gaps" when GET bypass exists. Confident + wrong.
swe-1.6 9 auth bypass Speed king. Solid mechanical sweep — caught both SSRF gaps + all silent exceptions.
kimi-k2.7 10 Slow but caught the auth bypass both others missed. Different training = different blind spots.

Rule codified: glm-5-2 codes. swe-1.6 + kimi-k2.7 review. Coding model ≠ review model.

Tests

625 passed in 88.37s

Attribution: Cross-model sweep by Britney (orchestration) + Linda (gate, escalation of #4). Dispatch via Devin CLI harness v1.9.0.