Assessment run

dev · us-east-1
Runs / 0d65200c-2dd5-4e98-9cf2-015acb62f617Live assessmentCompleted 2026-10-28 23:46 UTC

Enterprise platform team builds a support assistant from registry-pulled open-source components

Organization
Meridian Logistics Group
Vendor / dependency
RouteHelp (internally built assistant from open-source components)
Industry
Generic business
Run time
67 min 53 s · 38 agent calls
Headline · class 7
8.3HIGH
SOV:1.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:P/AU:Y/R:A/V:D/RE:L/U:RedAgent-assigned metrics, deterministically scored; not expert-reviewed.Download walkthrough (Markdown)

Ratings by hazard class

The headline is the worst class, as CVSS reports the worst finding, not a sum

ClassCarried byScoreRatingLoad-bearing metrics
1 Whose AI brain is this, really?1.3 Model update / versioning control9.2HIGHAVACATPRUIVCVISIEAUU
2 What are we feeding it?2.2 Internal documents ingested for RAG7.0HIGHACATPRVCVISIESAUU
3 What does it create from our data: and where does THAT go?3.2 Vector database / embedding store location and control7.0HIGHACATPRVCVISCSIESAUU
4 Who's deciding what the AI sees and does?4.2 Orchestration / agent framework7.0HIGHACATPRVCVISCSIEAUVU
5 Which humans are actually looking at our stuff?5.1 Human review processes5.8MEDIUMACATPRVISIAUU
6 Who's holding the steering wheel?6.4 Configuration and policy management7.9HIGHACATPRUIVISCSIEAUVU
7 How many companies are really in this chain: and did we agree to it? ◆7.4 Open source components in the pipeline8.3HIGHAVACATPRVCVISCSIESAUU

Findings

