Plugin scoring
Score a plugin
Review the CANARY score, rationale, and supporting evidence.
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 score
Advisory risk score
Select an algorithm, feature set, and evaluation strategy on the left.
Honest track record
Where pipeline-model-api 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.6% of plugins (top 0.68% across the holdout). No advisory followed any of those dates within 180 days.
| Holdout month | Score | Rank | Share of panel | What followed |
|---|---|---|---|---|
| 2025-07 | 76.6% | 18 of 2,053 | top 0.83% | none within 180 days |
| 2025-08 | 75.0% | 17 of 2,053 | top 0.78% | none within 180 days |
| 2025-09 | 74.6% | 17 of 2,053 | top 0.78% | none within 180 days |
| 2025-10 | 74.5% | 15 of 2,053 | top 0.68% | none within 180 days |
| 2025-11 | 72.5% | 14 of 2,053 | top 0.63% | none within 180 days |
| 2025-12 | 75.8% | 9 of 2,053 | top 0.39% | none within 180 days |
Risk context
Supporting signals
Maintenance history, governance, and dependency risk indicators for this plugin.
Key risk signals
- No advisories found in local dataset.
- Latest release: 2026-08-12.
- Requires Jenkins core 2.504.3.
- Recent commit activity (6 days ago) suggests active maintenance.
- Recent release activity supports active maintenance.
- No SECURITY.md — vulnerability reporting process undocumented (+3).
- No Dependabot or GitHub Actions detected — limited automated maintenance (+3).
- Dependency risk: 1 of 6 dep(s) have advisories.
- Plugin health score 96/100 — acceptable maintenance posture.
Feature details (34 keys)
{
"advisory_count": 0,
"latest_advisory_date": null,
"days_since_latest_advisory": null,
"advisory_within_90d": 0,
"advisory_within_365d": 0,
"had_advisory_within_365d": false,
"max_cvss_base_score_observed": null,
"max_cvss_severity_label_observed": null,
"swh_present": true,
"swh_days_since_last_commit": 6.0,
"swh_commit_count": 32171,
"swh_has_security_md": false,
"swh_has_dependabot": false,
"swh_has_github_actions": false,
"swh_has_tests_directory": true,
"swh_has_changelog": true,
"swh_security_fix_commit_count": 431,
"has_plugin_snapshot": true,
"required_core": "2.504.3",
"dependency_count": 6,
"security_warning_count": 0,
"active_security_warning_count": 0,
"release_timestamp": "2026-08-12T20:37:54+00:00",
"days_since_release": 43,
"dependency_plugins": [
"commons-lang3-api",
"commons-text-api",
"jackson2-api",
"joda-time-api",
"structs",
"workflow-step-api"
],
"dependency_total": 6,
"dependency_risk_points": 2,
"dependency_risk_summary": {
"deps_with_any_advisory": 1,
"deps_with_recent_advisory_365d": 0,
"deps_with_active_warning": 0,
"worst_dep_max_cvss": null,
"worst_dep_id": null,
"worst_dep_latest_advisory_date": null
},
"dependency_missing_data": {
"snapshot_missing": 0,
"advisories_missing": 0,
"healthscore_missing": 0
},
"dependency_details_top": [
{
"plugin_id": "structs",
"advisory_count": 1,
"latest_advisory_date": "2024-06-26",
"recent_advisory_365d": false,
"max_cvss": null,
"security_warning_count": 1,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 2,
"reasons": [
"1 advisories (+2)."
]
}
],
"healthscore_value": 96,
"healthscore_date": "2026-01-23T19:29:22.593481Z",
"healthscore_collected_at": "2026-02-28T16:43:20+00:00",
"score_components": {
"advisory_history": 0,
"advisory_severity": 0,
"staleness": 0,
"active_warnings": 0,
"governance": 6,
"dependency": 0,
"health_score": 0,
"security_sensitivity": 0
}
}JSON payload
{
"plugin": "pipeline-model-api",
"score": 6,
"reasons": [
"No advisories found in local dataset.",
"Latest release: 2026-08-12.",
"Requires Jenkins core 2.504.3.",
"Recent commit activity (6 days ago) suggests active maintenance.",
"Recent release activity supports active maintenance.",
"No SECURITY.md — vulnerability reporting process undocumented (+3).",
"No Dependabot or GitHub Actions detected — limited automated maintenance (+3).",
"Dependency risk: 1 of 6 dep(s) have advisories.",
"Plugin health score 96/100 — acceptable maintenance posture."
],
"features": {
"advisory_count": 0,
"latest_advisory_date": null,
"days_since_latest_advisory": null,
"advisory_within_90d": 0,
"advisory_within_365d": 0,
"had_advisory_within_365d": false,
"max_cvss_base_score_observed": null,
"max_cvss_severity_label_observed": null,
"swh_present": true,
"swh_days_since_last_commit": 6.0,
"swh_commit_count": 32171,
"swh_has_security_md": false,
"swh_has_dependabot": false,
"swh_has_github_actions": false,
"swh_has_tests_directory": true,
"swh_has_changelog": true,
"swh_security_fix_commit_count": 431,
"has_plugin_snapshot": true,
"required_core": "2.504.3",
"dependency_count": 6,
"security_warning_count": 0,
"active_security_warning_count": 0,
"release_timestamp": "2026-08-12T20:37:54+00:00",
"days_since_release": 43,
"dependency_plugins": [
"commons-lang3-api",
"commons-text-api",
"jackson2-api",
"joda-time-api",
"structs",
"workflow-step-api"
],
"dependency_total": 6,
"dependency_risk_points": 2,
"dependency_risk_summary": {
"deps_with_any_advisory": 1,
"deps_with_recent_advisory_365d": 0,
"deps_with_active_warning": 0,
"worst_dep_max_cvss": null,
"worst_dep_id": null,
"worst_dep_latest_advisory_date": null
},
"dependency_missing_data": {
"snapshot_missing": 0,
"advisories_missing": 0,
"healthscore_missing": 0
},
"dependency_details_top": [
{
"plugin_id": "structs",
"advisory_count": 1,
"latest_advisory_date": "2024-06-26",
"recent_advisory_365d": false,
"max_cvss": null,
"security_warning_count": 1,
"active_security_warning_count": 0,
"healthscore": 100,
"risk_points": 2,
"reasons": [
"1 advisories (+2)."
]
}
],
"healthscore_value": 96,
"healthscore_date": "2026-01-23T19:29:22.593481Z",
"healthscore_collected_at": "2026-02-28T16:43:20+00:00",
"score_components": {
"advisory_history": 0,
"advisory_severity": 0,
"staleness": 0,
"active_warnings": 0,
"governance": 6,
"dependency": 0,
"health_score": 0,
"security_sensitivity": 0
}
}
}