Plugin scoring
Score a plugin
Review the CANARY score, rationale, and supporting evidence.
The forecast comes from the frozen champion configuration applied to the newest panel month; the signals beneath it describe the plugin's current state and are not part of the validated forecast.
AI explanation
Explain this score
Bring your own AI
Copy the prompt below and paste it into Claude, ChatGPT, or any other AI assistant. You control what gets shared.
Show / edit raw prompt
"Explain now" uses the server API key (max 3/hr). "Open in" buttons use your own account with no limits. AI-generated explanations are provided for informational purposes only, may contain inaccuracies or omissions, and should not be relied upon as authoritative security guidance.
CANARY forecast · as of 2026-06
git
Activity-recency clocks + Contributor dynamics · Logistic Regression: the frozen champion fold model (oot_champion/fold_2025-11, trained on months before 2025-11, labels as known 2025-12) applied to the newest month of the panel. Inference only; no outcome for this month is known yet.
Read the rank, not the score. The score is the model's raw output and is not a probability: on the holdout the champion's mean score is about 0.5 against an observed advisory rate of 1 percent. Across the pre-registered holdout, reviewing the top fifth of plugins by this ranking caught about half of the advisories that followed.
Honest track record
Where git ranked before each window
Activity-recency clocks + Contributor dynamics · Logistic Regression, embargoed rolling backtest: the rank this plugin held among every scored plugin at each forecast date, using only what was knowable then. Shaded months are the pre-registered holdout.
Scored at 32 forecast dates; on average in the top 1.5% of plugins (top 0.88% across the holdout). No advisory followed any of those dates within six months.
| Holdout month | Score | Rank | Share of panel | What followed |
|---|---|---|---|---|
| 2025-07 | 80.9% | 8 of 2,053 | top 0.34% | none within six months |
| 2025-08 | 74.6% | 22 of 2,053 | top 1.0% | none within six months |
| 2025-09 | 77.3% | 12 of 2,053 | top 0.54% | none within six months |
| 2025-10 | 73.3% | 21 of 2,053 | top 0.97% | none within six months |
| 2025-11 | 69.9% | 26 of 2,053 | top 1.2% | none within six months |
| 2025-12 | 71.8% | 25 of 2,053 | top 1.2% | none within six months |
Current-state context
Supporting signals
Maintenance history, governance artifacts, SLSA provenance and known advisories in dependencies, read from the plugin's current public state. A practitioner's dashboard, not part of the validated forecast.
Key risk signals
- 9 prior advisory record(s) — history +15, recency +0 (0 within 90d, 0 within 365 days); component total +15 (cap 30).
- No advisory activity in the last 365 days — historical record only.
- Advisory severity (max CVSS 7.5 — High): +15 (cap 15).
- Latest release: 2026-03-25.
- Requires Jenkins core 2.504.3.
- Last commit: October 16, 2026 — live data from GitHub.
- 9 historical security warning(s) — none currently active.
- No SECURITY.md — vulnerability reporting process undocumented (+3).
- No Dependabot or GitHub Actions detected — limited automated maintenance (+3).
- No changelog detected — release transparency limited (+2).
- Dependency risk: 12 of 17 dep(s) have advisories; worst: git-client (CVSS 8.8).
- Plugin health score 100/100 — acceptable maintenance posture.
Feature details (34 keys)
{
"advisory_count": 9,
"latest_advisory_date": "2022-08-23",
"days_since_latest_advisory": 1539,
"advisory_within_90d": 0,
"advisory_within_365d": 0,
"had_advisory_within_365d": false,
"max_cvss_base_score_observed": 7.5,
"max_cvss_severity_label_observed": "High",
"swh_present": true,
"swh_days_since_last_commit": 4.6,
"swh_commit_count": 77897,
"swh_has_security_md": false,
"swh_has_dependabot": false,
"swh_has_github_actions": false,
"swh_has_tests_directory": true,
"swh_has_changelog": false,
"swh_security_fix_commit_count": 3010,
"has_plugin_snapshot": true,
"required_core": "2.504.3",
"dependency_count": 17,
"security_warning_count": 9,
"active_security_warning_count": 0,
"release_timestamp": "2026-03-25T20:14:00+00:00",
"days_since_release": 228,
"dependency_plugins": [
"commons-lang3-api",
"configuration-as-code",
"credentials",
"credentials-binding",
"git-client",
"ionicons-api",
"mailer",
"matrix-project",
"parameterized-trigger",
"promoted-builds",
"scm-api",
"script-security",
"ssh-credentials",
"structs",
"token-macro",
"workflow-scm-step",
"workflow-step-api"
],
"dependency_total": 17,
"dependency_risk_points": 74,
"dependency_risk_summary": {
"deps_with_any_advisory": 12,
"deps_with_recent_advisory_365d": 3,
"deps_with_active_warning": 0,
"worst_dep_max_cvss": 8.8,
"worst_dep_id": "git-client",
"worst_dep_latest_advisory_date": "2026-06-24"
},
"dependency_missing_data": {
"snapshot_missing": 0,
"advisories_missing": 0,
"healthscore_missing": 0
},
"dependency_details_top": [
{
"plugin_id": "git-client",
"advisory_count": 6,
"latest_advisory_date": "2026-06-24",
"recent_advisory_365d": true,
"max_cvss": 8.8,
"security_warning_count": 6,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"6 advisories (+10).",
"Max CVSS 8.8 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "script-security",
"advisory_count": 26,
"latest_advisory_date": "2026-06-24",
"recent_advisory_365d": true,
"max_cvss": 8.8,
"security_warning_count": 28,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"26 advisories (+10).",
"Max CVSS 8.8 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "credentials-binding",
"advisory_count": 6,
"latest_advisory_date": "2026-05-27",
"recent_advisory_365d": true,
"max_cvss": 7.5,
"security_warning_count": 7,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"6 advisories (+10).",
"Max CVSS 7.5 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "matrix-project",
"advisory_count": 4,
"latest_advisory_date": "2024-01-24",
"recent_advisory_365d": false,
"max_cvss": 8.8,
"security_warning_count": 5,
"active_security_warning_count": 0,
"healthscore": 97,
"risk_points": 12,
"reasons": [
"4 advisories (+8).",
"Max CVSS 8.8 (+4)."
]
},
{
"plugin_id": "promoted-builds",
"advisory_count": 3,
"latest_advisory_date": "2022-04-12",
"recent_advisory_365d": false,
"max_cvss": 8.0,
"security_warning_count": 4,
"active_security_warning_count": 0,
"healthscore": 80,
"risk_points": 11,
"reasons": [
"3 advisories (+6).",
"Max CVSS 8.0 (+4).",
"Health score 80 (+1)."
]
}
],
"healthscore_value": 100,
"healthscore_date": "2026-02-24T03:27:49.683145Z",
"healthscore_collected_at": "2026-02-28T16:43:20+00:00",
"score_components": {
"advisory_history": 15,
"advisory_severity": 15,
"staleness": 0,
"active_warnings": 0,
"governance": 8,
"dependency": 5,
"health_score": 0,
"security_sensitivity": 0
}
}JSON payload
{
"plugin": "git",
"score": 43,
"reasons": [
"9 prior advisory record(s) — history +15, recency +0 (0 within 90d, 0 within 365 days); component total +15 (cap 30).",
"No advisory activity in the last 365 days — historical record only.",
"Advisory severity (max CVSS 7.5 — High): +15 (cap 15).",
"Latest release: 2026-03-25.",
"Requires Jenkins core 2.504.3.",
"Recent commit activity (4 days ago) suggests active maintenance.",
"9 historical security warning(s) — none currently active.",
"No SECURITY.md — vulnerability reporting process undocumented (+3).",
"No Dependabot or GitHub Actions detected — limited automated maintenance (+3).",
"No changelog detected — release transparency limited (+2).",
"Dependency risk: 12 of 17 dep(s) have advisories; worst: git-client (CVSS 8.8).",
"Plugin health score 100/100 — acceptable maintenance posture."
],
"features": {
"advisory_count": 9,
"latest_advisory_date": "2022-08-23",
"days_since_latest_advisory": 1539,
"advisory_within_90d": 0,
"advisory_within_365d": 0,
"had_advisory_within_365d": false,
"max_cvss_base_score_observed": 7.5,
"max_cvss_severity_label_observed": "High",
"swh_present": true,
"swh_days_since_last_commit": 4.6,
"swh_commit_count": 77897,
"swh_has_security_md": false,
"swh_has_dependabot": false,
"swh_has_github_actions": false,
"swh_has_tests_directory": true,
"swh_has_changelog": false,
"swh_security_fix_commit_count": 3010,
"has_plugin_snapshot": true,
"required_core": "2.504.3",
"dependency_count": 17,
"security_warning_count": 9,
"active_security_warning_count": 0,
"release_timestamp": "2026-03-25T20:14:00+00:00",
"days_since_release": 228,
"dependency_plugins": [
"commons-lang3-api",
"configuration-as-code",
"credentials",
"credentials-binding",
"git-client",
"ionicons-api",
"mailer",
"matrix-project",
"parameterized-trigger",
"promoted-builds",
"scm-api",
"script-security",
"ssh-credentials",
"structs",
"token-macro",
"workflow-scm-step",
"workflow-step-api"
],
"dependency_total": 17,
"dependency_risk_points": 74,
"dependency_risk_summary": {
"deps_with_any_advisory": 12,
"deps_with_recent_advisory_365d": 3,
"deps_with_active_warning": 0,
"worst_dep_max_cvss": 8.8,
"worst_dep_id": "git-client",
"worst_dep_latest_advisory_date": "2026-06-24"
},
"dependency_missing_data": {
"snapshot_missing": 0,
"advisories_missing": 0,
"healthscore_missing": 0
},
"dependency_details_top": [
{
"plugin_id": "git-client",
"advisory_count": 6,
"latest_advisory_date": "2026-06-24",
"recent_advisory_365d": true,
"max_cvss": 8.8,
"security_warning_count": 6,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"6 advisories (+10).",
"Max CVSS 8.8 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "script-security",
"advisory_count": 26,
"latest_advisory_date": "2026-06-24",
"recent_advisory_365d": true,
"max_cvss": 8.8,
"security_warning_count": 28,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"26 advisories (+10).",
"Max CVSS 8.8 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "credentials-binding",
"advisory_count": 6,
"latest_advisory_date": "2026-05-27",
"recent_advisory_365d": true,
"max_cvss": 7.5,
"security_warning_count": 7,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 17,
"reasons": [
"6 advisories (+10).",
"Max CVSS 7.5 (+4).",
"Recent advisory within 365d (+3)."
]
},
{
"plugin_id": "matrix-project",
"advisory_count": 4,
"latest_advisory_date": "2024-01-24",
"recent_advisory_365d": false,
"max_cvss": 8.8,
"security_warning_count": 5,
"active_security_warning_count": 0,
"healthscore": 97,
"risk_points": 12,
"reasons": [
"4 advisories (+8).",
"Max CVSS 8.8 (+4)."
]
},
{
"plugin_id": "promoted-builds",
"advisory_count": 3,
"latest_advisory_date": "2022-04-12",
"recent_advisory_365d": false,
"max_cvss": 8.0,
"security_warning_count": 4,
"active_security_warning_count": 0,
"healthscore": 80,
"risk_points": 11,
"reasons": [
"3 advisories (+6).",
"Max CVSS 8.0 (+4).",
"Health score 80 (+1)."
]
}
],
"healthscore_value": 100,
"healthscore_date": "2026-02-24T03:27:49.683145Z",
"healthscore_collected_at": "2026-02-28T16:43:20+00:00",
"score_components": {
"advisory_history": 15,
"advisory_severity": 15,
"staleness": 0,
"active_warnings": 0,
"governance": 8,
"dependency": 5,
"health_score": 0,
"security_sensitivity": 0
}
}
}