PUBLIC-EVIDENCE AI SECURITY CASE STUDY

Hermes Agent first-message Git helper execution

The first agent message caused Hermes Git context gathering to invoke an executable helper from packaged .git/config as the developer. The attack requires a delivered repository directory or ZIP with .git/config files; ordinary clone, fetch, and pull do not transfer this path.

Agentic / MCP SystemTier 3Indicative ERS 4.1 (1.2–7.0)Evidence source date 2026-09-01

Use case sources

Source reports and analysis supporting this case are listed below. AITBM interpretation and any indicative scoring are derived from this public evidence.

Linked library records

Independent products or attack paths are assessed separately. A combined report receives no aggregate score.

Original report record: GitSpawn Runs From a Repository Before the Coding Agent Can Ask for Trust.

The first agent message caused Hermes Git context gathering to invoke an executable helper from packaged .git/config as the developer. The attack requires a delivered repository directory or ZIP with .git/config files; ordinary clone, fetch, and pull do not transfer this path.

ASSESSED SYSTEM

Researcher-tested Hermes Agent 0.18.2 and 0.21.0 first-message workflows, when opening a physical repository/ZIP containing attacker-authored .git/config.

OUT OF SCOPE

Ordinary Git clone/fetch/pull, other agent products or releases, real victim execution, and current patch state after the September 1 report are outside this bounded path.

Architecture: Agentic / MCP System (decision tree Q2) — The named coding agent autonomously gathers Git context during startup, review, or the first message. Tier 3: Tier 3 representative developer or internal AI workflow scenario; the original source does not establish every operator tier.

Documented attack or failure path

  1. An attacker supplied a physical repository directory or ZIP that already contained an executable .git/config helper setting.
  2. The named coding agent opened that repository and its Git context gathering reached the configured helper.
  3. The helper ran with developer host permissions outside the agent sandbox/approval gate.

Observed controls and bounded outcomes

Positive credit is given only where the record directly demonstrates a control operating. Recommended or merely presumed controls receive no positive scoring credit.

  • The Git transport boundary holds for ordinary clone, fetch, and pull: the attack requires physical .git/config files in the delivered repository.

Layer 1 — Intrinsic Vulnerability Profile

Each sub-metric is placed on its five-level rubric by the evidence quoted beside it. Missing applicable evidence remains unknown. The displayed midpoint and interval are scenario values, not inferred control performance.

Sub-metricScoreRubric basisEvidence
Robustness (Ro) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.40 indeterminate
Fairness (Fa) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.45 indeterminate
Transparency (Tr) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.45 indeterminate
Privacy (Pr) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.50 indeterminate
Containment (Cn) — scenario interval 0.00–0.91 (midpoint 0.46), Tier 3 MVT 0.50 indeterminate
Cn-1Scope Enforcement0.00w 0.09An attacker-authored Git setting caused the assessed agent workflow to execute a host command outside the stated sandbox/approval scope; Cn-1 0.00.The first agent message caused Hermes Git context gathering to invoke an executable helper from packaged .git/config as the developer.source: primary report

Unknown, not N/A: 25 applicable sub-metrics lack admissible public evidence. The lower, midpoint, and upper scenarios evaluate each at 0.00, 0.50, and 1.00 respectively; no weight is redistributed merely because evidence is missing.

Layer 2 — Operational Risk Posture

DimensionScoreJustification
AaAutonomy Amplification0.75w 0.20Representative activity level for the documented bounded AI path; deployment-specific autonomy was not measured.
AsAttack Surface Exposure0.50w 0.25Representative exposure of the documented entry path; this is a scenario assumption and not a census of all operators.
CpCascade Potential1.00w 0.30No verified System Dependency Graph or DGC is published, so framework worst-case Cp default applies.GDCP: worst-case default — no verified dependency graph published elevated
RfRemediation Feasibility0.50w 0.25A specific patch or configuration change is documented; repair feasibility is an inferred representative scenario, not measured recovery time.

