{"generated_at":"2026-07-22T11:05:50.125Z","report_title":"State of MCP Package Security: April 2026","monitoring":{"packages_monitored":1631,"scans_total":41485,"latest_watch_update_at":"2026-07-22T11:04:14.704+00:00","scanner_version":"2.2"},"scores":{"sample_size":1000,"mean":92.4,"median":95,"distribution":{"90-100":801,"80-89":136,"70-79":41,"60-69":17,"50-59":4,"40-49":1,"30-39":0,"20-29":0,"10-19":0,"0-9":0},"bucket_order":["90-100","80-89","70-79","60-69","50-59","40-49","30-39","20-29","10-19","0-9"]},"risk":{"distribution":{"LOW":916,"MODERATE":62,"ELEVATED":21,"HIGH":1,"CRITICAL":0},"order":["LOW","MODERATE","ELEVATED","HIGH","CRITICAL"]},"findings":{"sample_size":500,"scans_in_sample_with_findings":393,"scans_in_sample_without_findings":107,"total_in_sample":562,"by_type":{"no_provenance":345,"command_injection":90,"install_script":48,"no_repository":46,"excessive_dependencies":14,"unsafe_eval":11,"no_license":4,"hardcoded_secret":4},"by_severity":{"critical":0,"high":37,"medium":64,"low":461}},"capabilities":{"sample_size":576,"by_type":{"unknown":544,"search_index":312,"network_egress":192,"database_access":192,"email_messaging":157,"secrets_access":147,"filesystem_read":122,"memory_state":105,"cloud_infra":83,"browser_automation":83,"repo_read":81,"filesystem_write":67,"shell_exec":34,"repo_write":17,"code_analysis":13}},"install_scripts":{"sample_size":879,"present":62,"absent":817,"rate":0.071},"advisories":{"total":83,"by_severity":{"critical":2,"high":47,"medium":0,"low":34},"recent":[{"package":"ucn","severity":"high","published_at":"2026-07-03T09:28:15.311107+00:00"},{"package":"aiwg","severity":"high","published_at":"2026-07-04T23:38:15.262058+00:00"},{"package":"nlobby-cli","severity":"low","published_at":"2026-07-12T00:20:58.026896+00:00"},{"package":"termyte","severity":"low","published_at":"2026-07-13T02:20:55.515229+00:00"},{"package":"metaharness","severity":"high","published_at":"2026-07-17T17:14:18.031041+00:00"},{"package":"prism-mcp-server","severity":"high","published_at":"2026-07-18T13:14:18.171017+00:00"},{"package":"code-auditor-mcp","severity":"low","published_at":"2026-07-18T17:00:49.675203+00:00"},{"package":"mcp-dataverse","severity":"low","published_at":"2026-07-21T14:18:17.942699+00:00"},{"package":"patchwork-os","severity":"low","published_at":"2026-07-21T21:20:33.805038+00:00"},{"package":"agent-security-scanner-mcp","severity":"low","published_at":"2026-07-22T03:04:16.674575+00:00"}]},"lowest_scoring_packages":[{"package":"@stackmemoryai/stackmemory","score":40,"risk":"HIGH","version":"1.14.0"},{"package":"fa-mcp-sdk","score":45,"risk":"HIGH","version":"0.12.19"},{"package":"mneme-ai","score":50,"risk":"ELEVATED","version":"3.153.0"},{"package":"brave-real-browser-mcp-server","score":50,"risk":"ELEVATED","version":"2.45.29"},{"package":"memoir-cli","score":55,"risk":"ELEVATED","version":"3.10.0"},{"package":"vidlens-mcp","score":55,"risk":"ELEVATED","version":"1.4.1"},{"package":"perp-cli","score":55,"risk":"ELEVATED","version":"0.12.17"},{"package":"pythia-lcs","score":55,"risk":"ELEVATED","version":"3.1.0"},{"package":"claude-flow","score":55,"risk":"ELEVATED","version":"3.32.8"},{"package":"eigen-skills","score":60,"risk":"ELEVATED","version":"3.0.0"}],"notes":{"findings_sample":"Findings aggregates reflect the most recent 500 scans rather than all scans on record, to avoid double-counting repeat scans of the same package.","severity_downgrade":"Severity values reflect scanner v2.2 context-aware downgrade: findings flagged by regex but with a detected sanitizer wrapper, test-fixture, or documentation context nearby are reduced in severity with an explicit annotation.","capability_sample":"Capability counts reflect packages that have capability analysis populated on their most recent scan. Older monitored packages may not have this field yet."}}