netpanzer: 2 CWE-407 defects, MOAD 0002-0005 CLEAN
netpanzer-0001: UnitInterface::removeUnit std::find on PlayerUnitList
vector O(D*U) during mass destruction. Fix: unordered_map index +
swap-and-pop O(1) removal. MEDIUM, 3.7x at U=2000 D=1000.
netpanzer-0002: UnitBucketArray::getUnitBucketIndex scans all buckets
O(B*U) per misplaced unit in sortBucketArray fallback path. Fix:
unordered_map<UnitID, bucket_index> for O(1) lookup. HIGH, 9.4x
at B=200 U=2000 M=500.
MOAD 0003 (ThreadLocal): CLEAN, no thread_local patterns
MOAD 0004 (Logged Secret): CLEAN, passwords not logged verbatim
MOAD 0005 (Thundering Herd): CLEAN, PathCache is single-threaded