Nelevated = 1 (dimensions strictly above 0.75) → CRM = 1.00.

Layer 3 — Public-evidence confidence diagnostic

ComponentScoreBasis
Pc — Public provenance evidence0.25Minimal public provenance identifies the affected path but supplies no operator assessment pack, signed configuration inventory, or repeated metric battery.
Ec — Public evaluation coverage0.03coverage 0.04 (1 of 26 applicable sub-metrics) × independence 0.80 × fidelity 0.95. No Full, Standard, or Lite pathway is claimed for a retrospective article.
Tf — Public-evidence freshness0.70Evidence dated 2026-09-01; age 47 days on the workpaper reference date. Components: T_containment 0.70 · C_monitor 0.70 · T_calendar 0.84. Binding term: T_containment. Evidence reference is 2026-10-18, 47 days after earliest substantive public evidence (2026-09-01). C_monitor uses the conservative Tier 3 public-evidence default because usable monitoring-coverage evidence is unavailable; it does not assert no deployment telemetry. No C_event cap is asserted from research or an advisory without a dated victim incident. No generic C_evidence cap is assigned from missing public inputs. Indicative ERS uses normalized ACI = 1.00 for comparison only.

Public-evidence ACI = (Pc × Ec × Tf)1/3 = 0.17 — diagnostic status: Invalid as assessment-of-record evidence. It describes the evidence available to this case study, not the assurance of the underlying system, and is not inserted into the normalized-assurance scenario ERS.

Indicative ERS — normalized-assurance scenario

Worp · ORP0.20(0.75) + 0.25(0.50) + 0.30(1.00) + 0.25(0.50) = 0.700
CRMNelevated = 1 → 1.00
ORPeffective0.700 × 1.00 = 0.700
Wivp · IVP midpoint0.20(0.50) + 0.15(0.50) + 0.20(0.50) + 0.25(0.50) + 0.20(0.46) = 0.491
IVP mitigation0.15 + 0.85(1 − 0.491) = 0.583
Scenario assuranceACI fixed at 1.000 for cross-case comparison; public-evidence ACI 0.172 is diagnostic only
Indicative ERS midpointmin(10, 0.700 × 0.583 × 1/1.000 × 10) = 4.1
Unknown-input interval1.2–7.0; 25 unknown applicable sub-metrics set to 1.00 / 0.00 at the bounds

Published CVSS beside indicative ERS

Each published CVSS record is shown exactly as its scorer published it, one per vulnerability record, with the version, metric group and vector when stated, plus its source and access date. Records are never combined or inferred from a CVE's existence.

INDICATIVE ERS · NORMALIZED-ASSURANCE SCENARIO

4.1 midpoint, interval 1.2–7.0; Low-Moderate scenario band; ACI fixed at 1.00. The published CVSS records do not enter this calculation.

PUBLISHED CVSS · 2 records

CVE-2026-71963 CVSS 4.0 Base 8.6 High

Published score8.6
CVSS version4.0
Metric groupBase
SeverityHigh
VectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Scored byCVE CNA
Source recordhttps://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/71xxx/CVE-2026-71963.json (accessed 2026-10-18)
Affected componentHermes Agent 0.18.2 and 0.21.0 first-message workflows
Scope noteCNA CVSS applies to the identified Git helper path in the version-tested product.

CVSS describes an individual vulnerability as its scorer published it. Indicative ERS describes the assessed AI deployment under the normalized-assurance scenario, so the two values are not direct equivalents and neither replaces the other.

WHAT THIS CASE TEACHES

The first agent message caused Hermes Git context gathering to invoke an executable helper from packaged .git/config as the developer. The attack requires a delivered repository directory or ZIP with .git/config files; ordinary clone, fetch, and pull do not transfer this path.

Sources: Manifold original product-path demonstration, 2026-09-01 · Published CVE record for the named product path

AITBM sub-metrics referenced