What we found per class, in the auditor's language; open the evidence to see each metric's rationale

  1. 1 Whose AI brain is this, really?

    1.3 Model update / versioning control · also 1.2, 1.4
    HIGH9.2

    Meridian Logistics Group genuinely owns the RouteHelp brain in the ways that matter most: the model weights are open and self-hosted in Meridian's own cloud account, and the platform team confirmed the whole stack could be rebuilt elsewhere with no loss of capability. The weakness is not where the model lives but who decides when it changes. Every week the deployment pipeline downloads a fresh copy of the embedding model from a public model hub, identified only by a version label and not by a fingerprint that proves the file is the same file, and nobody reads the accompanying documentation or tests the new model before it serves live answers. In practice the decision about how RouteHelp behaves rests with an anonymous publisher on a public website who owes Meridian no notice, no explanation and no warning, and who can push a change at any moment.

    Rating HIGH. Meridian can move this system anywhere it likes, but it cannot currently tell you who changed the model's behaviour last week, or whether anyone checked.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:L/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:N/AU:Y/R:U/V:D/RE:L/U:Red Score 9.2 (Critical)

    Ask the vendor Whose AI model is actually answering our questions, yours, or one you're renting from someone else? · If we stopped paying you tomorrow, could we take this AI capability somewhere else, or does it just disappear? · Can the AI's behavior change overnight without you telling us?

    MetricValuePriorSourceRationale
    AV Access PathNAagent · overrideOverride A->N. The questionnaire's 'subprocessor of the vendor' answer describes the primary dependency; for 1.3 there is no vendor and no subprocessor chain at all ('no commercial AI vendor is involved', 'no contractual counterparty'). The path by which model behaviour changes reach Meridian is a direct weekly network pull of an embedding-model artefact from a public model hub and packages from a public package registry - vendor-direct, no intermediary hop. ATLAS AML.CS0065 shows precisely this path: a pipeline with an unpinned name-only reference resolves over the network to an attacker-published artefact in cloud model catalogs/deployment pipelines. L (Local) was considered because the model executes inside Meridian's own cloud account, but the control being assessed (who decides the model changes) is exercised remotely at the hub, not locally.
    AC Compulsion ComplexityLLagentConfirm L. There are no technical or contractual barriers to overcome: dependencies are pinned by version but not by hash, there is no signature verification, no model-card or package-diff review, and no gate before artefacts reach production. ATLAS AML.CS0065 demonstrates that re-publishing under a reclaimed/stale identifier suffices without compromising the original owner's account, and the ATLAS mitigations that would constitute a barrier here (AML.M0013 Code Signing, AML.M0014 Verify AI Artifacts, AML.M0008 Validate AI Model) are all absent. Routine publication of a new artefact version is enough.
    AT Trigger ConditionsNPagent · overrideOverride P->N. AT is a primary exploitability metric for 1.3 (rubric), and the dimension asks whether behaviour change can occur at the publisher's discretion at any time. The upstream publisher can push a behaviour-affecting artefact whenever it chooses, and Meridian's pipeline pulls unconditionally every week - no sanctions designation, litigation hold or incident is required. The questionnaire's 'only upon a specific event' answer reflects a contractual vendor's product/legal decisions, which do not apply to an anonymous public-hub publisher. ATLAS AML.CS0065 requires no triggering condition beyond the existence of a stale/unpinned reference.
    PR Position RequiredNNagentConfirm N (weakest position required, read against this category's facts). No privileged standing is needed: anyone able to publish under the referenced model-hub namespace or package-registry name can change what Meridian's pipeline loads. ATLAS AML.CS0065 shows an outside party registering an abandoned namespace - 'the original owner's account was not compromised' - and thereby displacing the trusted artefact. Meridian's own administrative credentials (H) are not required, and there is no primary contracted vendor (L) in this stack at all.
    UI Org Action RequiredNPagent · overrideOverride P->N. UI is the metric the rubric expects to carry 1.3, and its N definition explicitly names the 'silent model swap'. Meridian takes no affirmative action per update and the exposure does not even require ordinary use to surface it: the deployment pipeline pulls a new embedding-model artefact weekly and promotes it to production with no hash pin and no model-card review, so an upstream behaviour change lands unilaterally and un-notified (the questionnaire records notification of sovereignty-relevant changes as 'Unknown' and confirms behaviour 'can be changed silently and materially'). P would understate this, as it presumes the org's own use is the trigger rather than an unprompted upstream push. ATLAS AML.CS0065 confirms the swap is invisible to deployers holding unpinned references; FRB SR 11-7 and EU AI Act Art. 11(2)(f) treat such unreviewed, unlogged behaviour-affecting changes as a change-control failure.
    VC Primary Dependency Impact -- ConfidentialityHLagent · overrideOVERRIDE L -> H for this category. For dimension 1.3 the "primary dependency" is the embedding-model artefact pulled weekly from a public model hub with version-but-not-hash pinning and no model-card review. The scenario states that a maliciously updated model file "would execute with access to the support knowledge base and 40 million customer shipment records". Loading an unverified model artefact is an execution primitive, not merely a behavioural one: ATLAS AML.T0011.000 (Unsafe AI Artifacts) and AML.T0018.002 (Embed Malware) are realized techniques, demonstrated in AML.CS0031 (malicious models on Hugging Face executing a reverse-shell payload on load) and AML.CS0065 (model-namespace reuse resolving a name-only model reference to an attacker-controlled artefact, executing a payload in the deployment environment -- exactly the stale, unpinned reference pattern Meridian's weekly pull uses). Code execution in the serving environment with reach into the vector store and 40M shipment records is a total/near-total loss on the confidentiality axis at this dependency, not the "metadata, fragments, aggregates" partial loss the questionnaire prior assumes (that prior reflects the generic commercial-vendor framing, not an unsigned artefact loaded in-process). Noted that no hash pinning and no code signing exist (mitigations AML.M0013 Code Signing, AML.M0008 Validate AI Model are both absent).
    VI Primary Dependency Impact -- IntegrityHHagentCONFIRM H. VI is the rubric's designated primary impact axis for dimension 1.3 ("primary_impact_axis": ["VI"]), and the facts match it squarely: the pipeline pulls a new embedding-model artefact weekly, pinned only by version and not by hash, with no model-card review before production, so the effective decision over model behaviour sits with an anonymous upstream publisher and behaviour "can be changed silently and materially" (questionnaire). ATLAS AML.T0115.001 (publishing poisoned models -- maturity Realized) and AML.CS0064 show artefacts that preserve expected behaviour absent a trigger while embedding altered prompt-construction logic, yielding AML.T0031 Erode AI Model Integrity; AML.CS0028 shows weight/architecture modification pushed under the same name and tag so that automated CI/CD pulls it. With no hash pin, no signing and no evaluation of the swapped model (1.4 weak), integrity of the model's behaviour is totally under third-party control: H.
    VA Primary Dependency Impact -- AvailabilityLLagentCONFIRM L. An un-notified model swap can break or degrade the capability (an incompatible or lower-quality embedding model degrades retrieval, or a removed/renamed artefact fails the weekly pull), but it does not remove the capability outright: the weights are already self-hosted in Meridian's own cloud account (1.2 is a mitigant -- the questionnaire confirms reconstitution "with no loss: exported weights, portable data, standard interfaces"), the component can be swapped or rolled back in days ("Trivial: swap-out"), and only one narrow workload depends on it. That is "partial: degraded service or temporary loss" rather than total loss of availability. Note the residual availability risk is upstream-artefact-removal (cf. AML.CS0065 namespace/redirect loss), which again is recoverable from locally held weights.
    SC Downstream Blast-Radius Impact -- ConfidentialityLLagentConfirmed at L, with a flagged alternate reading. For dimension 1.3 the mechanism that propagates beyond the embedding model is an un-notified *behaviour* change, not a direct read of downstream stores: the rubric itself characterises 1.3 as 'textbook Subsequent Integrity impact' and names VI (not VC) as the primary impact axis, with no confidentiality note (sovereignty_cvss_rubric_1.json, dimension 1.3). The realistic downstream confidentiality loss from a silent embedding-model swap is partial and indirect: changed vector geometry alters retrieval ranking, so knowledge-base passages and shipment-record fragments can surface to customer-service agents in twelve countries outside the intended retrieval scope, and because no one reviews the model card the drift is undetected. This matches the respondent's own judgement ('Beyond this dependency ... Partial') and the primary-dependency answer ('Partial: limited or indirect exposure (metadata, fragments, aggregates)'). Caveat for the reviewer: because the weekly pull is version-pinned but not hash-pinned, the same control gap also admits substitution of a malicious artefact that executes with access to the support knowledge base and 40 million shipment records — ATLAS AML.T0018/AML.T0011.000 and the Unit 42 'model namespace reuse' case (AML.CS0065) document exactly this name-only-reference resolution leading to code execution in the deployment environment. Scored as an artefact-integrity/package-supply-chain exposure rather than here; if the assessor folds that path into 1.3, SC would be H.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirmed at H. This is the dimension's defining impact: the rubric's own note for 1.3 reads 'Every downstream consumer of the model inherits an un-notified behavior change -- textbook Subsequent Integrity impact', and lists subsequent_impact_relevant: true with VI as the primary axis. Concretely, the weekly pipeline pulls a new embedding-model artefact with no hash pin and no model-card review, so every RouteHelp answer produced after the swap is built on retrieval behaviour nobody authorised or evaluated (1.4 is weak — no one evaluates the swapped model either). Those answers flow straight to customer-service agents in twelve countries who act on them, i.e. 'downstream systems act on altered outputs without detection' (questionnaire), and the derived vector store itself is silently re-poisoned/invalidated by the new encoder. ATLAS AML.T0018 confirms that artefact-level changes can produce 'altered instruction precedence, redirected tool use, or manipulated model output' persistently, and AML.M0008/M0013 (validate model, code signing) are precisely the missing controls. NIST IR 8596 ID.RA-07 requires model/configuration changes to be version-controlled and reviewed because behavioural impact is unpredictable. Integrity of the downstream consumers is therefore near-totally at the discretion of an anonymous upstream publisher: H.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirmed at L, and explicitly not S. An unreviewed embedding-model version change can break or degrade downstream retrieval (dimension/geometry mismatch with the existing self-hosted vector store means stale embeddings stop matching until the corpus is re-embedded), so RouteHelp answer quality and availability degrade for support agents. But the blast radius is bounded: the questionnaire reports 'Some downstream workloads degrade', only 'One narrow workload' depends on the component, any component can be swapped 'in days' with 'Trivial' exit effort, and reconstitution is possible 'with no loss' (1.2 is a mitigant — self-hosted open weights, fully portable). That is partial, recoverable downstream availability loss, not near-total. S (Safety) is not warranted: RouteHelp is a customer-support knowledge assistant whose outputs reach human agents, with no control path to physical freight operations, and the scenario states Meridian is 'not subject to sector regulation beyond general data-protection law' with no reportable violation triggered — no evidence of a physical-harm or safety-relevant failure mode.
    E Precedent MaturityAAagentConfirmed. Dimension 1.3 asks whether an un-reviewed, un-notified behaviour-affecting artefact change has actually occurred in the wild. MITRE ATLAS AML.CS0031 'Malicious Models on Hugging Face' is classified as an Incident (mapped by the corpus to CASE Precedent Maturity E:A): malicious models were genuinely published on the public hub, evaded Picklescan, and executed reverse shells when loaded by downstream consumers — exactly Meridian's pattern of pulling an embedding model from a public hub weekly with version-only pinning, no hash pin and no model-card review (ATLAS AML.T0010.003 Model / AML.T0011.000 Unsafe AI Artifacts). The specific failure mode of a name-only (unpinned-hash) reference silently resolving to an attacker-controlled replacement is additionally demonstrated against mainstream pipelines by Unit 42's model-namespace-reuse work (AML.CS0065, E:P) and template-backdoor artefacts that alter behaviour without changing weights (AML.CS0064), which corroborate but do not downgrade the Attacked rating. Benign-but-unannounced upstream version swaps are also routine practice on public hubs, so the control is exercised, not theoretical. The questionnaire prior ('Yes, documented real-world cases against comparable organizations') aligns; no confirmed compromise of Meridian's own stack is claimed, which is not required for E:A under the rubric's 'comparable orgs' wording.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequenceNNagentConfirmed. A silent embedding-model version change is an integrity event: it degrades retrieval quality and the answers agents give, but it does not by itself constitute a reportable regulatory violation. Meridian is 'not subject to sector regulation beyond general data-protection law', there is no processor/controller contract chain to breach (no commercial AI vendor, hence no GDPR Art. 28 subprocessor-notice obligation to violate), and RouteHelp is a support knowledge assistant, not a high-risk Annex III use case under EU AI Act Title III. The EU AI Act open-source recitals (102-104) further exempt freely licensed, openly published model components from the transparency obligations that would otherwise create a notification duty here. Any reportable event would arise from a consequent confidentiality breach of the 40M shipment records, which is scored on the confidentiality axes and under other dimensions, not as an independent trigger of 1.3.
    AU Silent/Automatic TriggerYYagentConfirmed, and this is the metric that carries dimension 1.3 (the rubric names AU as 1.3's supplemental hook). The weekly pipeline pulls the embedding-model artefact from a public hub by version tag, not by hash, with no model-card review gate, so a behaviour-affecting change propagates to production with no case-by-case decision by anyone at Meridian. ATLAS AML.CS0065 documents exactly this mechanic: unpinned Author/ModelName references resolve to whatever artefact currently occupies that identifier, so every downstream consumer of the reference receives the replacement simultaneously; AML.CS0028 shows the same class of silent artefact substitution in registries. 'Ordinary use of the service is enough to trigger it' in the questionnaire matches.
    R Portability / Exit RecoveryUAagent · overrideOverride A -> U for this dimension. The prior 'A' correctly describes 1.2 (open weights, portable data, standard interfaces, no vendor lock) and the rubric indeed hooks R primarily to 1.2. But recovery from a 1.3 event is recovery from an un-notified behaviour change, and that is manual, not automatic: there is no hash pin and no retained known-good digest to roll back to, no one reviews model-card changes so the change must first be *detected*, and reverting an embedding model means re-embedding and re-indexing the entire self-hosted support knowledge base before retrieval behaviour is restored. The scenario itself scopes this as 'days' of work to swap a component, i.e. manual migration effort rather than loss-free reconstitution. Nothing is irrecoverable (no vendor is needed at all, which keeps this off I), so U is the correct middle value.
    V Blast-Radius ConcentrationDDagentConfirmed. The unpinned embedding model sits in the critical path of a single workload, RouteHelp, not in a shared control plane serving many AI workloads ('One narrow workload'). The wide human reach (customer-service agents in twelve countries) and the large record count raise the downstream integrity impact, which is captured on the subsequent-impact axes, but they do not make the dependency itself concentrated in the rubric's sense of 'many/all AI workloads'.
    RE Exit / Mitigation EffortLLagentConfirmed. Mitigating 1.3 does not require re-architecture or re-contracting: the fix is to pin the artefact by cryptographic digest instead of version tag, retain the known-good copy, and add a model-card/change review gate before promotion - all configuration and process changes to a pipeline Meridian fully owns in its own cloud account. ATLAS AML.CS0065's mitigation posture is precisely hash/commit pinning of model references. The scenario also states any component can be swapped for an alternative in days, with no contractual counterparty to negotiate with.
    U Vendor Notice PostureRedXagent · overrideOverride X -> Red. The questionnaire answered 'Unknown' because Meridian has no vendor relationship, but the absence of a counterparty is itself determinative rather than unknowable: the scenario states the company 'has no contractual counterparty to give it notice', and the effective decider over model behaviour is an anonymous public-hub publisher who can re-publish, transfer or delete a namespace with no obligation or mechanism to warn consumers in advance. ATLAS AML.CS0065 shows publishers (or namespace reclaimers) changing what an identifier resolves to with no notification to downstream consumers at all. That is the definition of Red - sovereignty-relevant changes are never disclosed before they take effect - and it is strictly worse than Amber, which still presumes concurrent disclosure.
  2. 2 What are we feeding it?

    2.2 Internal documents ingested for RAG · also 2.1
    HIGH7.0

    Meridian deliberately feeds RouteHelp its support knowledge base together with 40 million customer shipment records so the assistant can look up answers. Because the weekly downloaded components run inside the same process as that lookup, any tampered package, model file or tokenizer would read those documents in full and in the clear, not in fragments. The same components decide what gets indexed and what gets handed back, so a tampered component could also quietly insert false content that the assistant and the agents reading it would treat as genuine company material. Incidents of exactly this kind — tampered packages and model files pulled from public repositories that harvested everything they touched — are documented in the wild, not merely theorised. Because the corpus contains personal data about senders and recipients, exposure of even part of it would be a reportable personal-data breach for Meridian as controller.

    Rating HIGH. The single most sensitive dataset Meridian holds is readable, and silently rewritable, by whatever code the pipeline happened to download last week.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:L/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:P/AU:Y/R:U/V:D/RE:M/U:Red Score 7.0 (High)

    Ask the vendor What do our employees actually type into this thing, and does it include customer or confidential information? · Did we upload or connect any of our own internal documents for it to search? · Can this AI take real actions, look things up, change things, or does it only talk?

    MetricValuePriorSourceRationale
    AV Access PathLAagent · overrideOverride A → L. There is no vendor and no subprocessor in this stack: 'everything runs in Meridian's own cloud account and no commercial AI vendor is involved', including the self-hosted vector database that holds the RAG corpus and the 40M shipment records. So 'Adjacent -- subprocessor-mediated access' has no referent. The rubric's L — 'resident in customer-managed environment but still vendor-reachable' — is the exact fit: the ingested corpus lives inside Meridian's perimeter, yet remains reachable by whoever controls the upstream embedding model, tokenizer or orchestration package, because the weekly pipeline fetches and loads those artifacts without hash pinning or review. ATLAS AML.T0010.001/.003 and AML.CS0015 show the access path is code executing locally after acquisition (local file reads, env vars, exfiltration from the host), not a remote API call into the data store, which is why N ('vendor-direct API access, no intermediary') is not chosen; P is excluded because the environment is not air-gapped — the pipeline reaches out to public registries on a schedule with no administrative gate. Reviewers who treat the automated outbound pull as functionally remote reach could argue N; hence moderate confidence.
    AC Compulsion ComplexityLLagentConfirm L. Nothing has to be overcome to get adversary-controlled code next to the retrieval corpus: dependencies are 'pinned by version but not by hash', the pipeline 'pulls updates weekly', and 'no one reviews model-card or package changes before they reach production'. The ATLAS mitigations that would create a barrier (M0013 Code Signing, M0011 Restrict Library Loading, M0025 provenance tracking) are absent, and AML.CS0065 demonstrates that name-only/unpinned references resolve silently to replacement artifacts. There are no customer-managed-key or residency carve-outs protecting the vector store from the process that loads the model, so the H condition ('technical or contractual barriers must be overcome first') does not apply.
    AT Trigger ConditionsNPagent · overrideOverride P → N. The questionnaire's 'only upon a specific event (sanctions, litigation hold, incident)' framing describes a contracted vendor exercising a legal or product lever; for 2.2 in this scenario the exercising party is an upstream artifact publisher who needs no triggering event at all. ATLAS 'AI Supply Chain Rug Pull' (under AML.T0010) describes publishing a legitimate package and then a malicious version at the publisher's discretion once adoption is sufficient, and AML.T0115.001 (maturity Realized) covers publishing poisoned models to a hub at any time. Meridian's weekly unreviewed pull means any such publication is taken into production within days automatically — the control over what the RAG pipeline embeds and retrieves can therefore be exercised at the upstream party's discretion, i.e. no special precondition (N).
    PR Position RequiredNNagentConfirm N, with the chain re-read for this category: 'any party already in the subprocessor chain' maps here to any party already in the open-source artifact chain — a maintainer of the tokenizer/orchestration package, the holder (or reclaimer) of the model-hub namespace, or a registry-side attacker. AML.CS0015 (dependency confusion on PyPI) and AML.CS0065 (namespace reuse) show that no standing inside the victim organisation is needed. L ('primary contracted vendor') is inapplicable because Meridian has 'no contractual counterparty', and H ('compromising the org's own administrative credentials') is not needed because the pipeline voluntarily fetches and executes the artifact.
    UI Org Action RequiredPPagentConfirm P. Exposure of the ingested corpus is triggered by Meridian's own ordinary operation — the routine weekly deployment pull and the normal re-embedding/retrieval of the knowledge base and shipment records — rather than by any affirmative decision to accept a given update (which would be A; explicitly ruled out by 'no one reviews model-card or package changes before they reach production'). N is close, since the upstream publisher acts unilaterally, but the rubric reserves N for a counterparty that can change the service without the org's pipeline doing anything; here the victim-side automated fetch-and-load step (ATLAS AML.T0010.003 → AML.T0011.000 Unsafe AI Artifacts: 'if a user loaded the malicious model, the payload is executed') is the passive interaction that completes the path.
    VC Primary Dependency Impact -- ConfidentialityHLagent · overrideOverride L -> H. The questionnaire prior ('partial: metadata, fragments, aggregates') reflects a vendor/subprocessor framing that does not match this category's own exposure. For dimension 2.2 the asset at stake is the ingested corpus itself: the scenario states a compromised or maliciously updated package, model file or tokenizer 'would execute with access to the support knowledge base and 40 million customer shipment records'. Code executing in-process with the ingestion/embedding path sees every document in plaintext before and during embedding, so the realistic loss is bulk, not fragmentary. Dependencies are pinned by version but not by hash, updates are pulled weekly, and no one reviews model-card or package changes - so there is no control that would limit exfiltration to a subset. ATLAS AML.T0010 (AI Supply Chain Compromise, incl. the 'rug pull' pattern) and the realised Postmark MCP incident (AML.CS0053) show a trusted-package update silently exfiltrating the full content it processes, not samples; AML.CS0018 shows exfiltration of entire private data stores via a poisoned AI artifact. Total/near-total loss on the confidentiality axis for the ingested corpus is therefore the right read, and the rubric names VC as a primary impact axis for 2.2.
    VI Primary Dependency Impact -- IntegrityHHagentConfirm H. This is the axis the rubric puts first for 2.2 (primary_impact_axis VI, VC), and the questionnaire already answers 'Full: behaviour can be changed silently and materially'. A maliciously updated embedding model, tokenizer or orchestration package controls what gets indexed and what gets retrieved, so it can both poison the corpus (ATLAS AML.T0070 RAG Poisoning, demonstrated) and insert content the LLM treats as legitimate retrieved documents while bypassing data-monitoring and direct deletion (AML.T0071 False RAG Entry Injection). PoisonGPT (AML.CS0019) shows a public-hub model artifact silently returning false facts with no observable signal. Because versions are not hash-pinned, updates reach production weekly unreviewed, and outputs flow straight to customer-service agents in twelve countries, there is no integrity checkpoint between a corrupted retrieval layer and the answers given to customers - near-total loss of trustworthiness of the retrieval corpus.
    VA Primary Dependency Impact -- AvailabilityLLagentConfirm L. A bad weekly update could break embedding/tokenization or require the corpus to be re-indexed, and ATLAS AML.T0059 (Erode Dataset Integrity) describes corpus manipulation that degrades usefulness and forces costly remediation - degraded or temporary loss rather than destruction. Mitigating facts in the scenario: the vector database and corpus are self-hosted in Meridian's own cloud account, the source documents and shipment records remain under Meridian's control, and any component can be swapped for an alternative in days (questionnaire: 'Trivial: swap-out', 'reconstitute with no loss'). No party outside Meridian can withdraw the capability. Hence partial, recoverable availability loss, not High.
    SC Downstream Blast-Radius Impact -- ConfidentialityLLagentConfirming the prior. The ingested corpus (support knowledge base + 40M customer shipment records) sits in Meridian's own cloud account, so the primary confidentiality loss is at the dependency itself. Downstream propagation is nonetheless real: a maliciously updated embedding model, tokenizer or orchestration package executes with read access to that corpus and can exfiltrate retrieved fragments to third parties, and retrieved content is surfaced to customer-service agents in twelve countries who are outside the indexed system. Consistent with ATLAS AML.T0064/AML.T0070 (adversaries identify and manipulate RAG-indexed sources), realistic leakage through a poisoned retrieval path is fragmentary/chunk-level rather than wholesale export of the 40M-record store, so partial loss beyond the dependency (L) rather than H. The questionnaire likewise records 'Beyond this dependency ... Partial'.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirming the prior, and consciously departing from the rubric's generic flag 'subsequent_impact_relevant: false' for dimension 2.2, because this scenario states the propagation path explicitly: the assistant's outputs 'flow straight to customer-service agents in twelve countries' with no review stage described, and no one reviews model-card or package changes before production. ATLAS AML.T0070 (RAG Poisoning) and AML.T0071 (False RAG Entry Injection) are the corpus anchors for 2.2 and both describe content that persistently surfaces for targeted queries and evades data monitoring - i.e. altered retrieval results are consumed and acted upon without detection. Weekly unpinned-by-hash updates to the embedding model, tokenizer or orchestration framework let an attacker silently change what is retrieved, so downstream humans and the customer communications they produce act on altered content: total loss of integrity assurance downstream (H). Confidence is moderate rather than high because the rubric treats 2.2's impact as mainly primary-system (VI/VC).
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirming the prior at L and explicitly rejecting S. If the ingestion/retrieval path breaks (bad package or model update, corrupted embeddings requiring re-indexing of the corpus), the downstream effect is that customer-support workloads in twelve countries degrade and agents fall back to manual lookup - 'some downstream workloads degrade' per the questionnaire - not a total downstream outage; components are swappable in days and the stack is self-hosted, so recovery is within Meridian's control. S is not warranted: RouteHelp is a customer-support knowledge assistant, not an operational routing or vehicle-control system, and no physical or safety-relevant failure path is described in the scenario.
    E Precedent MaturityAAagentCONFIRM the questionnaire prior of A. The control at issue in 2.2 is a maliciously updated embedding model, tokenizer or orchestration package executing with read/write access to the support knowledge base and the 40M-record shipment corpus. Both halves of that route have documented real-world (not merely research) precedent against comparable organisations: AML.CS0015 (PyTorch/torchtriton, ATLAS Type=Incident -> E:A) is a malicious package pulled from a public registry that executed in the build/deploy path and exfiltrated local filesystem contents and credentials; AML.CS0031 (Malicious Models on Hugging Face, Type=Incident -> E:A) is malicious model files on a public hub executing reverse shells on load while evading the hub's own scanner. The parent technique AML.T0010 AI Supply Chain Compromise and AML.T0115.001 (poisoned models published to registries) are both rated Realized -> E:A. Meridian's configuration is precisely the exposed one these incidents exploited: version-pinned but not hash-pinned dependencies, weekly automated pulls, and no model-card or package-diff review before production (cf. AML.CS0065, which demonstrates unpinned name-only model references resolving to an attacker-controlled artefact). Honest caveat recorded for the reviewer: the corpus-specific *outcome* for this dimension - poisoning what is retrieved so that agents in twelve countries act on altered content - is anchored by AML.T0070 RAG Poisoning and AML.T0071 False RAG Entry Injection, which ATLAS rates Demonstrated -> E:P, with the supporting Copilot case study typed as an Exercise. So the data-exfiltration limb of 2.2 is attacked-grade and the retrieval-integrity limb is PoC-grade. Because E reflects the highest demonstrated maturity along the chain that reaches this dimension, and the entry point here is realized in the wild and requires no action by Meridian beyond ordinary weekly operation of its own pipeline, A rather than P is the correct value. Confidence is held at 0.8 rather than higher because no incident in the corpus documents the full chain end-to-end against a self-hosted RAG corpus at a logistics firm.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequencePNagent · overrideOverride. The questionnaire's "No" was answered about the primary dependency (the unreviewed open-source component chain), where the harm is framed as technical compromise. For category 2.2 the asset in scope is the ingested corpus itself: the support knowledge base *plus 40 million customer shipment records*, serving customer-service agents in twelve countries, i.e. consignor/consignee personal data processed in the EU. The dimension's own threat anchors (ATLAS AML.T0070 RAG Poisoning, AML.T0071 False RAG Entry Injection, and poisoned artifacts published upstream per AML.T0115/AML.T0010) describe exactly the compromise in which code running with access to that index reads or alters retrieved records. Exfiltration of even fragments/aggregates of 40M customer records (the questionnaire's own VC answer: "Partial: limited or indirect exposure (metadata, fragments, aggregates)") is a personal-data breach that the controller must report to the supervisory authority without undue delay (GDPR Art. 33, with Art. 34 notification to data subjects where risk is high) — and, because the records sit in an AI retrieval pipeline, it also calls into question the Art. 35 DPIA the EU AI Act expressly cross-references for deployers. The scenario's "not subject to sector regulation beyond general data-protection law" does not remove that trigger; general data-protection law *is* the trigger. Corpus returned no verbatim Art. 33 text (only the AI Act's cross-references to Reg. (EU) 2016/679), so confidence is moderate rather than high.
    AU Silent/Automatic TriggerYYagentConfirm. The deployment pipeline pulls updates weekly, dependencies are pinned by version but not by hash, and no one reviews model-card or package changes before production. A malicious upstream release therefore reaches the live retrieval stack with no discrete, case-by-case human decision — the classic rug-pull pattern in which a maintainer publishes a benign version, accumulates adoption, then ships a malicious update that "passes both human and automated trust checks" (ATLAS AML.T0109/AML.T0111, AML.T0010 AI Software / Container Registry sub-techniques, which explicitly note automated CI/CD pipelines pulling the manipulated artifact). Once ingested, the effect on the corpus is persistent (AML.T0070 is a Persistence technique), so a single automatic update silently re-indexes or taints the whole 40M-record store for every consumer of RouteHelp at once.
    R Portability / Exit RecoveryUAagent · overrideOverride A → U. The prior is right that there is no vendor lock-in: the stack is open-source, self-hosted in Meridian's own cloud account, the source documents and shipment records are Meridian's own portable data, and any component can be swapped in days — so this is certainly not Irrecoverable. But recovery of *this* dimension is not automatic. Restoring a poisoned retrieval corpus means detecting the injection, purging it and re-embedding/re-indexing 40M records: ATLAS notes that false RAG entries are crafted to bypass data-monitoring tools and that the embedded document "prevents the document from being deleted directly" (AML.T0071), and that remediating poisoned data requires deliberate sanitisation and provenance reconstruction (AML.T0059 with mitigations M0007 Sanitize Training Data, M0025 Maintain AI Dataset Provenance). With no hash pinning or AI BOM there is no trusted baseline to roll back to, so re-ingestion is manual engineering work; and exfiltrated record fragments cannot be reconstituted at all. "User" (manual effort, capability recoverable without the original supplier) is the correct read.
    V Blast-Radius ConcentrationDDagentConfirm. Per the rubric wording, Concentrated requires the dependency to sit in the critical path for many/all AI workloads (a shared control plane). The ingested corpus and its vector index serve exactly one narrow workload — RouteHelp, the customer-support knowledge assistant. Meridian has no other described AI workloads riding on this index, and no fine-tuning (2.3) or agentic tool-calling (2.4) consumers extend it. The large aggregate value of the 40M-record store is real but is already captured on the confidentiality/integrity impact axes (VC/VI) for this dimension rather than on blast-radius concentration; double-counting it here would distort the score. Noting the counter-consideration: outputs reach agents in twelve countries, so the *business* reach is wide even though the AI-workload footprint is single.
    RE Exit / Mitigation EffortMLagent · overrideOverride L → M. "Swap any component for an alternative in days" is true of component substitution, but substitution is not the mitigation for this dimension — swapping one unverified public-hub artifact for another leaves the same ingestion exposure. Closing the 2.2 exposure requires changes to the ingestion and deployment pipeline itself: hash/digest pinning and code signing (ATLAS M0013), model validation before promotion (M0008), an AI Bill of Materials to identify untrustworthy artifacts (M0023), dataset/corpus provenance tracking (M0025), retrieval guardrails that reject untrusted or unsupported RAG content (M0020), plus a review gate on model-card and package changes that currently does not exist. That is pipeline re-architecture and new control ownership — more than a trivial swap or a contractual fix (and no contractual fix is even available here, see U). It stops short of High because Meridian owns the entire stack in its own cloud account, so there is no re-contracting, no subprocessor renegotiation and no physical infrastructure to replace.
    U Vendor Notice PostureRedXagent · overrideOverride X → Red. The questionnaire answered "Unknown", but the scenario supplies the determining fact: Meridian "has no contractual counterparty to give it notice." The upstream parties that can change what is ingested — the public model-hub publisher of the embedding model, the package-registry maintainers of the tokenizer and orchestration framework — owe Meridian no disclosure at all, and the scenario states that model-card and package changes are not reviewed before reaching production. Changes therefore take effect in the retrieval pipeline before (indeed instead of) any disclosure; ATLAS describes upstream publishers deliberately exploiting this, releasing benign versions to build trust and then shipping malicious updates with no signal to downstream consumers (AML.T0109/AML.T0111, AML.T0115.001 poisoned models published to registries). "Never discloses sovereignty-relevant changes before they take effect" is the accurate posture; this is not genuine absence of evidence, so X would understate it.
  3. 3 What does it create from our data: and where does THAT go?

    3.2 Vector database / embedding store location and control · also 3.1, 3.3
    HIGH7.0

    The vector database that holds the processed form of the knowledge base and the 40 million shipment records is self-hosted in Meridian's own cloud account, so there is no third-party store, no outside contract and no foreign jurisdiction over it — a genuine strength. However, this store is the one lasting copy of everything Meridian has fed the assistant, and the weekly-downloaded components hold the application's own access rights to it, so there is no internal barrier between unreviewed code and the entire index. It is also worth recording that the processed form is not an anonymised abstraction: the numerical representations produced by this kind of model can be worked back into meaningful information about the original text. A tampered component could therefore copy the whole derived corpus out, or quietly alter what the assistant retrieves, and Meridian has no way to tell which entries were changed.

    Rating HIGH. Keeping this database in-house removes the outside-party problem entirely but does nothing to limit how much is lost if a downloaded component misbehaves.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:P/AU:Y/R:U/V:D/RE:M/U:Red Score 7.0 (High)

    Ask the vendor Does this turn our documents into some kind of derived file (an “embedding”) so it can search them faster? · If so, who stores that derived file, you, or a completely different company? · Do you keep a copy of everything the AI said back to us, a log of how we used it, or a record of when we said the answer was wrong?

    MetricValuePriorSourceRationale
    AV Access PathLAagent · overrideOverride of the questionnaire's 'A' (subprocessor-mediated). The questionnaire answer describes the primary dependency framing, but this category's asset is the vector database, which the scenario states is self-hosted and 'runs in Meridian's own cloud account' with 'no commercial AI vendor involved' — there is no subprocessor hop to the embedding store and no third-party store or contract. 'P' is also wrong: the store is not air-gapped and requires no physical/administrative action to reach, because a maliciously updated package/model/tokenizer pulled weekly 'would execute with access to the support knowledge base and 40 million customer shipment records' — i.e. in-process code already holds the path to the vectors. 'L — resident in customer-managed environment but still vendor-reachable' is the exact fit: customer-managed infrastructure, still reachable by an upstream supply-chain party via the code it ships (ATLAS AML.T0010 / AML.T0109).
    AC Compulsion ComplexityLLagentConfirmed. 'H' would require technical or contractual barriers (customer-managed keys, residency carve-outs) to be overcome first. None exist on the path to the embedding store: dependencies are 'pinned by version but not by hash', the pipeline 'pulls updates weekly', and 'no one reviews model-card or package changes before they reach production'. There is no signature/hash verification (ATLAS lists Code Signing, AML.M0006/M0013, as the missing mitigation for AML.T0010), and the embedding/orchestration process holds the vector store's own access rights, so no encryption or key-custody barrier has to be defeated. Note the mechanism differs from the questionnaire's 'standard ToS clause' reasoning — there is no contract at all — but the barrier level is equally low.
    AT Trigger ConditionsNPagent · overrideOverride of 'P'. The questionnaire's triggering events (sanctions designation, litigation hold, product decision) are vendor-relationship events and have no purchase here: there is 'no contractual counterparty'. The party able to reach the vectors is an upstream maintainer/publisher, who can push a malicious variant at its own discretion at any time — ATLAS AML.T0109 Rug Pull is Realized (E:A) and describes precisely 'publish legitimate components, gain user adoption, then push an update with a malicious variant', and AML.T0115.001 covers publishing poisoned models to a hub. Because Meridian pulls weekly with no hash pinning and no review, the publisher needs no special external condition to obtain access to the embedding store: the ingestion window recurs automatically. That matches 'N — control can be exercised at discretion at any time'.
    PR Position RequiredNNagentConfirmed, with a restated mechanism. 'H' is explicitly reserved for cases requiring compromise of the org's own administrative credentials; that is not needed here, because the compromised component executes inside the trusted RouteHelp process and inherits its access to the knowledge base, the vector store and the 40M shipment records. 'L' (being the primary contracted vendor) is inapplicable — there is no contract. The de facto equivalent of 'any party already in the supply/subprocessor chain has sufficient standing' is satisfied: any maintainer of the public-hub embedding model, the tokenizer, or any transitive package from the public registry has enough standing, including reputation-built packages that pass human and automated trust checks (ATLAS AML.T0111, AML.T0010.001/.003). PR is one of the two primary exploitability hooks the rubric assigns to 3.2, and it lands at the most permissive value.
    UI Org Action RequiredPPagentConfirmed. No affirmative act by Meridian is needed ('A' excluded): nobody opts in, and 'no one reviews model-card or package changes before they reach production'. Exposure of the embedding store arises from ordinary operation — the routine weekly pipeline pull plus normal indexing/retrieval against the vector database — which is the rubric's 'P — routine, ordinary use of the service triggers the exposure'. I considered 'N' (unilateral third-party action), since the upstream publisher does act alone and the pull is automated; it is the plausible alternative and the reason confidence is moderate. 'P' is preferred because the rubric's 'N' is framed around a vendor/subprocessor acting on a service the org consumes, whereas here the malicious artifact only reaches Meridian's own self-hosted store through Meridian's own routine deployment and query activity.
    VC Primary Dependency Impact -- ConfidentialityHLagent · overrideOverride of the questionnaire's 'L'. The prior was answered about the primary dependency (the externally sourced component chain, framed as a vendor/subprocessor), where exposure is indirect. Dimension 3.2, however, names the store itself as the vulnerable system: Meridian's self-hosted vector database holds the embedded form of the entire support knowledge base plus 40 million customer shipment records. Any in-process component (orchestration framework, tokenizer, or embedding model pulled weekly without hash pinning or model-card review) executes with read access to that index, and ATLAS documents that a compromised AI service path over a RAG store yields 'the majority of an organization's internal documents' (AML.T0085.000 Data from AI Services: RAG Databases; AML.T0082 credentials inadvertently indexed into RAG databases). Because the taxonomy also records that these embeddings are 'demonstrably reversible to meaningful information about the source text' (rubric dim. 3.1 note), exfiltration of the vectors is not a metadata-only leak but a near-total loss of the derivative corpus. That is total/near-total loss on this axis at this dependency = H.
    VI Primary Dependency Impact -- IntegrityHHagentConfirmed. The store's contents can be altered silently and materially: unreviewed weekly updates to the embedding model, tokenizer or orchestration code change what is written into and matched out of the index, and the index itself can be poisoned directly. RAG poisoning is rated 'Demonstrated' in ATLAS (AML.T0070) and is anchored to this taxonomy area; model/encoder tampering is likewise demonstrated (AML.T0018). With no hash pinning, no model-card or package diff review, and no contractual counterparty to give notice, Meridian has no detection path, so integrity loss at the store is effectively total rather than partial = H. Consistent with the questionnaire's 'behaviour can be changed silently and materially'.
    VA Primary Dependency Impact -- AvailabilityLLagentConfirmed. The vector database is self-hosted in Meridian's own cloud account, so no vendor or subprocessor can withdraw it, and the questionnaire records the capability as portable (standard interfaces, swap-out in days, trivial mitigation effort). A hostile component could still corrupt or drop the index, taking retrieval offline until the corpus is re-embedded from the still-intact source knowledge base and shipment records — degraded or temporary loss rather than permanent denial. That matches 'partial or limited loss' = L; H is not warranted because the underlying data and the ability to rebuild remain under Meridian's control.
    SC Downstream Blast-Radius Impact -- ConfidentialityHLagent · overrideOVERRIDE of prior L. The prior describes the primary dependency (a vendor/subprocessor-hosted component where only 'metadata, fragments, aggregates' leak). For category 3 the subsequent system IS the vector store (sovereignty_cvss_rubric_1.json, dim 3.2: 'This dimension IS the subsequent system by definition', primary_impact_axis empty, subsequent_impact_relevant true). That store is the single persistent derivative of the entire support knowledge base and 40 million customer shipment records. A maliciously updated package, model file or tokenizer executes in-process with the application's own credentials to the self-hosted vector DB (ATLAS AML.T0115.001 Models, maturity Realized -> E:A; AML.T0010 AI Supply Chain Compromise), so there is no trust boundary between the compromised component and the full embedding corpus - it can read or exfiltrate the index wholesale rather than a fragment. The classifier also notes these embeddings are 'demonstrably reversible to meaningful information about the source text', so the derivative is not a privacy-preserving abstraction. Reachability of the complete corpus of a 40M-record dataset is a total-or-near-total loss on the confidentiality axis of the subsequent system, hence H. Self-hosting removes the third-party-contract concern but does nothing to limit blast radius once an in-process component is compromised.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentCONFIRM prior H, and it holds independently for this category. The questionnaire records that downstream systems 'act on altered outputs without detection' and that behaviour 'can be changed silently and materially'. For dim 3.2 specifically: dependencies are pinned by version but not by hash, the pipeline pulls weekly, and nobody reviews model-card or package changes, so a swapped encoder or poisoned orchestration package can silently rewrite or re-rank the stored vectors. Corrupted retrieval then flows straight to customer-service agents in twelve countries with no verification step. ATLAS AML.T0059 Erode Dataset Integrity (Demonstrated -> E:P) and AML.T0031 describe exactly this - and AML.CS0025 shows as little as 0.01% poisoned content suffices for a successful attack, i.e. integrity loss needs no bulk modification to be effective. Because the index is the sole grounding source for the assistant and there is no provenance control (AML.M0025 absent), integrity loss is effectively total: no retrieved answer can be trusted and the organisation cannot tell which vectors were altered.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentCONFIRM prior L. Availability of the derivative store is the most recoverable axis here: the vector DB is self-hosted in Meridian's own cloud account, so no vendor or subprocessor can withdraw it, and the questionnaire records only 'degraded service or temporary loss' at the dependency and 'some downstream workloads degrade' beyond it, affecting 'one narrow workload' that is 'trivial' to swap out. Even destruction of the index is repairable because the authoritative knowledge base and shipment records remain under Meridian's control and can be re-embedded with an alternative encoder in days. That is partial, not total, loss - hence L. S is rejected: RouteHelp is a customer-support knowledge assistant whose outputs go to human customer-service agents, not to freight dispatch, vehicle control or any safety-relevant actuation, so unavailability causes service degradation rather than physical harm. The scenario also confirms no sector regulation beyond general data-protection law and no reportable violation from loss of control here.
    E Precedent MaturityAAagentConfirmed at A, but on different grounds than the questionnaire. The questionnaire's "documented real-world cases" answer was given about the primary dependency (the unverified downloaded components / supply chain). For dimension 3.2 the asset is Meridian's self-hosted vector store holding embeddings over the support knowledge base and 40M shipment records, and the realistic precedent is adversary access to self-hosted AI data infrastructure inside an organization's own cloud account. That has real-world, non-research precedent: ATLAS AML.CS0023 (ShadowRay) is typed an *Incident* (E:A per the CASE/ATLAS mapping) in which exposed self-hosted open-source AI infrastructure was actively exploited in the wild for at least seven months, with information theft from victim organizations' own clusters; AML.CS0068 is likewise an *Incident* in which attackers read an internal operational database and five customer datasets (AML.T0036 Data from Information Repositories, Realized -> E:A). The 3.2-anchored collection technique itself (AML.T0085.000 RAG Databases) is only rated Demonstrated -> E:P, and no public incident is documented specifically against a self-hosted vector DB of embeddings, let alone against Meridian's stack; this tension is why the value is held at A with moderate rather than high confidence. The sovereignty-control framing (third-party/jurisdictional exercise over the store) is neutralised here because the store is self-hosted with no contract, so A rests on the compromise-and-collection precedent, not on vendor-compulsion precedent.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequencePNagent · overrideOverride of the questionnaire's N. The prior was answered against the primary dependency (a vendor/subprocessor relationship), where the classic triggers — GDPR Art. 28 processor obligations, EU AI Act Title III — genuinely do not fire: the vector database is self-hosted in Meridian's own cloud account, there is no processor and no third-party contract. But dimension 3.2 is where the personal data physically persists. The store holds embeddings over the support knowledge base and 40 million customer shipment records, and per the category classifier those embeddings are 'demonstrably reversible to meaningful information about the source text' — consistent with ATLAS AML.T0024.001 (Invert AI Model) and AML.T0024.000 (training-data membership inference), which establish that derivative representations of private data yield recoverable information about source records. Reversible embeddings of identifiable shipment data therefore remain personal data, so exfiltration or unauthorised access at this store is on its own a notifiable personal-data breach (GDPR Art. 33/34) across the twelve countries served, independent of any vendor act. Meridian is subject to general data-protection law, which is sufficient for this trigger even absent sector regulation. Confidence is moderate rather than high because the rubric's exemplars are vendor/processor-shaped obligations and the breach-notification route is an inference from the asset's contents.
    AU Silent/Automatic TriggerYYagentConfirmed, but on this dimension's own logic rather than the prior's multi-tenant vendor logic. There is no vendor fleet here, so 'all customers at once' must be read as 'with no case-by-case decision gating the event'. Both conditions hold: (a) the deployment pipeline pulls updates weekly with versions pinned but not hashed and no model-card or package review, so a malicious upstream package, model file or tokenizer reaches production automatically and simultaneously for every puller of that artefact — no discrete human decision intervenes; and (b) once such a component executes in-process it reaches the vector store first (the taxonomy's 'subsequent system by definition'), with no per-query or per-record authorisation step. ATLAS AML.T0071 confirms that index-level poisoning of a RAG store propagates to downstream consumers without detection, i.e. the loss event is automatic rather than individually triggered.
    R Portability / Exit RecoveryUAagent · overrideOverride of A. The prior is right that there is no lock-in — the store is self-hosted on open-source software with standard interfaces and the source knowledge base and shipment records remain in Meridian's own systems, so this is clearly not I (Irrecoverable: nothing requires an original vendor). But A requires reconstitution 'with no loss', and that does not hold for a vector index. Reconstituting this asset means re-embedding and re-indexing the knowledge base plus 40 million shipment records — and if the trigger is a backdoored encoder (3.1) or a poisoned index, the rebuild must use a different encoder, invalidating every stored vector. ATLAS AML.T0071 further notes that injected false RAG entries are embedded inside legitimate records and cannot be deleted directly, so clean recovery means a full rebuild rather than surgical repair. That is manual migration effort: U.
    V Blast-Radius ConcentrationDDagentConfirmed. The rubric defines C by workload breadth — 'critical path for many/all AI workloads (e.g., shared control plane)' — not by data richness. This vector store serves exactly one workload, RouteHelp; it is not a shared control plane and no other Meridian AI system is described as depending on it. Noting the tension for the reviewer: by generic CVSS Value Density reasoning the store would look concentrated, since it aggregates derivatives of the entire knowledge base and 40 million shipment records into one asset, and its outputs reach customer-service agents in twelve countries. That aggregation is already expressed through the confidentiality and subsequent-impact metrics; double-counting it here would contradict the adaptation's own definition, so D stands at moderate confidence.
    RE Exit / Mitigation EffortMLagent · overrideOverride of L. The scenario's 'swap any component in days' supports L for a stateless component, but RE must cover the effort that actually mitigates this dimension's exposure, and the vector store is the one stateful component in the stack. Replacing or rebuilding it entails re-embedding and re-indexing 40 million shipment records plus the knowledge base (see R=U), and effective mitigation also requires changes Meridian does not currently have: hash-pinning and pre-production review of model/package updates, and constraining the in-process component's credentials to the store so a compromised library cannot read the whole index. That is more than a trivial swap-out or contractual fix, but it is well short of H — there is no counterparty to re-contract with, no physical infrastructure to replace, and no re-architecture of the surrounding platform. Moderate is the correct band.
    U Vendor Notice PostureRedXagent · overrideOverride of X, cautiously. The prior is 'Unknown', but the scenario is explicit that Meridian 'has no contractual counterparty to give it notice', which is a determinate fact rather than missing evidence. The store's software is an open-source package drawn from a public registry, pinned by version but not hash, pulled weekly with no review of model-card or package changes before production. There is therefore no mechanism by which any sovereignty-relevant upstream change — a new maintainer, a changed default, a compromised release — could be disclosed in advance; it takes effect in production before anyone at Meridian sees it. That is the Red condition read against a non-commercial provider: never discloses before the change takes effect. Confidence is capped at 0.5 because the corpus offers no guidance on applying Provider Urgency where no provider relationship exists, and a reviewer could defensibly prefer X on the grounds that the metric presupposes a vendor; note also that the EU AI Act expressly exempts free-and-open-source component suppliers from the written-agreement duty that would otherwise create a notice obligation, reinforcing that no advance notice is owed here.
  4. 4 Who's deciding what the AI sees and does?

    4.2 Orchestration / agent framework · also 4.1
    HIGH7.0

    The framework that coordinates RouteHelp — deciding what to retrieve, how to assemble the question put to the model, and what text reaches the agent's screen — is installed from a public package registry and refreshed weekly without review. Self-hosting means no outside supplier watches these steps, which is a real benefit; the trade-off is that the integrity of this central component now rests entirely on code nobody at Meridian inspects. Whoever can publish a release under that package name can change the coordinating logic, and would be running inside Meridian's trust boundary with the system's own credentials to the knowledge base and shipment records. This is a well-documented attack route: published packages have been updated after gaining adoption specifically to silently copy everything passing through them, and security researchers have found numerous remote-code-execution flaws across this family of frameworks.

    Rating HIGH. The component that controls what RouteHelp sees, says and reaches is replaced every week by an outside party on trust alone.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:N/AU:Y/R:A/V:C/RE:L/U:Red Score 7.0 (High)

    Ask the vendor Who decides which of our documents actually get shown to the AI when it answers a question? · Who runs the safety filter that sees every question and answer, and can we see its rules? · If the AI takes an action on our behalf, where does that action actually happen, in your systems, ours, or a third location?

    MetricValuePriorSourceRationale
    AV Access PathLAagent · overrideOverride of the questionnaire's 'A' (subprocessor-mediated). For dimension 4.2 the orchestration framework is self-hosted: it is installed from a public package registry and runs inside Meridian's own cloud account, so there is no commercial vendor and no subprocessor chain to mediate access (the scenario states 'no commercial AI vendor is involved'). The rubric's L value — 'resident in customer-managed environment but still vendor-reachable' — fits exactly: the code sits in Meridian's environment, but the weekly unreviewed pull from the registry keeps the upstream publisher able to reach it, as in the postmark-mcp rug pull (AML.CS0053) and the PyTorch-nightly dependency compromise (AML.CS0015). Not P, because the deployment is not air-gapped and requires no physical/administrative act by Meridian to be reached — the pipeline reaches out on its own schedule.
    AC Compulsion ComplexityLLagentConfirmed. There are no technical or contractual barriers to overcome: dependencies are pinned by version but not by hash, there is no code signing or artifact verification, and no one reviews package or model-card changes before they reach production. Publishing a new version to the public registry (or taking over a maintainer account / namesquatting an unregistered name) is sufficient — the registry's own terms are the only gate, which is the sovereignty analogue of 'a standard ToS clause suffices'. ATLAS lists exactly the mitigations that are absent here (Code Signing AML.M0013, Verify AI Artifacts AML.M0014, AI BOM AML.M0023), and the postmark-mcp and PyTorch cases show the bar is low in practice.
    AT Trigger ConditionsNPagent · overrideOverride of the questionnaire's 'P'. The prior reflects a contracted vendor whose powers are activated by a sanctions designation, litigation hold or incident. For a self-hosted orchestration framework pulled from a public registry there is no such gate: any party able to publish a release can do so at its own discretion at any moment, and Meridian's weekly pipeline will ingest it within days. ATLAS's AI Supply Chain Rug Pull (AML.T0109, realised in AML.CS0053) describes precisely this discretionary timing — the publisher chooses when to flip a trusted package to a malicious version. No triggering event is required, so AT:N.
    PR Position RequiredNNagentConfirmed, though for a different reason than the questionnaire's (no subprocessor chain exists here). No privileged position relative to Meridian is needed: the exercising party only needs standing in the open upstream supply chain — an existing maintainer, someone who compromises a maintainer account, or even a namesquatter of an unregistered package name (AML.CS0053, AML.CS0022). It does not require being a contracted vendor (L) nor compromising Meridian's own administrative credentials (H), since the pipeline voluntarily imports whatever the registry serves.
    UI Org Action RequiredPPagentConfirmed. Meridian takes no deliberate, affirmative decision to accept a given update (ruling out A): the deployment pipeline pulls updates weekly automatically and no one reviews the diff. But the exposure is realised through Meridian's own routine operation — the pipeline's scheduled pull and the loading of the framework at inference time are what execute the attacker's code (ATLAS AML.T0011: 'Execution may occur when a user loads the artifact, starts an inference runtime, submits an inference request'); in AML.CS0053 victims were compromised when they upgraded and continued ordinary use. That is the rubric's 'Passive — routine, ordinary use of the service triggers the exposure'. N was considered (the publisher does act unilaterally and silently) but is reserved for cases where the exposure lands without any org-side operational step; here the unreviewed weekly pull is that step.
    VC Primary Dependency Impact -- ConfidentialityHLagent · overrideOVERRIDE L→H. The questionnaire's "partial: metadata, fragments, aggregates" describes a vendor-mediated dependency where the counterparty only sees what is sent to it. Dimension 4.2 here is a self-hosted framework installed from a public package registry and updated weekly without review: a malicious update runs as code inside Meridian's own trust boundary, with the orchestrator's own credentials for the support knowledge base and the 40 million shipment records it retrieves over. Realized precedent shows this yields wholesale, not fragmentary, exfiltration: the compromised `torchtriton` PyPI dependency harvested environment variables, /etc/passwd, SSH keys and the first 1000 files of $HOME and exfiltrated them over DNS (AML.CS0015), and the poisoned `postmark-mcp` server silently BCC'd the *entire contents* of every message it handled (AML.CS0053). Because the orchestration layer sits on the retrieval path by design, an attacker does not need to escalate — reading everything the pipeline reads is its normal function. That is near-total loss on this axis for the data this component can reach.
    VI Primary Dependency Impact -- IntegrityHHagentCONFIRM H. The orchestration framework mediates retrieval, prompt assembly and output delivery, so control of it is total control of the component's behaviour, and the scenario states no one reviews package changes before they reach production — i.e. behaviour can be altered silently and materially, matching the questionnaire's own "Full" answer. Version pinning without hash pinning does not prevent this: ATLAS AML.T0109 (AI Supply Chain Rug Pull) describes exactly the pattern of publishing a legitimate package and then a malicious version once adoption is reached, and `postmark-mcp` v1.0.16 realized it — organizations received the malicious build through a routine upgrade and the effect persisted in their agent configuration (AML.CS0053, AML.T0110.001). Research on the 11 frameworks of this class (LangChain, LlamaIndex, et al.) found 20 RCE vulnerabilities, confirming that code-level control of the orchestrator is the realistic failure mode rather than mere output tampering (AML.CS0052).
    VA Primary Dependency Impact -- AvailabilityLLagentCONFIRM L. A broken or yanked orchestration package would stop RouteHelp's pipeline, but the loss is recoverable and time-bounded rather than total: dependencies are pinned by version so an already-deployed release keeps running, the scenario states any component can be swapped for an alternative in days, and the questionnaire rates exit effort as trivial and reconstitution as lossless (standard interfaces, portable data). The corpus precedents also point to stealth rather than denial — `torchtriton` and `postmark-mcp` both preserved normal function so the compromise would go unnoticed (AML.CS0015, AML.CS0053), and the PyTorch response was a rename/removal with service continuity. Degradation of the assistant while customer-service agents in twelve countries fall back to manual lookup is a partial, not near-total, availability loss at this dependency. Lower confidence because a destructive rather than stealthy update could cause a short full outage of this component.
    SC Downstream Blast-Radius Impact -- ConfidentialityHLagent · overrideOverride of the questionnaire prior (L). For dimension 4.2 the vulnerable system is the self-hosted orchestration framework pulled unreviewed from a public package registry; the subsequent systems are the support knowledge base, the self-hosted vector store and the 40 million customer shipment records that the framework holds credentials for, plus the customer-service tooling in twelve countries. A malicious package update in this position yields arbitrary code execution inside the trust boundary (ATLAS AML.T0011.001 Malicious Package; AML.CS0022; AML.CS0031, where a poisoned artifact opened a reverse shell), and the postmark-mcp rug-pull case (AML.CS0053) shows the realized outcome is silent bulk exfiltration of everything the orchestration layer touches (AML.T0086). Because weekly unhashed pulls and absent change review mean nothing constrains what the code reads, loss on the confidentiality axis at those adjacent stores is near-total rather than the 'metadata/fragments' partial loss the prior assumes. The prior's 'Partial' answer reflects the primary dependency's own limited data view, not the blast radius of code that mediates retrieval over 40M records.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirms the prior. The questionnaire states downstream systems 'act on altered outputs without detection', which matches this dimension exactly: the orchestration framework owns retrieval, ranking, prompt assembly and output delivery, so a compromised update can alter what is fed to the model and what reaches customer-service agents in twelve countries, and can also write poisoned content back into the knowledge base/vector store (rubric 4.1 note: such code 'can alter what gets fed to the model' -- Subsequent Integrity on a later pipeline stage; rubric 1.3 note: every downstream consumer inherits an un-notified behaviour change). Version pinning without hashes, weekly automatic pulls and no model-card/package review mean the change is silent, and ATLAS AML.T0109 (AI Supply Chain Rug Pull) plus AML.CS0052 (20 RCE flaws across LangChain/LlamaIndex-class frameworks) establish this is a realized, not hypothetical, path. Total loss of trust in downstream outputs => H.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirms the prior. A broken or sabotaged orchestration package would stall RouteHelp and degrade the knowledge-assistant workflow for support agents ('some downstream workloads degrade'), but the dependency serves one narrow workload, components are swappable within days, and the vector database and shipment-record systems remain independently available, so downstream availability loss is partial rather than total. S (Safety) is not warranted: RouteHelp is an advisory customer-support assistant with no tool-execution environment (rubric notes no 4.3 tool execution described) and no control over physical freight operations, so an outage degrades service quality rather than causing a safety-relevant failure; Meridian is also outside sector regulation beyond general data protection.
    E Precedent MaturityAAagentConfirmed. The exposure here is a self-hosted orchestration/agent framework installed from a public package registry, version-pinned but not hash-pinned, pulled weekly with no review of package changes — i.e. exactly the 'malicious update executes inside the trust boundary' path. The corpus contains documented real-world *incidents* (not just research) of this control being exercised against comparable organisations: MITRE ATLAS AML.CS0015 (Compromised PyTorch Dependency Chain, Dec 2022, classified 'Incident → CASE Precedent Maturity E:A'), where a malicious `torchtriton` package uploaded to PyPI was installed in place of a legitimate ML dependency and exfiltrated local credentials and SSH keys from every machine that pip-installed the nightly build; and AML.CS0053, where a namesquatted `postmark-mcp` npm package serving an AI agent tool was updated to silently BCC all outbound mail to the attacker — a textbook AML.T0109 'AI Supply Chain Rug Pull' in which a legitimate package is published first and weaponised after adoption, which defeats version-pinning-without-hash and weekly unreviewed pulls precisely as described in Meridian's pipeline. AML.T0010.001 (AI Software supply chain compromise) is itself rated 'Realized → E:A'. Framework-specific research (AML.CS0052 LLMSmith, 20 RCEs across LangChain, LlamaIndex, Langflow and 8 other orchestration frameworks) and in-the-wild exploitation of orchestration products (AML.CS0070 Langflow/n8n CVE exploitation attempts; AML.CS0071 multi-agent framework compromise of government systems) corroborate that the orchestration layer is an actively attacked target, not a theoretical one. Only 'P' would be supportable if the evidence were limited to LLMSmith-style research; the registry-delivered malicious-update incidents push this to 'A'. Note the questionnaire's vendor/subprocessor framing does not fit this category (Meridian self-hosts with no commercial counterparty), but the prior value A is nonetheless correct on this category's own evidence: the 'party in the chain' is the unreviewed public-registry maintainer/publisher rather than a contracted subprocessor.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequenceNNagentConfirmed, with reservations. The rubric's exemplars for S=P are Art. 28-type processor/subprocessor failures and EU AI Act Title III obligations. Neither attaches here: Meridian self-hosts the orchestration framework in its own cloud account with no processor relationship and no contractual counterparty (so no Art. 28 chain to breach), the scenario states it is 'not subject to sector regulation beyond general data-protection law', and a customer-support knowledge assistant is not an Annex III high-risk use, while the framework itself arrives under a free/open-source licence which the AI Act expressly exempts from the third-party-supplier written-agreement duty (eu-ai-act-2024-1689.md, Art. 25(4) and recitals 102-104). The compromise would become reportable under GDPR Art. 33 only once personal data in the 40M shipment records actually moved or decisions were corrupted - that is a consequence already captured by the impact metrics (VI/SC/SI), not an independent regulatory trigger at this dependency. Confidence is held at moderate because an Art. 32 'appropriate security' argument against unhashed, unreviewed weekly dependency pulls is available to a regulator.
    AU Silent/Automatic TriggerYYagentConfirmed and strongly supported for this dimension specifically. A malicious orchestration-framework release on the public package registry is published once and reaches every consumer whose pipeline pulls it - no per-customer decision exists. ATLAS T0109 (AI Supply Chain Rug Pull) describes exactly this pattern: publish a legitimate package, accumulate users, then push the malicious variant. CS0053 shows it realised - every organisation that upgraded postmark-mcp to 1.0.16 received the poisoned tool - and CS0015 shows the PyPI/dependency-confusion variant hitting all pytorch-nightly installs over a five-day window. Meridian's configuration maximises this: versions pinned but not by hash, weekly automated pulls, and no model-card or package-change review, so the bad artefact installs silently with no org decision point.
    R Portability / Exit RecoveryAAagentConfirmed. R asks whether the capability can be reconstituted, not how much effort it costs (that is RE). The orchestration framework is open-source code already resident in Meridian's own cloud account and installed from a public registry; no vendor can withhold it, no weights or proprietary state are held hostage, and the scenario states any component can be swapped for an alternative in days. Recovery from a bad update is a rollback to a known-good version or a swap to an equivalent framework - so nothing is irrecoverable (not I) and no original vendor is required. The counter-argument for U is real (orchestration glue - chain/agent/retriever abstractions and prompt-assembly code - is framework-specific and a port is hand-written work), which is why confidence is moderate rather than high; but since no capability or data is lost, A remains the better fit and the migration labour is scored under RE.
    V Blast-Radius ConcentrationCDagent · overrideOverride D -> C for this dimension. The rubric's C value is 'critical path for many/all AI workloads (e.g., shared control plane)', and the orchestration framework is precisely the control plane of Meridian's AI estate: per the 4.2 classifier rationale it mediates retrieval, prompt assembly and output delivery, i.e. every other component (embedding model, tokenizer, vector DB) is invoked through it. The questionnaire's 'one narrow workload' answer describes component scope correctly in count terms but understates concentration: RouteHelp is the whole of the described AI estate, so the framework is in the critical path of all of it, and that single chokepoint holds access to the support knowledge base plus 40M customer shipment records with outputs flowing to agents in twelve countries. It is also not 'narrow' in the diffuse sense - compromise at this one point reaches every stage, every record and every country at once, which is the asymmetry V is meant to capture. Confidence is moderate because a reviewer applying a strict workload-count reading would retain D.
    RE Exit / Mitigation EffortLLagentConfirmed. RE covers exit or mitigation, and both are cheap here. Exit: the framework is open-source, self-hosted on Meridian's own infrastructure, with alternatives behind comparable interfaces and a stated swap time of days - no re-contracting (there is no contract), no re-architecture of hosting, no physical infrastructure. Mitigation is cheaper still and does not require exit at all: the exposure stems from hash-free pinning, unreviewed weekly pulls and no change gate, all of which are addressed by standard, well-documented controls - hash-pinned lockfiles, code signing and artefact verification (ATLAS M0013 Code Signing is listed as a mitigation for AML.T0010) plus a human review step on package and model-card diffs. Low effort, not moderate.
    U Vendor Notice PostureRedXagent · overrideOverride X -> Red. The questionnaire answered 'Unknown', but the scenario is explicit that Meridian 'has no contractual counterparty to give it notice', and the AI Act confirms the structural reason: suppliers making components available under a free and open-source licence are exempt from the written-agreement/information duties that would otherwise bind a component supplier (eu-ai-act-2024-1689.md, Art. 25(4)). So there is no entity obliged or positioned to pre-announce a sovereignty-relevant change to the orchestration framework; upstream maintainers publish and the change takes effect on Meridian's next weekly pull, with no model-card or package-change review to catch it. In the adversarial case notice is deliberately withheld - ATLAS T0109 rug-pulls work precisely by publishing the malicious variant without disclosure, as realised in CS0053. This is the definition of Red (never discloses before the change takes effect), and it is an evidenced finding rather than an absence of evidence, so X is not appropriate.
  5. 5 Which humans are actually looking at our stuff?

    5.1 Human review processes
    MEDIUM5.8

    Because Meridian uses no commercial AI supplier, no outside staff, contractors or annotators ever see its prompts, outputs or logs — the usual concern in this area simply does not arise. The gap runs the other way: the only people in the loop are Meridian's own customer-service agents in twelve countries, who read RouteHelp's answers and act on them with no way to tell a correct answer from a quietly altered one. There is no verification step, no record of what changed in the weekly update, and no signal shown to the agent, so an altered or poisoned answer would look exactly as authoritative as a correct one. Any single upstream change reaches all twelve countries at once, with no case-by-case review to interrupt it.

    Rating MEDIUM. No outsiders are reading Meridian's data, but no one inside Meridian is in a position to catch a bad answer either.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:L/SC:L/SI:H/SA:L/E:P/CR:M/IR:H/AR:M/S:N/AU:Y/R:A/V:D/RE:M/U:Red Score 5.8 (Medium)

    Ask the vendor Does a real person at your company, or a contractor of yours, ever read our conversations or our data? · If a conversation gets flagged, does it go somewhere else to be reviewed or labeled? · When your support engineers debug a problem for us, what can they see?

    MetricValuePriorSourceRationale
    AV Access PathLAagent · overrideOverride of the questionnaire's 'A (subprocessor-mediated)' prior: that answer describes a vendor-chain dependency, but Meridian has no commercial AI vendor and no subprocessor. For Category 5.1 the human-review surface is entirely internal: the embedding model, tokenizer, orchestration framework and vector DB all run in Meridian's own cloud account, and the only humans in the loop are Meridian's own customer-service agents in twelve countries who read RouteHelp outputs. The exposure therefore sits in a customer-managed environment that is nonetheless remotely reachable by upstream artifact publishers through the unpinned, hash-unverified weekly pull - exactly the 'L = resident in customer-managed environment but still vendor-reachable' case. ATLAS documents this reach-into-your-own-environment path for public hubs and registries (model namespace reuse resolving stale unpinned references, PyPI dependency confusion in PyTorch-nightly). It is not P, because no physical or administrative action is needed to reach the review point - the pipeline fetches updates itself.
    AC Compulsion ComplexityLLagentConfirms the prior, on this category's own facts rather than on ToS grounds. There is no contractual counterparty at all, so no clause to overcome; and there are no technical barriers either - dependencies are pinned by version but not by hash, the pipeline pulls weekly, and nobody reviews model-card or package changes before production. Publishing a malicious or silently altered version of a package, model file or tokenizer is sufficient for it to reach the agents' screens; ATLAS 'rug pull' and namespace-reuse precedents show this requires only ordinary publication rights on a public hub, and the ReversingLabs Hugging Face case shows unsafe artifacts loading and executing without any additional barrier. No customer-managed-key or residency carve-out stands in the way.
    AT Trigger ConditionsNPagent · overrideOverride. The prior ('only upon sanctions designation, litigation hold, incident or product decision') is a vendor-governance answer that has no analogue here - there is no vendor to make a product decision and no legal counterparty to serve. For 5.1 the condition that matters is continuously present: Meridian's customer-service agents consume RouteHelp answers in the ordinary course and have no mechanism (no hash verification, no model-card diff, no provenance signal) to detect a silently altered or poisoned response. On the upstream side, the weekly auto-pull means a changed artifact propagates on a fixed routine cycle rather than needing a special triggering event, as in the postmark-mcp rug pull where the poisoned version simply arrived with the next upgrade. Hence 'None' rather than 'Present'.
    PR Position RequiredNNagentConfirmed, re-anchored on the open-source chain: in the absence of a subprocessor chain, the equivalent standing is simply being a publisher (or namespace reclaimer) on the public model hub or package registry that Meridian's pipeline already trusts. No position inside Meridian, and no compromise of Meridian administrative credentials, is required to change what the human reviewers in the loop see - ATLAS AML.T0010 and the namespace-reuse and PyPI dependency-confusion cases are all executed from ordinary public-publisher standing. This is the metric that carries the dimension: the people reviewing outputs have zero privilege barrier protecting the integrity of what they review.
    UI Org Action RequiredPPagentConfirmed. The exposure is realised through routine, ordinary use: agents in twelve countries read and act on RouteHelp outputs as part of normal support work, and the deployment pipeline pulls updates weekly with no affirmative acceptance step. Meridian need take no opt-in action (so not A), but the harm at the human-review point only materialises when staff actually consume the output - the passive-use case rather than a purely unilateral change (N). This is the automation-bias / over-reliance pattern the EU AI Act Art. 14 oversight provisions target: effective oversight presupposes the operator can detect anomalies and dysfunctions in the output, which Meridian's agents cannot.
    VC Primary Dependency Impact -- ConfidentialityLLagentThe "dependency" for 5.1 is the human-review step itself. Meridian has no commercial AI vendor and no external reviewers, so the classic 5.1 confidentiality channel (vendor or contractor staff reading flagged prompts and outputs) is absent: nothing is routed outside Meridian's own cloud account, and there is no annotation or support-review queue. What remains is a limited, indirect exposure through the review channel: RouteHelp answers drawn from the support knowledge base and 40 million shipment records flow straight to Meridian's own customer-service agents in twelve jurisdictions, with no verification step that could notice a compromised component widening what retrieval surfaces (ATLAS AML.T0115.001 poisoned models, AML.T0110 poisoned tooling, AML.CS0053 where a rug-pulled component silently exfiltrated the content users handed it). That is partial/indirect rather than total loss on this axis, and the exposure is to internal staff, not to a third party, so L is the ceiling here. Confirms the questionnaire prior, though for a different reason than the prior implies, and with low confidence as the classifier notes this dimension matches only loosely.
    VI Primary Dependency Impact -- IntegrityHHagentConfirmed. This is the axis on which 5.1 actually carries, in the inverted sense identified by the classifier: the only humans in the loop are Meridian's own agents, who consume RouteHelp output directly and have no means to detect a silently altered or poisoned answer. Dependencies are pinned by version but not by hash, the pipeline pulls weekly, and no one reviews model-card or package changes before production - precisely the conditions a rug pull exploits, since scrutiny is applied at first adoption and not at update (ATLAS AML.T0109; AML.CS0053, where organizations upgrading postmark-mcp to 1.0.16 silently received the malicious build). Code signing / artifact validation (AML.M0013, AML.M0008) are the stated mitigations and are absent here. The EU AI Act's human-oversight provisions (Art. 14(4)(a)-(d)) describe what an effective review step must enable - detecting anomalies and unexpected performance, correctly interpreting output, and overriding it - and warn specifically about automation bias where a system provides information to natural persons; none of those enablers exist for Meridian's agents. The review control is therefore defeated essentially in full, and poisoned-model/false-fact cases (AML.CS0027, AML.CS0072) show altered outputs being presented to humans as neutral and authoritative. H.
    VA Primary Dependency Impact -- AvailabilityLLagentConfirmed at L, but bounded. No external party can withdraw this human-review capability: the reviewers are Meridian's own employees in a 35,000-person organization, there is no contractual counterparty and no vendor that could remove reviewer capacity or throttle a review queue, so a total loss (H) is not available on this axis. Some degradation is realistic: a broken or malicious weekly update to the model, tokenizer or orchestration framework degrades or stops the assistant, and the agents in twelve countries fall back to manual lookup in the knowledge base - a partial, temporary loss of the assisted-review workflow. This matches the questionnaire's own "partial: degraded service or temporary loss" answer, and is mitigated by the ability to swap any component for an alternative in days (exit effort rated trivial). L.
    SC Downstream Blast-Radius Impact -- ConfidentialityLLagentConfirmed at L, but on different grounds than the questionnaire. For 5.1 the humans in the loop ARE the primary surface (VC), so SC must capture loss propagating past them. Meridian has no vendor or contractor reviewers (no 5.2/5.3 pipeline), so there is no third-party reviewer disclosure path and SC is far from H. There is, however, a limited onward path: unreviewed assistant outputs are relayed by agents in twelve countries to external customers, and a silently altered retrieval/embedding component could surface fragments of the wrong shipment records (of 40M) into a support conversation with no reviewer able to notice. That is 'partial or limited loss' - indirect, fragmentary - not total. The rubric marks subsequent impact as not relevant for 5.1 (sovereignty_cvss_rubric_1.json, node 5.1), hence low confidence.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirmed H. This is the one axis on which the dimension genuinely carries: RouteHelp's outputs 'flow straight to customer-service agents in twelve countries' with no review of model-card or package changes, no hash pinning, and weekly unvetted pulls. The sole humans in the loop therefore have no means to distinguish a correct answer from a poisoned or silently altered one, so downstream actors (agents, then customers, then the operational actions they take on claims, routing and shipment queries) act on altered outputs without detection - an unbounded, i.e. near-total, integrity loss on the downstream side. EU AI Act Art. 14(4)(a)-(c) frames exactly this failure mode: overseers must be able to detect anomalies and unexpected performance and must be protected against over-reliance on output (automation bias); neither condition holds here. Confidence held at moderate because the rubric itself sets subsequent_impact_relevant=false for 5.1, so this value is an inverted reading of the dimension rather than its canonical use.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirmed L. If outputs become untrustworthy or the component is pulled, the downstream consequence is that agents in twelve countries fall back to manual knowledge-base lookup: support handling degrades and slows, but the customer-service function does not stop, and Meridian can swap any component for an alternative in days with no contractual lock-in ('some downstream workloads degrade'). S (Safety) is not warranted: RouteHelp is a customer-support knowledge assistant, not a dispatch, vehicle or hazardous-goods control system, so no availability loss here produces physical harm or a safety-relevant failure. No corpus source addresses availability propagation through a human-review layer specifically, so this rests on the scenario text.
    E Precedent MaturityPAagent · overrideOverride of the questionnaire's E:A, which was answered for the primary dependency (the artefact supply chain, where real incidents exist: ATLAS AML.CS0031 malicious Hugging Face models, Incident → E:A, and AML.T0020 Training Data Poisoning, Realized → E:A). This category's exposure is different and narrower: Meridian has no commercial vendor and therefore no external reviewers, annotators or support engineers, so the literal 5.1 control (vendor or contractor staff seeing flagged prompts and outputs) has never been exercised against it. What carries 5.1 is the inverted verification gap — RouteHelp's outputs flow straight to Meridian's own customer-service agents in twelve countries with no means to detect a silently altered or poisoned response, and dependencies are pinned by version but not by hash with weekly unreviewed pulls. The precedent for that exact mechanism (silently altered outputs reaching human consumers undetected) is demonstrated rather than realized: AML.CS0027 shows EasyEdit poisoning a model to emit false facts (researcher demonstration), AML.CS0065 shows Unit 42 hijacking unpinned model references through namespace reuse (Exercise → E:P), and AML.T0018.001/.002 and AML.T0110 are classed Demonstrated → E:P. The EU AI Act Art. 14(4)(b) treats automation bias / over-reliance on outputs as a recognised oversight failure, corroborating plausibility without supplying a documented case against a comparable org's review process. Per the ATLAS→CASE mapping in the corpus README, Demonstrated/Exercise evidence yields E:P. Confidence is deliberately moderate-low: the dimension fits only in the inverted sense and the classification turns on which control one treats as being 'exercised'.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequenceNNagentConfirmed. A failure of the human-review layer does not, on its own, trigger a reportable regulatory violation. RouteHelp is a customer-support knowledge assistant and is not an Annex III use case, so the EU AI Act's Title III human-oversight duties (Art. 14 — anomaly detection, automation-bias mitigation, interpretation tools, Art. 12 logging) do not bind Meridian as obligations whose breach is reportable. There is also no GDPR Art. 28 processor/subprocessor exposure here, because there is no vendor and no external reviewer: the reviewers are Meridian's own employees acting as the controller's own staff, so no reportable transfer or processor-governance failure arises from the review layer itself. Scenario confirms no sector regulation beyond general data-protection law. Residual caveat: if altered outputs caused agents to disclose shipment records to the wrong customers, an Art. 33 breach notification could follow, but that is a consequence of the data-exposure path rather than an independent trigger at this dimension.
    AU Silent/Automatic TriggerYYagentConfirmed, on this dimension's own facts. There is no case-by-case human gate anywhere in the loop: the weekly pipeline pull propagates a changed model, tokenizer or package into production, and the resulting outputs reach customer-service agents in all twelve countries simultaneously with no per-case review or sign-off. The absence of review is systemic rather than per-incident, so the sovereignty-loss event (humans acting on unverified, possibly altered output) occurs fleet-wide at once. ATLAS AML.T0109 (rug pull) and AML.CS0015 (PyTorch dependency confusion) document exactly this one-push-affects-all-consumers pattern for public registries, and AML.T0031/AML.CS0064 note the altered behaviour stays dormant and looks normal, so no reviewer decision interrupts the propagation.
    R Portability / Exit RecoveryAAagentConfirmed. The 'capability' at this dimension is human review of prompts and outputs, and it is entirely in-house: the reviewers are Meridian's own customer-service agents, with no vendor, outsourced annotation contractor or support organisation holding any part of it. There is no counterparty whose departure could strand the capability, and the underlying components (embedding model, tokenizer, orchestration framework, vector DB) are open-source with exported weights, portable data and standard interfaces, swappable in days. Nothing must be reconstituted from an original vendor, so Automatic rather than User or Irrecoverable.
    V Blast-Radius ConcentrationDDagentConfirmed against the rubric's own wording — 'Diffuse: dependency is scoped to one narrow workload'. The human-review path assessed here exists only for RouteHelp, the customer-support assistant; it is not a shared control plane sitting in the critical path of many AI workloads, and the rubric reserves Concentrated for that shared-chokepoint case. Noted for the reviewer as the countervailing consideration: within that single workload the unverified output channel does fan out to agents in twelve countries and sits adjacent to 40 million shipment records, and RouteHelp appears to be Meridian's only AI workload, so a reviewer preferring a consumption-channel reading could argue C. I retain D as the rubric-faithful reading, with correspondingly moderate confidence.
    RE Exit / Mitigation EffortMLagent · overrideOverride L to M. The questionnaire's 'trivial' answer describes swapping a component, which is indeed days of work; but the exposure at THIS dimension is the absence of any human verification capability, and mitigating that is not a swap-out and cannot be a contractual fix, because Meridian has no contractual counterparty at all. Closing it requires standing up what EU AI Act Art. 14 enumerates — tooling that lets reviewers detect anomalies and unexpected performance, output-interpretation aids, Art. 12-style logging, and explicit training against the automation-bias tendency to over-rely on the assistant's answers — rolled out to customer-service agents across twelve countries, plus the upstream provenance controls the scenario lacks (hash pinning rather than version pinning, model-card and package-diff review before production, artifact signing per ATLAS AML.M0013 Code Signing). That is a process and pipeline build-out: more than trivial, but well short of re-architecture, re-contracting or physical infrastructure replacement, so Moderate rather than High.
    U Vendor Notice PostureRedXagent · overrideOverride X to Red; the rubric names U as the supplemental hook for 5.1, so a value is warranted rather than Not Defined. The questionnaire answered 'Unknown', but the scenario supplies the determinative fact: Meridian 'has no contractual counterparty to give it notice'. The de facto providers are a public model hub and a public package registry, which owe no disclosure at all — ATLAS AML.T0109 rug-pull, AML.T0010 and AML.T0115.001 describe maintainers publishing a benign artifact and then a malicious or materially changed version to all downstream consumers without warning, and AML.CS0015 shows the PyTorch-nightly dependency compromise reaching users before any announcement. Combined with weekly unreviewed pulls and no model-card or package-change review, any sovereignty-relevant change takes effect in production, and reaches the agents in twelve countries, strictly before Meridian learns of it. That is Red, not Amber: there is not even concurrent disclosure. Confidence is held at moderate because Red is defined in vendor terms and Meridian has no vendor; the value records a structural absence of notice rather than an observed vendor posture.
  6. 6 Who's holding the steering wheel?

    6.4 Configuration and policy management · also 6.1
    HIGH7.9

    The control plane is reassuringly Meridian's own — the build system and cloud console sit in its own account with no outside administrator. What undermines that is Meridian's own written practice for the pipeline: dependencies identified by version label only, an automatic weekly download, and no approval gate before anything reaches production. That configuration is precisely what converts a stranger's decision into a Meridian production change that nobody at the company authorised or recorded. Reusing a version label is enough to satisfy the current check, so an outside publisher does not need to defeat any safeguard; the policy lets the change through by design.

    Rating HIGH. Meridian holds the steering wheel, but its own change-control policy hands the wheel to an outside publisher once a week.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:H/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:N/AU:Y/R:U/V:C/RE:L/U:Red Score 7.9 (High)

    Ask the vendor Where does the screen we'd use to configure or turn off this AI feature actually live? · Is our employee login system, or our credentials to other systems, now tied into a system this vendor controls? · Can settings change on us without anyone telling us?

    MetricValuePriorSourceRationale
    AV Access PathLAagent · overrideOverride of the questionnaire's 'A' (subprocessor-mediated), which describes the primary dependency's hosting rather than this category's control-plane artefact. For 6.4 the governing artefact is Meridian's own deployment pipeline and dependency policy: it runs in Meridian's own cloud account (scenario: 'Everything runs in Meridian's own cloud account'), so the configuration is resident in a customer-managed environment. It is nonetheless reachable from outside, because the pipeline pulls updates weekly from a public package registry and public model hub, and version pins without hashes do not bind the artefact content. That is exactly the rubric's AV:L definition, 'resident in customer-managed environment but still vendor-reachable' (sovereignty_cvss_rubric_1.json, exploitability/AV). Not N (no vendor-direct API into the pipeline) and not P (not air-gapped: the automatic weekly pull is an open inbound path, so no physical/administrative action is needed to reach it).
    AC Compulsion ComplexityLLagentConfirmed. There are no technical or contractual barriers to overcome before an upstream change becomes Meridian's production configuration: dependencies are 'pinned by version but not by hash', the pipeline 'pulls updates weekly', and 'no one reviews model-card or package changes before they reach production'. No signing/hash verification (ATLAS mitigations M0013 Code Signing, M0014 Verify AI Artifacts are absent), no change-review gate, no customer-managed-key or residency carve-out. AML.CS0015 shows how little is required: a package published under a colliding name was installed by pip in place of the legitimate PyTorch dependency. AC:H would require a barrier that must first be defeated; there is none.
    AT Trigger ConditionsNPagent · overrideOverride of the prior 'P'. The prior reflects a contractual vendor who acts only on a triggering event (sanctions, litigation hold, incident); Meridian has 'no contractual counterparty', so no such gating event exists for this dimension. An upstream maintainer or registry account holder can publish a new artefact at any time of their choosing, and the weekly pull is a standing, guaranteed-to-recur mechanism rather than a contingent event. ATLAS AML.T0109 (AI Supply Chain Rug Pull) describes precisely this discretionary timing: publish a legitimate component, build adoption, then 'push an update with a malicious variant' once users rely on it. This matches AT:N, 'control can be exercised at vendor discretion at any time'. Note the rubric treats the closely analogous dimension 1.3 (model update/versioning control) as carried by UI and AT.
    PR Position RequiredNNagentConfirmed, and PR is one of the two carrying metrics for 6.4 per the rubric. No privileged position is needed: because the stack is assembled from open-source components, standing to change what reaches production belongs to any party already in the artefact supply chain - the embedding-model publisher on the public model hub, the tokenizer or orchestration-framework maintainer on the public registry, or anyone who can obtain a name/version collision (AML.CS0015 dependency confusion; AML.T0115.001 publishing poisoned models to registries; AML.T0111 building adoption signals so components 'pass both human and automated trust checks'). This is the rubric's PR:N, 'any party already in the subprocessor chain has sufficient standing'. PR:L would require being a primary contracted vendor (there is none) and PR:H would require compromising Meridian's own admin credentials, which the unhashed auto-pull makes unnecessary.
    UI Org Action RequiredNPagent · overrideOverride of the prior 'P' (ordinary use). The distinguishing fact for 6.4 is Meridian's configuration policy itself: the pipeline pulls weekly and 'no one reviews model-card or package changes before they reach production', so no affirmative or even incidental act by Meridian is interposed - an upstream publisher's release becomes a production change unilaterally and silently. That is the rubric's UI:N, 'vendor/subprocessor can act unilaterally (silent model swap ...)'. ATLAS AML.T0109 is explicit that a rug-pull update bypasses the scrutiny applied at initial adoption, and AML.T0081 (anchored by the rubric to dimension 6.4) covers silent replacement of configuration and knowledge sources that persists and affects everything sharing the configuration. The questionnaire also records that behaviour 'can be changed silently and materially' and that the event can hit all consumers at once with no case-by-case decision, both consistent with unilateral action rather than mere passive use. UI:A is clearly wrong here because there is no accept-the-update step.
    VC Primary Dependency Impact -- ConfidentialityLLagentConfirming the prior at L, but for this category's own reasons. The 'vulnerable system' for 6.4 is Meridian's configuration/policy plane: the dependency manifest (versions pinned, no hashes), the weekly auto-pull job and the absent change-review gate. That artefact is not itself secret — the whole stack is open-source and runs in Meridian's own cloud account, so there is no vendor/subprocessor with standing read access to it. What a subverted pipeline configuration does expose directly is limited and indirect: manifest contents, build/deploy credentials and environment configuration that an injected component inherits (ATLAS AML.T0083 'Credentials from AI Agent Configuration', AML.T0002.002 — configuration files are a credential and reconnaissance source). The bulk confidentiality exposure in the scenario — the support knowledge base and 40M shipment records reachable by whatever the pipeline installs — lands on systems downstream of the configuration plane and is properly scored on the subsequent (SC) axis, not here. Hence partial, not total, loss on the primary axis.
    VI Primary Dependency Impact -- IntegrityHHagentConfirmed at H, and this is the axis that carries dimension 6.4 (the rubric lists 6.4 'Configuration and policy management' with primary_impact_axis = ['VI'] and subsequent_impact_relevant = true). Meridian's configuration policy is the governing artefact and it is fully subvertible by a party outside the organisation: pinning by version without hash means a republished or mutated artefact under the same version satisfies the pin; the weekly automatic pull then promotes it; and with no model-card/package review gate nobody at Meridian approves the resulting production change. The effective configuration of the running system is therefore determined by upstream publishers rather than by Meridian — a total loss of control over configuration integrity, matching the questionnaire's own 'Full: behaviour can be changed silently and materially'. ATLAS documents both the mechanism (AML.T0109 AI Supply Chain Rug Pull — publish benign, gain adoption, then push a malicious update specifically to bypass the scrutiny applied at first inclusion; AML.T0010 AI Supply Chain Compromise; AML.T0111 reputation-building through dependency-chain inclusion) and the effect (AML.T0081 Modify AI Agent Configuration — changes to knowledge sources, tool settings and security controls that persist and affect every agent sharing the configuration, with change approval and integrity monitoring as the named mitigations). AML.CS0028 shows the same pattern realised end-to-end: a tampered artefact pushed under the same name and tag, pulled automatically by CI/CD.
    VA Primary Dependency Impact -- AvailabilityLLagentConfirmed at L. No external party can withdraw Meridian's configuration or build plane — the console and build system sit in Meridian's own cloud account and the components are open-source with trivial swap-out (questionnaire: 'exported weights, portable data, standard interfaces', mitigation effort 'trivial'), so total availability loss (H) is not available to any counterparty. But availability is not None either: the unreviewed weekly pull is itself an availability hazard — a broken, yanked or withdrawn upstream artefact, or a malicious update that is detected and must be rolled back, degrades or interrupts deployment and the running assistant until Meridian re-pins and redeploys. That matches the questionnaire's 'Partial: degraded service or temporary loss' and 'some downstream workloads degrade', and the pin-without-hash design means recovery depends on an upstream registry Meridian does not control. Partial/temporary loss = L.
    SC Downstream Blast-Radius Impact -- ConfidentialityHLagent · overrideOverride L -> H. The questionnaire's 'partial (metadata, fragments, aggregates)' answer fits a contracted vendor's incidental visibility; it does not describe this dimension's failure mode. At 6.4 the governing artefact is the pipeline's dependency policy: versions pinned but not hashed, an automatic weekly pull, and no model-card/package review gate. A publisher-side change therefore lands in production as code, and ATLAS documents that this is how it is actually exercised: AI Supply Chain Rug Pull (AML.T0109, maturity Realized), Embed Malware in model files (AML.T0018.002 - 'may allow them to achieve Execution, Command & Control, or Exfiltrate Data'), the Hugging Face malicious-model incident (AML.CS0031, reverse shell on model load, payload executed even when Picklescan could not deserialize) and model namespace reuse (AML.CS0065, name-only references resolved by a deployment pipeline to an attacker artefact, payload executed in the endpoint environment). The subsequent systems reachable from that execution context are the support knowledge base and 40 million customer shipment records, i.e. a read of the full datastore, not fragments - total or near-total loss on the confidentiality axis downstream of the configuration weakness. Version pinning without hash pinning is the specific control gap (mitigations AML.M0013 Code Signing, AML.M0014 Verify AI Artifacts) that makes this an H rather than an L.
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirm H. Consistent with the questionnaire ('downstream systems act on altered outputs without detection') and with the rubric's own note for update/versioning control: 'Every downstream consumer of the model inherits an un-notified behavior change -- textbook Subsequent Integrity impact.' Because no one reviews model-card or package changes before they reach production, an altered embedding model, tokenizer or orchestration package silently changes retrieval and answer construction, and those outputs flow straight to customer-service agents in twelve countries who have no signal that anything changed. ATLAS AML.T0081 (anchored to dimension 6.4) and AML.T0018.003 confirm that tampering with configuration, prompt-construction logic or tokenizer settings redirects outputs and weakens controls persistently for every consumer sharing the configuration. No human-in-the-loop or change-review gate bounds the error, so the loss is near-total on the downstream integrity axis.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirm L. A bad weekly auto-pull can break RouteHelp and degrade the support workflow in twelve countries, which matches the questionnaire's 'some downstream workloads degrade' - partial, not total, downstream availability loss. Mitigating facts in the scenario: the stack is self-hosted in Meridian's own cloud account, components are swappable in days, and the workload is one narrow assistant, so other systems keep running and a bad pin can be rolled back. S (Safety) is not warranted: RouteHelp is a customer-support knowledge assistant whose outputs inform human agents; it does not actuate freight movement or any physical process, so an availability loss cannot plausibly cause physical harm or a safety-relevant failure.
    E Precedent MaturityAAagentConfirmed. The control-plane weakness in scope at 6.4 is Meridian's dependency/change policy: versions pinned but not hashed, an unattended weekly pull, and no model-card or package change review before production. Attacks that specifically turn that configuration into a production change are documented as realized incidents, not theory. MITRE ATLAS classifies AI Supply Chain Compromise - AI Software (AML.T0010.001) as 'Realized', explicitly covering deep-learning frameworks, orchestration frameworks and their dependency chains, and AI Supply Chain Rug Pull (AML.T0109) describes precisely the evasion that defeats Meridian's model - 'more scrutiny is often placed on a dependency when it is first considered for inclusion', so the malicious variant is shipped as a later update. Real incidents against comparable organisations include the compromised PyTorch-nightly dependency chain via PyPI (AML.CS0015, Dec 2022), the poisoned postmark-mcp update delivered to organisations that upgraded to 1.0.16 (AML.CS0053), and malware-bearing models served from the Hugging Face hub that execute a reverse shell on load while evading Picklescan (AML.CS0031, 'Realized' / E:A, plus AML.T0076 Corrupt AI Model). Unsafe AI Artifacts (AML.T0011.000, Realized) expressly names tokenizer metadata and configuration as execution vectors - matching the tokenizer and model file Meridian pulls unreviewed. Related namespace-reuse work (AML.CS0065) is only 'Exercise'/E:P, but it reinforces that unhashed/unpinned references resolve to attacker-controlled artefacts; the overall precedent for this control being exercised against organisations running public-hub models and public-registry packages with auto-update is attacked-in-the-wild. The questionnaire answer ('Yes, documented real-world cases against comparable organizations') is therefore corroborated for this category too, even though the questionnaire was answered about the primary dependency.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequenceNNagentConfirmed. The governing artefact in 6.4 is Meridian's own deployment-pipeline dependency policy (version-pinned, not hash-pinned, weekly auto-pull, no review gate). A failure of that policy is not of itself a reportable regulatory violation: there is no processor/subprocessor relationship to breach (GDPR Art. 28 is not engaged - the stack is self-hosted in Meridian's own cloud account with no commercial vendor), and a customer-support knowledge assistant is not an Annex III high-risk use triggering EU AI Act Title III obligations; the open-source components it consumes are also covered by the Act's free-and-open-source carve-out for non-GPAI components (eu-ai-act-2024-1689.md, recitals 89-90). Note the nuance: if a poisoned component actually exfiltrated the 40M shipment records, GDPR Art. 33/34 notification would follow - but that is incident-contingent breach reporting, not an independent regulatory trigger arising from the configuration-management weakness itself. Scenario also states no sector regulation beyond general data protection law.
    AU Silent/Automatic TriggerYYagentConfirmed, and strongly supported for this category specifically. The configuration itself is the automation: a weekly unattended pull of version-pinned-but-unhashed artefacts means an upstream publisher's single act (a rug pull, a hijacked maintainer account, or a mutated tag/re-pushed artefact under the same version string) reaches production with no case-by-case decision by anyone at Meridian. ATLAS documents this as a realized pattern that lands on all consumers at once: AML.T0109 (AI Supply Chain Rug Pull - benign version adopted, malicious update pushed later, bypassing the scrutiny applied at first inclusion), AML.CS0015 (PyTorch-nightly/torchtriton - every pip install in the window got the malicious binary), and AML.CS0053 (postmark-mcp 1.0.16 - every organisation that upgraded received the poisoned tool).
    R Portability / Exit RecoveryUAagent · overrideOverride A -> U. The prior 'A' answers an exit question (no vendor lock-in: open weights, portable data, standard interfaces) and that remains true - nothing is irrecoverable, so I is excluded. But for the control plane the recovery question is reconstituting a trusted configuration after a silent change, and that is manual: because dependencies are pinned by version and not by hash and no one reviews model-card or package diffs, there is no integrity baseline to roll back to, so recovery means manually identifying the bad artefact, rebuilding the pipeline with digest pinning, re-indexing the vector store if embeddings changed, and auditing access to the knowledge base and shipment records. ATLAS AML.CS0015 shows the real-world remediation shape (rename/removal of the dependency plus credential rotation guidance), i.e. operator-driven rather than automatic. Scenario itself says swap-out takes 'days' - manual effort, not loss-free automatic recovery.
    V Blast-Radius ConcentrationCDagent · overrideOverride D -> C. The prior counts AI workloads (RouteHelp is the only one, hence 'one narrow workload'), but V measures how much an exercising party gains from a single exercise of this control. In 6.4 the asset is the deployment pipeline's dependency policy, which is the single shared control point for every component of the stack - embedding model, tokenizer, orchestration framework and self-hosted vector database all enter production through the same unreviewed weekly pull. One policy failure therefore puts code execution next to the support knowledge base and 40 million customer shipment records, with outputs reaching customer-service agents in twelve countries; the classifier likewise notes a build/console compromise 'would propagate to the whole workload'. That is a concentrated critical path rather than a dependency scoped to a narrow slice. Residual doubt (hence 0.6): a strict reading of 'many/all AI workloads' would keep D because Meridian runs only one AI workload.
    RE Exit / Mitigation EffortLLagentConfirmed. Unusually for a sovereignty exposure, the remedy here is entirely inside Meridian's own control plane and requires no re-contracting or re-architecture: pin by digest/hash instead of version tag, disable or gate the automatic weekly pull, and require review of model-card and package diffs before promotion - plus the ATLAS-recommended mitigation of code signing / signature verification for AI artefacts (AML.M0013, cited under AML.T0010). Components are also individually swappable in days. No vendor negotiation is available or needed, so effort is Low rather than Moderate.
    U Vendor Notice PostureRedXagent · overrideOverride X -> Red. The questionnaire said 'unknown', but the scenario resolves it: Meridian 'has no contractual counterparty to give it notice'. Public model-hub and package-registry publishers owe no disclosure and, per ATLAS AML.T0109/AML.T0111, the attacker's entire method is to push the sovereignty-relevant change (new model file, new package version) with no prior notice precisely so it lands before any scrutiny; even benign upstream changes arrive as a silently updated model card that no one reviews. Disclosure therefore occurs after the change is already in production, if at all - Red, not Amber.
  7. 7 How many companies are really in this chain: and did we agree to it?Headline

    7.4 Open source components in the pipeline · also 7.3
    HIGH8.3

    This is the headline finding. Meridian adopted an entirely self-built stack specifically to avoid supplier exposure, and in that narrow aim it succeeded: there is no commercial AI vendor, no subcontractor chain and no agreement Meridian did not read. The exposure has simply moved to the open-source supply chain. The embedding model comes from a public model hub and the tokenizer and orchestration framework from a public package registry, all identified by version label rather than cryptographic fingerprint, downloaded automatically every week and promoted to production without anyone reading the change notes. Anyone able to publish under those names — including by taking over an abandoned name or a maintainer's account — can place code inside Meridian's pipeline that runs with access to the support knowledge base and 40 million customer shipment records and whose answers go straight to agents in twelve countries. This pattern has repeatedly caused real incidents, and Meridian has no inventory of what these components are, no record of where they came from, and no counterparty obliged to warn it.

    Rating HIGH. Meridian removed the commercial suppliers from the chain but not the strangers, and it currently has no list of who they are.

    Evidence: vector, score and 21 metric rationales

    Vector SOV:1.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:A/CR:M/IR:H/AR:M/S:P/AU:Y/R:A/V:D/RE:L/U:Red Score 8.3 (High)

    Ask the vendor List every company standing between us and the raw computer running this AI. How long is that list, really? · Did we ever affirmatively choose to adopt AI here, or did it just arrive?

    MetricValuePriorSourceRationale
    AV Access PathNAagent · overrideOverride of the 'Adjacent / subprocessor-mediated' prior: by design there is no commercial vendor and no subprocessor hop here (the stack is self-built from public registries in Meridian's own cloud account), so the prior's mediation assumption does not hold for this dimension. The controlling party is the upstream publisher (or anyone who can push to the model hub / package registry namespace), and the deployment pipeline pulls weekly straight from those public registries into production with no intermediary and no hash or signature check. That is a direct network delivery path into the running system, matching AV:N 'no intermediary' (ATLAS AML.T0010.001/.003 and AML.T0115.001: artefacts pulled from public registries reach production directly; AML.CS0053 shows the upgrade channel itself as the path). L was considered because the components are resident in a customer-managed environment, but the decisive factor is that no local or administrative access is needed for the upstream to change what runs — hence N, with moderate confidence given the residency argument.
    AC Compulsion ComplexityLLagentConfirmed. There is nothing to overcome: dependencies are pinned by version but not by hash, there is no code signing or model validation (the ATLAS mitigations AML.M0013 Code Signing and AML.M0008 Validate AI Model are absent), and no one reviews model-card or package changes before they reach production. Publishing a new version under an already-trusted name is the ordinary, documented route (AML.T0109 Rug Pull, Realized; AML.CS0053). No customer-managed keys, residency carve-outs or contractual barriers exist to raise complexity.
    AT Trigger ConditionsNPagent · overrideOverride of the 'Present' prior. The prior reflects vendor/legal-process thinking (sanctions, litigation hold, product decision), which has no counterparty here. For open-source artefacts the control can be exercised at the publisher's discretion at any time: a malicious or compromised version can be pushed whenever the publisher chooses and the weekly automated pull guarantees it lands in production within days, with no gate or triggering event. ATLAS records this as Realized against every consumer of the artefact simultaneously (AML.T0109, AML.T0010.001/.003, AML.CS0053 — organizations were compromised merely by upgrading), and the questionnaire itself states the loss event could hit all consumers at once with no case-by-case decision. AT is one of the two metrics the rubric names as carrying 7.4, so this correction matters.
    PR Position RequiredNNagentConfirmed, though for a different reason than the prior's 'any party already in the subprocessor chain': there is no chain, but the standing required is even lower — anyone able to publish to the public model hub or package registry under a trusted (or typosquatted/hallucinated) name, or anyone who compromises a maintainer account, is in position. No contracted-vendor status and no Meridian administrative credentials are needed; ATLAS documents reputation-inflated packages passing both human and automated trust checks (AML.T0111) and realized compromise of legitimate packages and maintainer channels (AML.T0010.001). PR is the second metric the rubric flags as carrying 7.4.
    UI Org Action RequiredPPagentConfirmed. Ordinary operation is sufficient: the deployment pipeline's routine weekly pull ingests whatever the registry now serves for the pinned version range, and no affirmative review, approval or opt-in step exists (no model-card or package-diff review). This is passive triggering by normal use rather than an active organizational decision (A), and it is not N only because the vehicle is Meridian's own routine pipeline run rather than a unilateral change inside a vendor-operated service. ATLAS AML.CS0053 and AML.T0109 show exactly this pattern: victims received the malicious artefact through an ordinary upgrade, and AML.T0010.004 notes automated CI/CD pipelines pulling poisoned artefacts.
    VC Primary Dependency Impact -- ConfidentialityHLagent · overrideOVERRIDE L → H. The prior ('partial: metadata, fragments, aggregates') reflects a subprocessor-mediated disclosure model, but 7.4 exposure here is code execution inside Meridian's own pipeline, not a vendor reading telemetry. Dependencies are pinned by version only (no hashes), the pipeline pulls weekly, and nobody reviews model-card or package diffs — so a poisoned embedding model, tokenizer or orchestration package loads with the runtime's full privileges. ATLAS AML.T0011.000 'Unsafe AI Artifacts' is explicit that serialized models, tokenizer metadata and pre/post-processing logic can 'exploit deserialization ... to execute code on the host', and AML.CS0031 (Malicious Models on Hugging Face, realized incident) documents models that opened reverse shells on load, evading Picklescan; AML.CS0022 documents malicious registry packages giving arbitrary code execution to 30,000+ downloaders. The scenario states the compromised artefact 'would execute with access to the support knowledge base and 40 million customer shipment records'. Code execution with read access to that corpus is a total, not limited, confidentiality loss at the dependency itself.
    VI Primary Dependency Impact -- IntegrityHHagentCONFIRM H. This is the category's primary impact axis per the 7.4 assessor guidance. Hash-less version pins plus unreviewed weekly pulls mean an attacker who performs a rug pull or namesquat (ATLAS AML.T0010.001, which names LangChain-class integration frameworks and their dependency chains explicitly) or publishes a poisoned artefact (AML.T0115) can change RouteHelp's behaviour and outputs silently and materially. ATLAS AML.T0018 notes manipulated artefacts 'may retain expected behaviour under ordinary conditions while activating malicious behaviour only for selected inputs', so Meridian has no detection path — matching the questionnaire's 'behaviour can be changed silently and materially'. Integrity loss at the dependency is therefore total.
    VA Primary Dependency Impact -- AvailabilityLLagentCONFIRM L. A yanked, broken or maliciously updated package/model would break or degrade RouteHelp's pipeline, and code execution could damage the self-hosted vector store — but availability loss is partial and recoverable: everything runs in Meridian's own cloud account, components are interchangeable 'in days', the vector index is re-derivable from the source knowledge base, and only one narrow workload depends on the stack. There is no vendor able to withdraw the capability permanently (no commercial counterparty by design), so the realistic ceiling is degraded or temporary loss rather than total denial of the dependency. ATLAS supply-chain material in the corpus characterises these artefacts' primary effect as compromise and manipulation rather than sustained denial of service, which supports Low rather than High here.
    SC Downstream Blast-Radius Impact -- ConfidentialityHLagent · overrideOverride L → H. The scenario states that a compromised package, model file or tokenizer "would execute with access to the support knowledge base and 40 million customer shipment records". The subsequent systems here are therefore the knowledge base and the full customer shipment record store, not a metadata-limited view. Documented precedent shows that this is exactly how the exposure materialises: malicious models on a public hub executed reverse shells on load, granting the actor command-and-control on the victim host (ATLAS AML.CS0031), and ATLAS AML.T0010 / AML.T0115 treat poisoned models, tokenizers and registry packages as a realized initial-access vector whose payload runs with the host process's privileges. Once arbitrary code runs inside the RouteHelp process, the whole 40M-record corpus it is authorised to read is exposed — near-total loss on the downstream confidentiality axis. The questionnaire's "Partial" answer is a subprocessor-flavoured prior (it was answered as if a vendor were leaking metadata/fragments); with no vendor and in-process execution, the limiting factor is not indirectness but simply what the process can reach, which is everything. Hash-less pins plus unreviewed weekly pulls remove the control that would otherwise bound this (NIST IR 8596 GV.SC-01 provenance/AI-SBOM expectation cited by the dimension).
    SI Downstream Blast-Radius Impact -- IntegrityHHagentConfirm H. RouteHelp's outputs "flow straight to customer-service agents in twelve countries" with no review of model-card or package changes, so downstream actors act on altered outputs without any detection path — matching the questionnaire's "Full: downstream systems act on altered outputs without detection". A maliciously updated embedding model or tokenizer silently changes retrieval and answer content (ATLAS AML.T0115 Publish Poisoned AI Artifacts; AML.CS0028 shows tampered model artefacts pushed into pipelines compromising the integrity of models in production systems), and the weekly unreviewed pull means the integrity change propagates automatically to every consumer of the artefact. Near-total loss on the downstream integrity axis.
    SA Downstream Blast-Radius Impact -- AvailabilityLLagentConfirm L; explicitly not S. A corrupted or withdrawn component (e.g. a model file deliberately corrupted to evade scanners, ATLAS AML.T0076) breaks the RouteHelp assistant, and the questionnaire reports only "some downstream workloads degrade". RouteHelp is a customer-support knowledge assistant feeding human agents; those agents can continue working without it, Meridian can swap any component for an alternative in days, and the dependency serves one narrow workload — so downstream availability loss is partial and time-bounded, not total. Safety (S) is not warranted: the assistant does not control freight movement, vehicles or any physical process, and no path from its unavailability to physical harm is described in the scenario.
    E Precedent MaturityAAagentConfirmed. Meridian's exposure is exactly the three ATLAS vectors with 'Realized' maturity: (a) AI software from a public package registry — AML.T0010.001 'AI Software' is rated Realized (E:A) and explicitly names generative-AI integration frameworks (LangChain/LangFlow) and their dependency chains; the PyTorch-nightly/`torchtriton` dependency-confusion compromise (AML.CS0015, typed as an *Incident*) is a documented real-world case of exactly the version-pinned-but-unhashed pip pull Meridian runs weekly, and it exfiltrated SSH keys, env vars and home-directory files from affected machines; (b) a model downloaded from a public model hub — AML.T0115.001 'Models' is Realized (E:A), with ReversingLabs' discovery of malicious serialized models carrying a reverse shell actually hosted on Hugging Face (AML.CS0031), i.e. load-time code execution with no exploit required; (c) the 'rug pull' pattern (AML.T0109) realised in the `postmark-mcp` npm case (AML.CS0053), where a benign package was adopted and then a malicious version 1.0.16 was published and silently pulled by upgrading organisations — the precise failure mode of an unreviewed weekly update with no hash pin and no model-card review. These are documented compromises of public registries and hubs used by ordinary engineering organisations, not research-only demonstrations, and the victims (teams self-hosting open-source AI stacks) are directly comparable to Meridian's internal platform team. Only weaker, demonstration-grade variants of this family sit at E:P (e.g. container-registry tampering, AML.CS0028, typed as an Exercise), and they are not the vector in play here. The questionnaire prior of 'Attacked' is therefore sustained on the corpus, independently of its subprocessor-flavoured framing of the other answers.
    CR Confidentiality Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    IR Integrity Criticality (org context)HHquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    AR Availability Criticality (org context)MMquestionnaireOrganization-profile answer (ADR-0005 §5 rule 1); never agent-assigned.
    S Regulatory ConsequencePNagent · overrideOVERRIDE of prior N. The questionnaire's "No" reflects the absence of sector regulation and of any Art. 28 processor chain (correct — Meridian is its own controller, no commercial vendor). But the scenario states Meridian remains subject to general data-protection law, and a poisoned package/model/tokenizer would execute with access to the support knowledge base and 40 million customer shipment records, with outputs flowing to agents in twelve countries. ATLAS AML.T0112.001 and AML.T0010.001 establish that malicious AI artifacts routinely achieve code execution in the hosting environment (unsafe serialization, bundled scripts), i.e. the compromise of this dependency alone is sufficient to produce a personal-data breach that is reportable under GDPR Art. 33/34 — no second condition or other dependency is required. In addition, pinning by version without hashes and shipping weekly unreviewed upstream changes is a direct failure of the component-provenance/AI-SBOM expectation in NIST IR 8596 GV.SC-01 and of code-signing/artifact-validation mitigations (ATLAS AML.M0013, AML.M0008), which is itself argued as inadequate security of processing. A reviewer could defend N on the ground that breach notification is a consequence of impact rather than an independent sovereignty trigger; hence moderate confidence.
    AU Silent/Automatic TriggerYYagentCONFIRM. This is the defining property of the dimension: a poisoned artefact published to a public model hub or package registry is simultaneously available to every consumer that pulls it, with no per-customer decision by anyone. ATLAS AML.T0109 (AI Supply Chain Rug Pull, maturity Realized/E:A) describes exactly this — publish a legitimate component, gain adoption, then push a malicious update — and case study AML.CS0053 (postmark-mcp v1.0.16) shows every organization that upgraded received the malicious version automatically. AML.T0010.001/.004 further note that automated CI/CD pipelines pull the adversary's artefact. Meridian's pipeline pulls weekly with no model-card or package-diff review, so the event is triggered by ordinary operation across all consumers at once.
    R Portability / Exit RecoveryAAagentCONFIRM. There is no vendor to lock Meridian in: the embedding model is downloaded weights, the tokenizer and orchestration framework come from a public registry, and the vector database is self-hosted in Meridian's own cloud account. The scenario states any component can be swapped for an alternative in days, and the questionnaire reports exported weights, portable data and standard interfaces. Capability can therefore be reconstituted elsewhere without loss and without the original upstream — the EU AI Act's open-source framing also assumes publicly available weights/architecture/usage information remain available to any holder. The only argument for U is that a swap takes engineering days rather than being instantaneous; that is mitigation effort (captured in RE), not capability loss.
    V Blast-Radius ConcentrationDDagentCONFIRM. The open-source components sit beneath one application, RouteHelp, a customer-support knowledge assistant; they are not a shared control plane for many AI workloads, and the questionnaire confirms "one narrow workload" with only "some downstream workloads degrade" beyond it. The counter-argument for C is real but belongs to the impact metrics rather than here: the compromised component reaches 40M shipment records and agents in twelve countries, which is a resource-rich target (ATLAS AML.T0112.001 notes malicious artifacts in registries "may affect many systems that pull these resources"). Because the CASE rubric scopes V to the breadth of AI workloads in the critical path rather than to record counts, D is the faithful reading; confidence reduced to reflect the data-concentration tension.
    RE Exit / Mitigation EffortLLagentCONFIRM. Mitigation here requires no re-architecture, no re-contracting and no infrastructure replacement: pin by digest/hash instead of version, verify signatures, generate and review an AI SBOM of model/tokenizer/framework provenance per NIST IR 8596 GV.SC-01, and gate the weekly pull behind a model-card and package-diff review. These map to standard ATLAS mitigations (AML.M0013 Code Signing, AML.M0008 Validate AI Model, AML.M0017 AI Model Distribution Methods) and are configuration-and-process changes within the platform team's own pipeline. Exit is equally cheap — the scenario states any component can be swapped in days, and there is no contract to renegotiate.
    U Vendor Notice PostureRedXagent · overrideOVERRIDE of prior X ("Unknown"). The uncertainty is resolvable from the scenario: Meridian "has no contractual counterparty to give it notice", so there is structurally no entity owing advance disclosure of sovereignty-relevant changes to the model, tokenizer or framework. Upstream changes arrive in production via the weekly pull before anyone sees a model-card or package diff. ATLAS AML.T0109/AML.T0111 make the posture adversarial rather than merely silent: maintainers (or those who take over a package) build trust with benign releases and then ship the malicious variant precisely so the change is not disclosed or scrutinised before it takes effect. That is the Red definition — never discloses before the change takes effect. X would be defensible only if "vendor" is read as requiring a commercial counterparty; Red better represents the actual notice exposure.

What Meridian Logistics Group should do next

Written by the narrative agent from the findings and mitigations

  1. Meridian should immediately stop the automatic weekly promotion of new model, tokenizer and package versions into production and require a named person to approve each change, as an interim measure while the controls below are built.
  2. Meridian should pin every dependency — model files, tokenizer, orchestration framework and all transitive packages — by cryptographic fingerprint rather than version label alone, and configure the pipeline to refuse to load any artefact whose fingerprint does not match (AI artefact verification).
  3. Meridian should require and enforce signature checking for AI software, frameworks and model files, so that unsigned or post-signing-modified artefacts simply cannot execute in the RouteHelp environment (code signing).
  4. Meridian should compile an AI Bill of Materials for RouteHelp listing every component, its publisher, its origin and the provenance of the ingested knowledge base and shipment data, so that it can answer who is in the chain and respond quickly when a component is reported compromised.
  5. Meridian should isolate the RouteHelp components from the data they do not need, mediating access to the vector database and the shipment records through authenticated interfaces and running the model and orchestration code in a contained environment with restricted filesystem and network access, so that one tampered package cannot read 40 million records.
  6. Meridian should restrict and monitor write access to the vector store, model artefact store and configuration files, so that tampering with what RouteHelp retrieves leaves a trace and requires privilege that an outside publisher does not have.
  7. Meridian should log RouteHelp's inputs, outputs, retrieved sources and every artefact change with its fingerprint, and review those logs for unexplained shifts in behaviour, since there is no supplier who will ever notify the company of a change.
  8. Meridian should establish a documented model-card and package-change review step before production, and give customer-service agents in all twelve countries a defined route to flag and escalate answers that look wrong, together with guidance not to over-rely on RouteHelp output.
  9. Meridian should confirm with its data-protection function that the ingestion of 40 million customer shipment records into an AI retrieval pipeline is covered by a current data-protection impact assessment, and that breach-notification procedures explicitly cover exposure of this corpus.

Ranked mitigations

Retrieved from the mitigation library for the adverse metrics

10
RelevanceMitigationTargets
0.88AML.M0023 — AI Bill of Materials: Maintain an AI BOM containing a full listing of artifacts and resources used in building the AI, including dataset provenance (source plus a complete record of all modifications). An AI BOM helps identify untrustworthy components of the AI supply chain, untrustworthy binaries, model artifacts and software dependencies, and enables rapid response to reported vulnerabilities.An enforced AI/SBOM inventory across models, data and open-source pipeline components is the single most direct control for knowing what version and which third-party dependencies are in production, reducing integrity blast radius and concentration risk from silent substitution.VISIEVAUAC
0.86AML.M0013 — Code Signing: Enforce code signing of AI software, drivers, frameworks and model files; cryptographically sign SBOM and AIBOM components that track model or data provenance, and prevent execution of artifacts that are not properly signed. Signing guarantees that a model or package has not been manipulated after signing.Signature enforcement on models, frameworks and open-source packages means an unannounced or automatic version swap cannot take effect without detection, raising compulsion complexity and protecting dependency and downstream integrity.VISIAUACAT
0.84AML.M0014 — Verify AI Artifacts: Verify the cryptographic checksum of all AI artifacts to confirm the file was not modified. Introduce proper signature checking so that unsafe or altered AI models, data and artifacts are not introduced to or executed in the system.Checksum/signature verification at ingestion gives a technical gate that turns a silent vendor-side model or component change into an explicit, blocking event rather than an invisible one.VISIAUATAC
0.82AML.M0005 — Control Access to AI Models and Data at Rest: Establish access controls on internal model registries and limit internal access to production models and training data. Restrict write access to model registries and AI artifact stores; restrict access to stored system prompts, prompt templates, configuration files and model metadata. Access controls prevent tampering with AI artifacts, unauthorized modification and unauthorized copying.Directly addresses dimensions 1.3 and 6.4 by making the model registry and the stored configuration/policy artifacts organization-controlled and write-restricted, so version and policy state cannot change without an authorized identity.VISIVCPRAV
0.80AML.M0024 — AI Telemetry Logging: Log inputs and outputs of deployed AI models, and for agents log the intermediate steps of agentic actions and decisions, data access and tool use, installation commands, and the identity of the agent. Monitoring logs helps detect threats and mitigate impacts; logging also deters undetected use of AI resources.Independent, organization-side telemetry is the only retrieved control that creates visibility into otherwise silent/automatic vendor-side behaviour changes and supports the evidentiary record needed for regulatory accountability.AUUSSIVCSC
0.80AML.M0032 — Segmentation of AI Agent Components: Define enforceable security boundaries around AI agent tools, data sources, identities and execution environments. Mediate access through authenticated APIs, isolate code execution in containers or VMs, restrict filesystem and network access, limit tool invocation rates, and build execution environments from clean base images per run with no carried-forward state. Where agents share infrastructure, isolate each agent's identity, credentials, state, storage, messaging, tools and network access; run highest-risk workloads in network-isolated or air-gapped environments. Segmentation prevents an agentic workflow from collecting sensitive data from RAG databases or AI services, or from exfiltrating via tool invocation.Segmenting the orchestration framework, vector store and tool surfaces decomposes the single concentrated trust boundary driving SC:H and V, and narrows the local access path into the embedding store and RAG corpus.SCVCVAVPRSI
0.76AML.M0020 — Guardrails (retrieval, output and action): Apply retrieval guardrails that filter and validate retrieved documents before they enter model context, including checks for untrusted sources, malicious instructions, irrelevant context or sensitive data; validate retrieved documents and block nested false entries; apply groundedness/factuality checks against trusted source material; detect, redact or block personal data, credentials, tokens, proprietary data and system prompts in prompts, retrieved context, tool outputs and responses; enforce structured output validation before outputs are consumed downstream; require human approval for high-impact, irreversible, privileged or externally visible actions. Guardrail decisions should be logged and continuously red-teamed.Targets dimension 2.2 directly: retrieval validation plus sensitive-data redaction limits both the confidentiality exposure of ingested internal documents and the integrity contamination that propagates downstream.VISIVCSCAT
0.74AML.M0026 — Privileged AI Agent Permissions Configuration: When deploying a privileged agent or one interacting with multiple users, implement robust permission policies and controls — RBAC, ABAC and least privilege — so the agent is granted only the permissions needed for its designated tasks. Proper access controls limit an adversary's ability to harvest RAG credentials, collect data from RAG databases and AI services, abuse tool invocations, exfiltrate data, or destroy data via tool invocation.Least-privilege scoping of the orchestration layer's access to the vector database and ingested document corpus raises the position required for compromise and caps confidentiality impact on the primary dependency.PRVCSCAVSI
0.72AML.M0037 — AI Agent Authority Expansion Controls: Limit an agent's ability to autonomously acquire or assume additional authorities at runtime. Maximum authority must be granted explicitly before runtime; resources, identities, services and targets discovered during execution are treated as outside the authorized boundary unless independently validated. Controls must be implemented outside the agent (policy engines, target allowlists, protocol/destination restrictions, approval gates, barring unapproved credentials, auditing effective authority over time) and must not rely on system prompts or model alignment. Include restrictions on number, scope, duration and concurrent use of auth tokens, and propagate parent constraints to sub-agents.An external policy engine with pre-granted authority bounds is the retrieved control closest to organization-owned configuration and policy management for dimensions 4.2 and 6.4, preventing automatic, unapproved expansion of scope.AUPRVSCSIAT
0.70AML.M0029 — Human In-the-Loop for AI Agent Actions: Require a user or other human stakeholder to approve agent actions before they are taken, with approval depth proportional to the consequence of the task; dedicated audit agents may assist but final adjudication must be human. Requiring confirmation of tool invocations prevents automatic execution, including exfiltration or data destruction via tool invocation.Consequence-graded human approval gates break the silent/automatic trigger path through the orchestration framework, forcing deliberate organizational action before high-impact changes take effect.AUUISIVIAT

Method

A plain-language walkthrough for GRC and compliance auditors, no technical background required

The seven questions above don't change from vendor to vendor, only the answers do. Any time your organization is told (or, more often, not told) that a piece of already-approved software just grew an AI feature, work through the same seven categories, in the same order, and rate what you find on the same three-colour scale. The scenario in this document exists to show you what that looks like done once, start to finish, the method itself travels.

Rating scale
LOW: Normal and contained. If something went wrong here, you'd find out quickly and fix it without much trouble. MEDIUM: Could cause a real problem, and you might not find out right away, worth tracking, not yet an emergency. HIGH: Could cause serious damage, a data leak, a regulatory violation, or losing the ability to operate, and by the time you noticed, it might already be too late to undo.
Questionnaire priors
AC:L AR:M AT:P AU:Y AV:A CR:M E:A IR:H PR:N R:A RE:L S:N SA:L SC:L SI:H U:X UI:P V:D VA:L VC:L VI:H
Job
0d65200c-2dd5-4e98-9cf2-015acb62f617