Commit 7c2e58d
committed
fix: comprehensive audit fixes - state divergence, amplification, memory leaks, validation
CRITICAL:
- validated_agent_logs: deterministic pruning (sorted keys instead of
HashMap random iteration order that caused state divergence)
- DataResponse/StorageSyncResponse: add target field so non-targeted
validators skip processing (O(n²) broadcast amplification fix)
HIGH:
- CoreStateResponse: verify signature + state_hash before merge_from
(prevents malicious state injection)
- consensus decisions HashMap: prune to last 1000 (was unbounded)
- cleanup_stale_data: prune task_progress, review_assignments by age,
cap leaderboard to top 1000 per challenge, prune completed_evaluations
to last 10 epochs
MEDIUM:
- Evaluation messages: reject from non-validators (was accepting with 0 stake)
- Submission messages: reject from unregistered miners
- committed HashMap: deterministic eviction by timestamp (was random)
- Shutdown: 30s timeout to prevent indefinite hang1 parent 3bb2cfa commit 7c2e58d
File tree
5 files changed
+174
-42
lines changed- bins/validator-node/src
- crates
- distributed-storage/src
- p2p-consensus/src
5 files changed
+174
-42
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1594 | 1594 | | |
1595 | 1595 | | |
1596 | 1596 | | |
| 1597 | + | |
| 1598 | + | |
1597 | 1599 | | |
1598 | 1600 | | |
1599 | 1601 | | |
| |||
1836 | 1838 | | |
1837 | 1839 | | |
1838 | 1840 | | |
1839 | | - | |
1840 | | - | |
1841 | | - | |
1842 | | - | |
1843 | | - | |
1844 | | - | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
1845 | 1850 | | |
1846 | | - | |
1847 | | - | |
1848 | | - | |
1849 | | - | |
1850 | | - | |
1851 | | - | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
1852 | 1857 | | |
1853 | | - | |
1854 | | - | |
1855 | | - | |
1856 | | - | |
1857 | | - | |
1858 | | - | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
1859 | 1864 | | |
1860 | | - | |
1861 | | - | |
1862 | | - | |
1863 | | - | |
1864 | | - | |
1865 | | - | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
1866 | 1873 | | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
1867 | 1878 | | |
| 1879 | + | |
1868 | 1880 | | |
1869 | 1881 | | |
1870 | 1882 | | |
| |||
2216 | 2228 | | |
2217 | 2229 | | |
2218 | 2230 | | |
| 2231 | + | |
| 2232 | + | |
| 2233 | + | |
| 2234 | + | |
| 2235 | + | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
2219 | 2239 | | |
2220 | 2240 | | |
2221 | 2241 | | |
| |||
2251 | 2271 | | |
2252 | 2272 | | |
2253 | 2273 | | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
2254 | 2284 | | |
2255 | 2285 | | |
2256 | 2286 | | |
2257 | 2287 | | |
2258 | 2288 | | |
2259 | 2289 | | |
2260 | | - | |
2261 | | - | |
2262 | | - | |
2263 | | - | |
2264 | | - | |
2265 | 2290 | | |
2266 | 2291 | | |
2267 | 2292 | | |
| |||
2391 | 2416 | | |
2392 | 2417 | | |
2393 | 2418 | | |
| 2419 | + | |
2394 | 2420 | | |
2395 | 2421 | | |
2396 | 2422 | | |
| |||
2424 | 2450 | | |
2425 | 2451 | | |
2426 | 2452 | | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
2427 | 2459 | | |
2428 | 2460 | | |
2429 | 2461 | | |
| |||
3434 | 3466 | | |
3435 | 3467 | | |
3436 | 3468 | | |
| 3469 | + | |
| 3470 | + | |
| 3471 | + | |
| 3472 | + | |
| 3473 | + | |
| 3474 | + | |
| 3475 | + | |
| 3476 | + | |
| 3477 | + | |
| 3478 | + | |
| 3479 | + | |
| 3480 | + | |
| 3481 | + | |
| 3482 | + | |
| 3483 | + | |
| 3484 | + | |
| 3485 | + | |
| 3486 | + | |
| 3487 | + | |
| 3488 | + | |
3437 | 3489 | | |
3438 | 3490 | | |
3439 | 3491 | | |
| 3492 | + | |
| 3493 | + | |
| 3494 | + | |
| 3495 | + | |
| 3496 | + | |
| 3497 | + | |
| 3498 | + | |
| 3499 | + | |
| 3500 | + | |
3440 | 3501 | | |
3441 | 3502 | | |
3442 | 3503 | | |
| |||
3603 | 3664 | | |
3604 | 3665 | | |
3605 | 3666 | | |
| 3667 | + | |
3606 | 3668 | | |
3607 | 3669 | | |
3608 | 3670 | | |
| |||
3636 | 3698 | | |
3637 | 3699 | | |
3638 | 3700 | | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
| 3704 | + | |
| 3705 | + | |
| 3706 | + | |
3639 | 3707 | | |
3640 | 3708 | | |
3641 | 3709 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
687 | | - | |
| 687 | + | |
688 | 688 | | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
693 | | - | |
694 | | - | |
695 | | - | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
696 | 694 | | |
697 | 695 | | |
698 | 696 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
718 | 718 | | |
719 | 719 | | |
720 | 720 | | |
721 | | - | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
722 | 730 | | |
723 | 731 | | |
724 | 732 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
529 | 532 | | |
530 | 533 | | |
531 | 534 | | |
| |||
1090 | 1093 | | |
1091 | 1094 | | |
1092 | 1095 | | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
1093 | 1099 | | |
1094 | 1100 | | |
1095 | 1101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1317 | 1317 | | |
1318 | 1318 | | |
1319 | 1319 | | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
1320 | 1371 | | |
1321 | 1372 | | |
1322 | 1373 | | |
| |||
1439 | 1490 | | |
1440 | 1491 | | |
1441 | 1492 | | |
1442 | | - | |
1443 | | - | |
1444 | | - | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
1445 | 1498 | | |
1446 | | - | |
1447 | 1499 | | |
1448 | 1500 | | |
1449 | 1501 | | |
| |||
0 commit comments