@guava-parity/guard-scanner 16.0.1 → 16.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
- "benchmark_version": "2026-03-13.quality-v1",
3
- "contract_version": "2026-03-13.quality-v1",
4
- "generatedAt": "2026-03-14T06:54:57.152Z",
2
+ "benchmark_version": "2026-03-15.quality-v17",
3
+ "contract_version": "2026-03-15.quality-v17",
4
+ "generatedAt": "2026-03-17T09:32:42.809Z",
5
5
  "layers": [
6
6
  {
7
7
  "layer": "layer_a",
@@ -285,10 +285,11 @@
285
285
  "title": "mal-process-env-exfil",
286
286
  "expected": "malicious",
287
287
  "detected": true,
288
- "risk": 12,
289
- "safe": true,
288
+ "risk": 48,
289
+ "safe": false,
290
290
  "matchedCategories": [
291
- "exfiltration"
291
+ "exfiltration",
292
+ "agent-protocol"
292
293
  ],
293
294
  "categoryCoverage": 1,
294
295
  "detections": [
@@ -296,6 +297,12 @@
296
297
  "id": "EXFIL_POST",
297
298
  "severity": "HIGH",
298
299
  "category": "exfiltration"
300
+ },
301
+ {
302
+ "id": "TM_ENV_ACCESS_NETWORK",
303
+ "severity": "CRITICAL",
304
+ "category": "agent-protocol",
305
+ "validation_status": "validated"
299
306
  }
300
307
  ]
301
308
  },
@@ -360,13 +367,19 @@
360
367
  "title": "mal-soul-overwrite",
361
368
  "expected": "malicious",
362
369
  "detected": true,
363
- "risk": 76,
370
+ "risk": 100,
364
371
  "safe": false,
365
372
  "matchedCategories": [
373
+ "persistence",
366
374
  "identity-hijack"
367
375
  ],
368
376
  "categoryCoverage": 1,
369
377
  "detections": [
378
+ {
379
+ "id": "PERSIST_CRON",
380
+ "severity": "HIGH",
381
+ "category": "persistence"
382
+ },
370
383
  {
371
384
  "id": "SOUL_FS_WRITE",
372
385
  "severity": "CRITICAL",
@@ -871,7 +884,8 @@
871
884
  "safe": false,
872
885
  "matchedCategories": [
873
886
  "exfiltration",
874
- "credential-handling"
887
+ "credential-handling",
888
+ "agent-protocol"
875
889
  ],
876
890
  "categoryCoverage": 1,
877
891
  "detections": [
@@ -899,6 +913,12 @@
899
913
  "id": "FETCH_EXFIL_CHAIN",
900
914
  "severity": "CRITICAL",
901
915
  "category": "exfiltration"
916
+ },
917
+ {
918
+ "id": "TM_ENV_ACCESS_NETWORK",
919
+ "severity": "CRITICAL",
920
+ "category": "agent-protocol",
921
+ "validation_status": "validated"
902
922
  }
903
923
  ]
904
924
  },
@@ -1301,7 +1321,8 @@
1301
1321
  "safe": false,
1302
1322
  "matchedCategories": [
1303
1323
  "exfiltration",
1304
- "credential-handling"
1324
+ "credential-handling",
1325
+ "agent-protocol"
1305
1326
  ],
1306
1327
  "categoryCoverage": 1,
1307
1328
  "detections": [
@@ -1334,6 +1355,12 @@
1334
1355
  "id": "PROTO_CRED_FLOW_TRACE_V16",
1335
1356
  "severity": "CRITICAL",
1336
1357
  "category": "credential-handling"
1358
+ },
1359
+ {
1360
+ "id": "TM_ENV_ACCESS_NETWORK",
1361
+ "severity": "CRITICAL",
1362
+ "category": "agent-protocol",
1363
+ "validation_status": "validated"
1337
1364
  }
1338
1365
  ]
1339
1366
  },
@@ -1387,29 +1414,432 @@
1387
1414
  ]
1388
1415
  }
