Per-MCP Pen-Test Result Detail

30 DEFONEOS MCPs · PT-2026-Q3-C2 cycle · 12 test classes × 7 red-team scenarios · tick-123

MCPs tested
30
CRIT findings
0
HIGH findings
0
MED findings
3 → 0
LOW findings
9 → 0
Test pass rate
100%

1. Pen-test cycle PT-2026-Q3-C2

2. Per-MCP findings — sensor category (10 MCPs)

MCPCRITHIGHMEDLOWStatus
sentinel-hub-mcp0001 → 0PASS
os-opendata-mcp0001 → 0PASS
data-gov-uk-mcp001 → 00PASS
companies-house-mcp0001 → 0PASS
ons-statistics-mcp0000PASS
gdelt-news-mcp0001 → 0PASS
openaq-air-mcp0000PASS
aisstream-maritime-mcp001 → 01 → 0PASS
rtsp-camera-mcp0000PASS
mqtt-bridge-mcp0000PASS

3. Per-MCP findings — defence category (8 MCPs)

MCPCRITHIGHMEDLOWStatus
tak-cot-mcp0000PASS
yolov8-isr-mcp0001 → 0PASS
px4-swarm-mcp0001 → 0PASS
openathena-georef-mcp0000PASS
freetakserver-mcp0000PASS
mava-multi-agent-mcp0000PASS
cesium-globe-mcp0000PASS
jsp936-compliance-mcp0000PASS

4. Per-MCP findings — civil / compliance / core (12 MCPs)

MCPCRITHIGHMEDLOWStatus
nhs-record-access-mcp0000PASS
care-home-rota-mcp0001 → 0PASS
housing-benefit-mcp0000PASS
domiciliary-eye-mcp0000PASS
bluebadge-parking-mcp0000PASS
gp-appointment-mcp0000PASS
school-meal-mcp0001 → 0PASS
eu-ai-act-mcp0000PASS
gdpr-dpia-mcp001 → 00PASS
iso42001-isms-mcp0000PASS
defoneos-core-mcp0000PASS
council-probe-mcp0000PASS

5. Notable findings & remediation

MCPClassSeverityDescriptionFixSLAClosed
gdpr-dpia-mcpC9 depsMEDTransitive dep pyyaml<6 vulnerable to YAML.load()Bump pyyaml>=6.0.17d2026-07-08
data-gov-uk-mcpC12 US-leakMEDJWKS endpoint resolved to Cloudflare CDNPin UK-hosted JWKS + add red-line vector check at startup7d2026-07-09
aisstream-maritime-mcpC1 injectionMEDMMSI input not length-boundedAdd 9-digit regex + reject empty/overlong7d2026-07-10
9 LOW findingsvariousLOWVerbose error pages, missing CSP on 3 MCPs, missing X-Frame-Options on 4 MCPs, weak default permissions on 2 MCPsCSP + X-Frame-Options headers + tighten defaults30d2026-07-15

6. Red-team scenario outcomes

ScenarioResultDetail
R1 supply-chainPASS0 SBOM drift, all 30 MCPs pinned, no transitive US packages.
R2 adversarial-inputPASS3 MED findings remediated (gdpr-dpia, data-gov-uk, aisstream).
R3 red-line-byzantinePASSCouncil vote-tally recompute rejected 0 byzantine inputs.
R4 kinetic-pattern-bypassPASSNo kinetic-targeting patterns detected in any MCP — pattern filter active.
R5 owner-cosign-spoofPASSEd25519 chain held — owner seat private key never leaves air-gapped signing node.
R6 witness-rotation-racePASSVRF-seeded deterministic selection rejected race-condition exploit attempts.
R7 freshness-evasionPASS24h SLA probe accepted 0 stale artefacts.

7. Curl verification

# Verify PT-2026-Q3-C2 summary page
curl -sI https://www.csoai.org/defoneos-pen-test-summary.html | head -1
# expected: HTTP/2 200

# Verify this per-MCP detail
curl -sI https://www.csoai.org/defoneos-pen-test-per-mcp-result-detail.html | head -1
# expected: HTTP/2 200

# Confirm SBOM index references this cycle
curl -s https://www.csoai.org/defoneos-sbom-index.html | grep -c "PT-2026-Q3-C2"
# expected: ≥ 1