1389
1416
  ]
1417
+ },
1418
+ {
1419
+ "layer": "layer_protocol",
1420
+ "corpus_version": "layer-protocol-2026-03-15",
1421
+ "counts": {
1422
+ "benign": 4,
1423
+ "malicious": 4,
1424
+ "true_positives": 4,
1425
+ "false_negatives": 0,
1426
+ "false_positives": 0,
1427
+ "true_negatives": 4
1428
+ },
1429
+ "metrics": {
1430
+ "precision": 1,
1431
+ "recall": 1,
1432
+ "false_positive_rate": 0,
1433
+ "false_negative_rate": 0,
1434
+ "category_coverage": 1
1435
+ },
1436
+ "benign_results": [
1437
+ {
1438
+ "id": "proto-benign-01",
1439
+ "title": "safe-mcp-doc",
1440
+ "expected": "benign",
1441
+ "detected": false,
1442
+ "risk": 0,
1443
+ "safe": true,
1444
+ "matchedCategories": [],
1445
+ "categoryCoverage": 1,
1446
+ "detections": []
1447
+ },
1448
+ {
1449
+ "id": "proto-benign-02",
1450
+ "title": "jsonrpc-doc",
1451
+ "expected": "benign",
1452
+ "detected": false,
1453
+ "risk": 0,
1454
+ "safe": true,
1455
+ "matchedCategories": [],
1456
+ "categoryCoverage": 1,
1457
+ "detections": []
1458
+ },
1459
+ {
1460
+ "id": "proto-benign-03",
1461
+ "title": "connector-provenance",
1462
+ "expected": "benign",
1463
+ "detected": false,
1464
+ "risk": 0,
1465
+ "safe": true,
1466
+ "matchedCategories": [],
1467
+ "categoryCoverage": 1,
1468
+ "detections": []
1469
+ },
1470
+ {
1471
+ "id": "proto-benign-04",
1472
+ "title": "session-isolation",
1473
+ "expected": "benign",
1474
+ "detected": false,
1475
+ "risk": 0,
1476
+ "safe": true,
1477
+ "matchedCategories": [],
1478
+ "categoryCoverage": 1,
1479
+ "detections": []
1480
+ }
1481
+ ],
1482
+ "malicious_results": [
1483
+ {
1484
+ "id": "proto-mal-01",
1485
+ "title": "mcp-ssrf",
1486
+ "expected": "malicious",
1487
+ "detected": true,
1488
+ "risk": 100,
1489
+ "safe": false,
1490
+ "matchedCategories": [
1491
+ "mcp-security",
1492
+ "credential-handling"
1493
+ ],
1494
+ "categoryCoverage": 1,
1495
+ "detections": [
1496
+ {
1497
+ "id": "MCP_SSRF_META",
1498
+ "severity": "CRITICAL",
1499
+ "category": "mcp-security"
1500
+ },
1501
+ {
1502
+ "id": "CRED_CLOUD_METADATA",
1503
+ "severity": "CRITICAL",
1504
+ "category": "credential-handling"
1505
+ },
1506
+ {
1507
+ "id": "PROTO_MCP_SSRF_V17",
1508
+ "severity": "CRITICAL",
1509
+ "category": "mcp-security"
1510
+ }
1511
+ ]
1512
+ },
1513
+ {
1514
+ "id": "proto-mal-02",
1515
+ "title": "connector-poison",
1516
+ "expected": "malicious",
1517
+ "detected": true,
1518
+ "risk": 52,
1519
+ "safe": false,
1520
+ "matchedCategories": [
1521
+ "mcp-security",
1522
+ "unverifiable-deps"
1523
+ ],
1524
+ "categoryCoverage": 1,
1525
+ "detections": [
1526
+ {
1527
+ "id": "MCP_SHADOW_SERVER",
1528
+ "severity": "HIGH",
1529
+ "category": "mcp-security"
1530
+ },
1531
+ {
1532
+ "id": "MCP_CVE_2026_32247_CONNECTOR_POISON",
1533
+ "severity": "HIGH",
1534
+ "category": "mcp-security"
1535
+ },
1536
+ {
1537
+ "id": "MCP_REGISTRY_OVERRIDE",
1538
+ "severity": "HIGH",
1539
+ "category": "mcp-security"
1540
+ },
1541
+ {
1542
+ "id": "PROTO_MCP_CONNECTOR_POISON_V17",
1543
+ "severity": "HIGH",
1544
+ "category": "mcp-security"
1545
+ },
1546
+ {
1547
+ "id": "TI_REGISTRY_SHADOW_HINT_V16",
1548
+ "severity": "MEDIUM",
1549
+ "category": "unverifiable-deps"
1550
+ }
1551
+ ]
1552
+ },
1553
+ {
1554
+ "id": "proto-mal-03",
1555
+ "title": "jsonrpc-smuggle",
1556
+ "expected": "malicious",
1557
+ "detected": true,
1558
+ "risk": 100,
1559
+ "safe": false,
1560
+ "matchedCategories": [
1561
+ "a2a-contagion",
1562
+ "agent-protocol",
1563
+ "mcp-security"
1564
+ ],
1565
+ "categoryCoverage": 1,
1566
+ "detections": [
1567
+ {
1568
+ "id": "A2A_SMUGGLE",
1569
+ "severity": "CRITICAL",
1570
+ "category": "a2a-contagion"
1571
+ },
1572
+ {
1573
+ "id": "PROTO_STDIO_INJECT",
1574
+ "severity": "HIGH",
1575
+ "category": "agent-protocol"
1576
+ },
1577
+ {
1578
+ "id": "MCP_CVE_2026_31841_INJECTION",
1579
+ "severity": "CRITICAL",
1580
+ "category": "mcp-security"
1581
+ },
1582
+ {
1583
+ "id": "PROTO_MCP_TOOL_MUTATION_V16",
1584
+ "severity": "HIGH",
1585
+ "category": "mcp-security"
1586
+ },
1587
+ {
1588
+ "id": "PROTO_MCP_JSONRPC_INJECT_V17",
1589
+ "severity": "CRITICAL",
1590
+ "category": "mcp-security"
1591
+ }
1592
+ ]
1593
+ },
1594
+ {
1595
+ "id": "proto-mal-04",
1596
+ "title": "cross-client-leak",
1597
+ "expected": "malicious",
1598
+ "detected": true,
1599
+ "risk": 12,
1600
+ "safe": true,
1601
+ "matchedCategories": [
1602
+ "mcp-security"
1603
+ ],
1604
+ "categoryCoverage": 1,
1605
+ "detections": [
1606
+ {
1607
+ "id": "MCP_CROSS_CLIENT_DATA_LEAK",
1608
+ "severity": "HIGH",
1609
+ "category": "mcp-security"
1610
+ }
1611
+ ]
1612
+ }
1613
+ ]
1614
+ },
1615
+ {
1616
+ "layer": "layer_capability",
1617
+ "corpus_version": "layer-capability-2026-03-15",
1618
+ "counts": {
1619
+ "benign": 4,
1620
+ "malicious": 4,
1621
+ "true_positives": 4,
1622
+ "false_negatives": 0,
1623
+ "false_positives": 0,
1624
+ "true_negatives": 4
1625
+ },
1626
+ "metrics": {
1627
+ "precision": 1,
1628
+ "recall": 1,
1629
+ "false_positive_rate": 0,
1630
+ "false_negative_rate": 0,
1631
+ "category_coverage": 1
1632
+ },
1633
+ "benign_results": [
1634
+ {
1635
+ "id": "cap-benign-01",
1636
+ "title": "safe-read",
1637
+ "expected": "benign",
1638
+ "detected": false,
1639
+ "risk": 0,
1640
+ "safe": true,
1641
+ "matchedCategories": [],
1642
+ "categoryCoverage": 1,
1643
+ "detections": []
1644
+ },
1645
+ {
1646
+ "id": "cap-benign-02",
1647
+ "title": "safe-network",
1648
+ "expected": "benign",
1649
+ "detected": false,
1650
+ "risk": 0,
1651
+ "safe": true,
1652
+ "matchedCategories": [],
1653
+ "categoryCoverage": 1,
1654
+ "detections": []
1655
+ },
1656
+ {
1657
+ "id": "cap-benign-03",
1658
+ "title": "safe-upload-doc",
1659
+ "expected": "benign",
1660
+ "detected": false,
1661
+ "risk": 0,
1662
+ "safe": true,
1663
+ "matchedCategories": [],
1664
+ "categoryCoverage": 1,
1665
+ "detections": []
1666
+ },
1667
+ {
1668
+ "id": "cap-benign-04",
1669
+ "title": "approval-doc",
1670
+ "expected": "benign",
1671
+ "detected": false,
1672
+ "risk": 0,
1673
+ "safe": true,
1674
+ "matchedCategories": [],
1675
+ "categoryCoverage": 1,
1676
+ "detections": []
1677
+ }
1678
+ ],
1679
+ "malicious_results": [
1680
+ {
1681
+ "id": "cap-mal-01",
1682
+ "title": "lethal-trifecta",
1683
+ "expected": "malicious",
1684
+ "detected": true,
1685
+ "risk": 100,
1686
+ "safe": false,
1687
+ "matchedCategories": [
1688
+ "credential-handling",
1689
+ "exfiltration",
1690
+ "agent-protocol"
1691
+ ],
1692
+ "categoryCoverage": 1,
1693
+ "detections": [
1694
+ {
1695
+ "id": "CRED_ENV_REF",
1696
+ "severity": "MEDIUM",
1697
+ "category": "credential-handling"
1698
+ },
1699
+ {
1700
+ "id": "EXFIL_POST",
1701
+ "severity": "HIGH",
1702
+ "category": "exfiltration"
1703
+ },
1704
+ {
1705
+ "id": "FETCH_EXFIL_CHAIN",
1706
+ "severity": "CRITICAL",
1707
+ "category": "exfiltration"
1708
+ },
1709
+ {
1710
+ "id": "PROTO_CRED_FLOW_TRACE_V16",
1711
+ "severity": "CRITICAL",
1712
+ "category": "credential-handling"
1713
+ },
1714
+ {
1715
+ "id": "TM_ENV_ACCESS_NETWORK",
1716
+ "severity": "CRITICAL",
1717
+ "category": "agent-protocol",
1718
+ "validation_status": "validated"
1719
+ },
1720
+ {
1721
+ "id": "TM_LETHAL_TRIFECTA",
1722
+ "severity": "CRITICAL",
1723
+ "category": "agent-protocol",
1724
+ "validation_status": "validated"
1725
+ }
1726
+ ]
1727
+ },
1728
+ {
1729
+ "id": "cap-mal-02",
1730
+ "title": "fs-read-network",
1731
+ "expected": "malicious",
1732
+ "detected": true,
1733
+ "risk": 14,
1734
+ "safe": true,
1735
+ "matchedCategories": [
1736
+ "agent-protocol"
1737
+ ],
1738
+ "categoryCoverage": 1,
1739
+ "detections": [
1740
+ {
1741
+ "id": "TM_FS_READ_NETWORK",
1742
+ "severity": "HIGH",
1743
+ "category": "agent-protocol",
1744
+ "validation_status": "validated"
1745
+ }
1746
+ ]
1747
+ },
1748
+ {
1749
+ "id": "cap-mal-03",
1750
+ "title": "env-network",
1751
+ "expected": "malicious",
1752
+ "detected": true,
1753
+ "risk": 100,
1754
+ "safe": false,
1755
+ "matchedCategories": [
1756
+ "credential-handling",
1757
+ "exfiltration",
1758
+ "agent-protocol"
1759
+ ],
1760
+ "categoryCoverage": 1,
1761
+ "detections": [
1762
+ {
1763
+ "id": "CRED_ENV_REF",
1764
+ "severity": "MEDIUM",
1765
+ "category": "credential-handling"
1766
+ },
1767
+ {
1768
+ "id": "EXFIL_POST",
1769
+ "severity": "HIGH",
1770
+ "category": "exfiltration"
1771
+ },
1772
+ {
1773
+ "id": "TM_ENV_ACCESS_NETWORK",
1774
+ "severity": "CRITICAL",
1775
+ "category": "agent-protocol",
1776
+ "validation_status": "validated"
1777
+ }
1778
+ ]
1779
+ },
1780
+ {
1781
+ "id": "cap-mal-04",
1782
+ "title": "fs-network",
1783
+ "expected": "malicious",
1784
+ "detected": true,
1785
+ "risk": 65,
1786
+ "safe": false,
1787
+ "matchedCategories": [
1788
+ "credential-handling",
1789
+ "agent-protocol"
1790
+ ],
1791
+ "categoryCoverage": 1,
1792
+ "detections": [
1793
+ {
1794
+ "id": "CRED_ENV_FILE",
1795
+ "severity": "HIGH",
1796
+ "category": "credential-handling"
1797
+ },
1798
+ {
1799
+ "id": "TM_FS_READ_NETWORK",
1800
+ "severity": "HIGH",
1801
+ "category": "agent-protocol",
1802
+ "validation_status": "validated"
1803
+ },
1804
+ {
1805
+ "id": "TM_LETHAL_TRIFECTA",
1806
+ "severity": "CRITICAL",
1807
+ "category": "agent-protocol",
1808
+ "validation_status": "validated"
1809
+ }
1810
+ ]
1811
+ }
1812
+ ]
1390
1813
  }
1391
1814
  ],
1392
1815
  "aggregate": {
1393
1816
  "counts": {
1394
- "benign": 37,
1395
- "malicious": 35,
1396
- "true_positives": 34,
1817
+ "benign": 45,
1818
+ "malicious": 43,
1819
+ "true_positives": 42,
1397
1820
  "false_negatives": 1,
1398
1821
  "false_positives": 1,
1399
- "true_negatives": 36
1822
+ "true_negatives": 44
1400
1823
  },
1401
1824
  "metrics": {
1402
- "precision": 0.9714,
1403
- "recall": 0.9714,
1404
- "false_positive_rate": 0.027,
1405
- "false_negative_rate": 0.0286
1825
+ "precision": 0.9767,
1826
+ "recall": 0.9767,
1827
+ "false_positive_rate": 0.0222,
1828
+ "false_negative_rate": 0.0233
1406
1829
  }
1407
1830
  },
1408
1831
  "explainability": {
1409
- "complete": 358,
1410
- "total": 358,
1832
+ "complete": 364,
1833
+ "total": 364,
1411
1834
  "rate": 1
1412
1835
  },
1836
+ "meta_guard": {
1837
+ "enabled": false,
1838
+ "evasion_resistance": 0,
1839
+ "adversarial_precision": null,
1840
+ "adversarial_recall": null,
1841
+ "integrity_alerts": []
1842
+ },
1413
1843
  "quality_targets": {
1414
1844
  "precision_min": 0.9,
1415
1845
  "recall_min": 0.9,
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-03-13T14:27:53.074Z",
2
+ "generatedAt": "2026-03-14T10:56:19.119Z",
3
3
  "corpus": {
4
4
  "benign": 17,
5
5
  "malicious": 15
@@ -1,6 +1,6 @@
1
1
  {
2
- "benchmark_version": "2026-03-13.quality-v1",
3
- "generatedAt": "2026-03-14T06:54:57.152Z",
2
+ "benchmark_version": "2026-03-15.quality-v17",
3
+ "generatedAt": "2026-03-17T09:32:42.809Z",
4
4
  "entries": [
5
5
  {
6
6
  "layer": "layer_b",
@@ -1,6 +1,6 @@
1
1
  {
2
- "contract_version": "2026-03-13.quality-v1",
3
- "benchmark_version": "2026-03-13.quality-v1",
2
+ "contract_version": "2026-03-15.quality-v17",
3
+ "benchmark_version": "2026-03-15.quality-v17",
4
4
  "quality_targets": {
5
5
  "precision_min": 0.9,
6
6
  "recall_min": 0.9,
@@ -19,17 +19,27 @@
19
19
  "layers": [
20
20
  {
21
21
  "id": "layer_a",
22
- "corpus": "test/fixtures/corpus/security-corpus.json",
22
+ "corpus": "tests/fixtures/corpus/security-corpus.json",
23
23
  "scanner_options": {}
24
24
  },
25
25
  {
26
26
  "id": "layer_b",
27
- "corpus": "test/fixtures/corpus/adversarial-corpus.json",
27
+ "corpus": "tests/fixtures/corpus/adversarial-corpus.json",
28
28
  "scanner_options": {}
29
29
  },
30
30
  {
31
31
  "id": "layer_c",
32
- "corpus": "test/fixtures/corpus/ecosystem-corpus.json",
32
+ "corpus": "tests/fixtures/corpus/ecosystem-corpus.json",
33
+ "scanner_options": {}
34
+ },
35
+ {
36
+ "id": "layer_protocol",
37
+ "corpus": "tests/fixtures/corpus/protocol-abuse-corpus.json",
38
+ "scanner_options": {}
39
+ },
40
+ {
41
+ "id": "layer_capability",
42
+ "corpus": "tests/fixtures/corpus/capability-compounding-corpus.json",
33
43
  "scanner_options": {}
34
44
  }
35
45
  ]
@@ -1,22 +1,22 @@
1
1
  {
2
- "checkedAt": "2026-03-13T13:54:07.403Z",
3
- "pinnedVersion": "2026.3.12",
4
- "latestVersion": "2026.3.12",
5
- "latestPublishedAt": "2026-03-13T04:13:28.358Z",
6
- "registryModifiedAt": "2026-03-13T04:29:39.807Z",
7
- "githubLatestVersion": "2026.3.12",
8
- "githubPublishedAt": "2026-03-13T04:26:46Z",
9
- "githubUrl": "https://github.com/openclaw/openclaw/releases/tag/v2026.3.12",
2
+ "checkedAt": "2026-03-14T11:13:09.649Z",
3
+ "pinnedVersion": "2026.3.13",
4
+ "latestVersion": "2026.3.13",
5
+ "latestPublishedAt": "2026-03-14T05:36:38.206Z",
6
+ "registryModifiedAt": "2026-03-14T05:36:38.351Z",
7
+ "githubLatestVersion": "2026.3.13",
8
+ "githubPublishedAt": "2026-03-14T05:19:41Z",
9
+ "githubUrl": "https://github.com/openclaw/openclaw/releases/tag/v2026.3.13",
10
10
  "sourceParity": {
11
- "npmLatestVersion": "2026.3.12",
12
- "githubLatestVersion": "2026.3.12",
11
+ "npmLatestVersion": "2026.3.13",
12
+ "githubLatestVersion": "2026.3.13",
13
13
  "inParity": true
14
14
  },
15
15
  "source": "npm",
16
16
  "status": {
17
- "pinnedVersion": "2026.3.12",
18
- "latestVersion": "2026.3.12",
19
- "latestPublishedAt": "2026-03-13T04:13:28.358Z",
17
+ "pinnedVersion": "2026.3.13",
18
+ "latestVersion": "2026.3.13",
19
+ "latestPublishedAt": "2026-03-14T05:36:38.206Z",
20
20
  "source": "npm",
21
21
  "upToDate": true,
22
22
  "ahead": false,
@@ -1,7 +1,7 @@
1
1
  # guard-scanner Continuous OpenClaw Compatibility Plan
2
2
 
3
3
  Date: 2026-03-12
4
- Stable target: OpenClaw `2026.3.12`
4
+ Stable target: OpenClaw `2026.3.13`
5
5
  Baseline regression lane: OpenClaw `2026.3.8`
6
6
 
7
7
  ## Goal