Skip to main content
Developer Portal

Detection Catalog

Every detection HAIEC ships.

Each rule is deterministic — no LLM in the detection path. Every rule lists the evidence it needs and the claims it never makes. Register-only rules are cataloged but not executed yet — they're labeled, not hidden.

The catalog, unfiltered

166

detection rules

147

executable today

19

register-only

30

families

Risk Registry view separating static-analysis findings from runtime telemetry findings, with honest empty states
The Risk Registry keeps source-established findings separate from runtime-correlated findings — and shows honest empty states instead of silent passes — Product screenshot, synthetic demo environment.

166 of 166 rules

  • K8S-001Container settingsExecutableLOG

    A pod is running as the root user

    Evidence: Kubernetes pod spec

    Container settings decide what code can reach host resources.

    Never claims: PRIVILEGED_POD != ATTACK

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-002Container settingsExecutableLOG

    A container has a privileged security context

    Evidence: Kubernetes pod spec

    Container settings decide what code can reach host resources.

    Never claims: PRIVILEGED_POD != ATTACK

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-003Container settingsExecutableLOG

    A service account holds cluster-admin role

    Evidence: RBAC bindings

    Container settings decide what code can reach host resources.

    Never claims: MISSING_NETWORK_POLICY != BREACH

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-004Container settingsExecutableLOG

    No network policy covers a sensitive workload

    Evidence: Kubernetes manifests

    Container settings decide what code can reach host resources.

    Never claims: MISSING_NETWORK_POLICY != BREACH

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-005Container settingsExecutableLOG

    A secret is mounted without encryption

    Evidence: Kubernetes pod spec

    Container settings decide what code can reach host resources.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-006Container settingsExecutableLOG

    Pod exec/attach came from an unexpected principal

    Evidence: Kubernetes audit log

    Container settings decide what code can reach host resources.

    Never claims: AUTH_FAILURE != ATTACK

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • K8S-007Container settingsExecutableLOG

    Pod uses host network, PID, or IPC access

    Evidence: Kubernetes pod spec

    Container settings decide what code can reach host resources.

    Never claims: PRIVILEGED_POD != ATTACK

    Remediation: PB-CONTAINER-ROOT — see playbooks

  • API-001Sign-in and tokensExecutableLOG

    Repeated 401/403 responses from the same principal

    Evidence: API access logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: AUTH_FAILURE != ATTACK

  • API-002Sign-in and tokensExecutableLOG

    Many different accounts tried from the same IP address

    Evidence: API access logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: AUTH_FAILURE != ATTACK

  • API-003Sign-in and tokensExecutableLOG

    An API key was used from an unusual location

    Evidence: API access logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: GEO_UNUSUAL != MALICIOUS

  • API-004Sign-in and tokensExecutableLOG

    Rate limit exceeded repeatedly

    Evidence: Gateway logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: AUTH_FAILURE != ATTACK

  • API-005Sign-in and tokensExecutableLOG

    A deprecated authentication method is still in use

    Evidence: API access logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: DEFAULT_CHANGE != ATTACK

  • API-006Sign-in and tokensExecutableLOG

    The same token was used across tenant boundaries

    Evidence: API access logs

    Unusual sign-in or token use can expose customer data or block service.

    Never claims: CROSS_TENANT != ATTACK

  • DNS-001Network name lookupsExecutableLOG

    Subdomain queries carry unusually high entropy

    Evidence: DNS logs

    Odd name lookups can hide data leaving the network or attacker infrastructure.

    Never claims: HIGH_ENTROPY != TUNNELING

  • DNS-002Network name lookupsExecutableLOG

    A CNAME points to an untrusted registrar

    Evidence: DNS zone data

    Odd name lookups can hide data leaving the network or attacker infrastructure.

    Never claims: HIGH_ENTROPY != TUNNELING

  • DNS-003Network name lookupsExecutableLOG

    A zone transfer was attempted

    Evidence: DNS logs

    Odd name lookups can hide data leaving the network or attacker infrastructure.

    Never claims: NXDOMAIN != ATTACK

  • DNS-004Network name lookupsExecutableLOG

    A flood of NXDOMAIN responses from one source

    Evidence: DNS logs

    Odd name lookups can hide data leaving the network or attacker infrastructure.

    Never claims: NXDOMAIN != ATTACK

  • DNS-005Network name lookupsExecutableLOG

    A stable name resolved with an unusually short TTL

    Evidence: DNS logs

    Odd name lookups can hide data leaving the network or attacker infrastructure.

    Never claims: HIGH_ENTROPY != TUNNELING

  • CERT-001CertificatesRegister-onlyTELEMETRY

    An expired certificate is still active on an endpoint

    Evidence: TLS inspection

    Weak or expired certificates let outsiders intercept or fake trusted connections.

    Never claims: EXPIRED_CERT != COMPROMISED

    Remediation: PB-CERT-EXPIRED — see playbooks

  • CERT-002CertificatesRegister-onlyTELEMETRY

    A certificate issuer changed without a recorded change

    Evidence: TLS inspection

    Weak or expired certificates let outsiders intercept or fake trusted connections.

    Never claims: EXPIRED_CERT != COMPROMISED

    Remediation: PB-CERT-EXPIRED — see playbooks

  • CERT-003CertificatesRegister-onlyTELEMETRY

    A public endpoint presents a self-signed certificate

    Evidence: TLS inspection

    Weak or expired certificates let outsiders intercept or fake trusted connections.

    Never claims: SELF_SIGNED != MALICIOUS

    Remediation: PB-CERT-EXPIRED — see playbooks

  • CERT-004CertificatesRegister-onlyTELEMETRY

    A revoked certificate is still being presented

    Evidence: TLS inspection + CRL/OCSP

    Weak or expired certificates let outsiders intercept or fake trusted connections.

    Never claims: EXPIRED_CERT != COMPROMISED

    Remediation: PB-CERT-EXPIRED — see playbooks

  • CERT-005CertificatesRegister-onlyTELEMETRY

    A certificate uses a weak signature algorithm

    Evidence: TLS inspection

    Weak or expired certificates let outsiders intercept or fake trusted connections.

    Never claims: SELF_SIGNED != MALICIOUS

    Remediation: PB-CERT-EXPIRED — see playbooks

  • TIME-001Clock driftRegister-onlyTELEMETRY

    The time source changed without a matching config update

    Evidence: NTP configuration

    Wrong clocks break audit trails and can hide when events really happened.

    Never claims: CLOCK_DRIFT != ATTACK

    Remediation: PB-CLOCK-DRIFT — see playbooks

  • TIME-002Clock driftRegister-onlyTELEMETRY

    Clocks on different sources disagree beyond the threshold

    Evidence: Time sync telemetry

    Wrong clocks break audit trails and can hide when events really happened.

    Never claims: CLOCK_DRIFT != ATTACK

    Remediation: PB-CLOCK-DRIFT — see playbooks

  • TIME-003Clock driftRegister-onlyTELEMETRY

    An event carries a timestamp in the future

    Evidence: Event timestamps

    Wrong clocks break audit trails and can hide when events really happened.

    Never claims: TIME_REGRESSION != SPOOFING

    Remediation: PB-CLOCK-DRIFT — see playbooks

  • TIME-004Clock driftRegister-onlyTELEMETRY

    Events arrived out of order by timestamp

    Evidence: Event timestamps

    Wrong clocks break audit trails and can hide when events really happened.

    Never claims: TIME_REGRESSION != SPOOFING

    Remediation: PB-CLOCK-DRIFT — see playbooks

  • TIME-005Clock driftRegister-onlyTELEMETRY

    Multiple time sources disagree

    Evidence: Time sync telemetry

    Wrong clocks break audit trails and can hide when events really happened.

    Never claims: CLOCK_DRIFT != ATTACK

    Remediation: PB-CLOCK-DRIFT — see playbooks

  • MSG-001Message trafficExecutableLOG

    A producer published to a topic it never declared

    Evidence: Message bus logs

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: UNDECLARED_TOPIC != COMPROMISE

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • MSG-002Message trafficExecutableLOG

    A consumer subscribed to an unexpected topic

    Evidence: Message bus logs

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: UNDECLARED_TOPIC != COMPROMISE

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • MSG-003Message trafficExecutableLOG

    A message is far larger than the baseline pattern

    Evidence: Message bus metrics

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: SCHEMA_MISMATCH != ATTACK

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • MSG-004Message trafficExecutableLOG

    Message rate spiked above baseline

    Evidence: Message bus metrics

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: UNDECLARED_TOPIC != COMPROMISE

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • MSG-005Message trafficExecutableLOG

    A message does not match the declared schema

    Evidence: Schema registry

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: SCHEMA_MISMATCH != ATTACK

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • MSG-006Message trafficExecutableLOG

    The dead-letter queue is growing past the threshold

    Evidence: Queue metrics

    Unexpected message traffic can move data or commands where they do not belong.

    Never claims: SCHEMA_MISMATCH != ATTACK

    Remediation: PB-BUS-UNDECLARED — see playbooks

  • SEC-001Exposed credentialsExecutableSTATIC

    A secret value appears in source code

    Evidence: Static source scan

    Exposed credentials give whoever finds them the same access as the real key.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-CRED-LEAK — see playbooks

  • SEC-002Exposed credentialsExecutableSTATIC

    An environment file was committed to the repo

    Evidence: Repo file inventory

    Exposed credentials give whoever finds them the same access as the real key.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-CRED-LEAK — see playbooks

  • SEC-003Exposed credentialsExecutableSTATIC

    A secret-bearing environment variable appeared in logs

    Evidence: Log inspection

    Exposed credentials give whoever finds them the same access as the real key.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-CRED-LEAK — see playbooks

  • SEC-004Exposed credentialsExecutableSTATIC

    A secret is older than the rotation policy allows

    Evidence: Secret metadata

    Exposed credentials give whoever finds them the same access as the real key.

    Never claims: ROTATION_LATE != BREACH

    Remediation: PB-CRED-LEAK — see playbooks

  • SEC-005Exposed credentialsExecutableSTATIC

    A secret was read by a principal that never declared it

    Evidence: Secret access logs

    Exposed credentials give whoever finds them the same access as the real key.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-CRED-LEAK — see playbooks

  • DRIFT-001Config changesExecutableCONFIG

    A config file changed without a change request

    Evidence: Config history

    Unrecorded config changes can quietly weaken a control everyone relies on.

    Never claims: DRIFT != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • DRIFT-002Config changesExecutableCONFIG

    A declared value no longer matches the observed value

    Evidence: Config vs runtime read

    Unrecorded config changes can quietly weaken a control everyone relies on.

    Never claims: DRIFT != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • DRIFT-003Config changesExecutableCONFIG

    A default value changed from the approved baseline

    Evidence: Config history

    Unrecorded config changes can quietly weaken a control everyone relies on.

    Never claims: DEFAULT_CHANGE != ATTACK

    Remediation: PB-POLICY — see playbooks

  • DRIFT-004Config changesExecutableCONFIG

    A feature flag was toggled without an approval record

    Evidence: Flag audit log

    Unrecorded config changes can quietly weaken a control everyone relies on.

    Never claims: DRIFT != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • DATA-001Data accessExecutableLOG

    A large volume of sensitive records was read at once

    Evidence: Data access logs

    Bulk or cross-tenant reads can become a reportable data exposure.

    Never claims: BULK_READ != EXFILTRATION

    Remediation: PB-DATA-BULK — see playbooks

  • DATA-002Data accessExecutableLOG

    A query scanned a full table instead of using an index

    Evidence: Query telemetry

    Bulk or cross-tenant reads can become a reportable data exposure.

    Never claims: BULK_READ != EXFILTRATION

    Remediation: PB-DATA-BULK — see playbooks

  • DATA-003Data accessExecutableLOG

    Data was read by a principal that never declared it

    Evidence: Data access logs

    Bulk or cross-tenant reads can become a reportable data exposure.

    Never claims: AUTH_FAILURE != ATTACK

    Remediation: PB-DATA-BULK — see playbooks

  • DATA-004Data accessExecutableLOG

    Data belonging to another tenant was accessed

    Evidence: Data access logs

    Bulk or cross-tenant reads can become a reportable data exposure.

    Never claims: CROSS_TENANT != ATTACK

    Remediation: PB-DATA-BULK — see playbooks

  • DATA-005Data accessExecutableLOG

    An export moved an unusual volume of data

    Evidence: Export logs

    Bulk or cross-tenant reads can become a reportable data exposure.

    Never claims: BULK_READ != EXFILTRATION

    Remediation: PB-DATA-BULK — see playbooks

  • AI-001Agent actionsRegister-onlyTRACE

    An agent invoked a model outside its declared set

    Evidence: Agent runtime telemetry

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF

  • AI-002Agent actionsExecutableTRACE

    An agent used a tool it never declared

    Evidence: Tool-call telemetry

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: TOOL_REGISTERED != TOOL_EXECUTED

  • AI-003Agent actionsExecutableTRACE

    An agent wrote to memory outside its declared scope

    Evidence: Memory access logs

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: CROSS_SESSION_READ != MEMORY_CONTAMINATION

  • AI-004Agent actionsExecutableTRACE

    An agent delegated to another agent with no recorded…

    Evidence: Delegation records

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: HANDOFF != DELEGATION

  • AI-005Agent actionsExecutableTRACE

    An agent handed work to an agent with no registered identity

    Evidence: Handoff logs

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF · MESH_TRAFFIC != LATERAL_MOVEMENT

  • AI-006Agent actionsRegister-onlyTRACE

    A prompt template changed without a change record

    Evidence: Prompt/config history

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: PROMPT_HASH_CHANGE != PROMPT_DRIFT_MALICIOUS · POLICY_CHANGED != POLICY_MANIPULATED

  • AI-007Agent actionsExecutableTRACE

    An agent contacted a tool server not in the registry

    Evidence: Tool-call telemetry

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: UNREGISTERED_SOURCE != ATTACK

  • AI-008Agent actionsExecutableTRACE

    Context was pulled from a knowledge source that was never…

    Evidence: Retrieval logs

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: OOD_DETECTED != ADVERSARIAL_ATTACK

  • AI-009Agent actionsRegister-onlyTRACE

    An agent exceeded its declared step or action budget

    Evidence: Agent runtime telemetry

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: HIGH_QUERY_RATE != MODEL_EXTRACTION · CALL_FLOW_DEVIATION != ATTACK

  • AI-010Agent actionsRegister-onlyTRACE

    An agent acted for a user with no matching session record

    Evidence: Session/delegation records

    Agent behavior outside its declared envelope can act with credentials it should not have.

    Never claims: AUTH_FAILURE != ATTACK

  • SC-001Supply chainExecutableSC

    A dependency version changed without a change record

    Evidence: Lockfile/SBOM diff

    A changed dependency or artifact can ship code nobody approved.

    Never claims: DRIFT != COMPROMISE

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-002Supply chainExecutableSC

    A package in the bill of materials carries a known…

    Evidence: SBOM vs vulnerability feed

    A changed dependency or artifact can ship code nobody approved.

    Never claims: VULNERABLE_PACKAGE != EXPLOITED

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-003Supply chainExecutableSC

    A dependency appeared that is not in the declared bill of…

    Evidence: SBOM vs lockfile

    A changed dependency or artifact can ship code nobody approved.

    Never claims: VULNERABLE_PACKAGE != EXPLOITED · DRIFT != COMPROMISE

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-004Supply chainExecutableSC

    A built artifact does not match the recorded bill of…

    Evidence: Build provenance

    A changed dependency or artifact can ship code nobody approved.

    Never claims: PIPELINE_MODIFIED != COMPROMISE

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-005Supply chainExecutableSC

    A dependency was pulled from an unapproved registry

    Evidence: Package install logs

    A changed dependency or artifact can ship code nobody approved.

    Never claims: UNREGISTERED_SOURCE != ATTACK

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-006Supply chainExecutableSC

    An exploitability statement downgraded a vulnerability with…

    Evidence: VEX/CSAF records

    A changed dependency or artifact can ship code nobody approved.

    Never claims: VULNERABLE_PACKAGE != EXPLOITED

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-007Supply chainExecutableSC

    A package publisher or maintainer changed

    Evidence: Registry metadata

    A changed dependency or artifact can ship code nobody approved.

    Never claims: MISSING_SIGNATURE != MALICIOUS_ARTIFACT

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • SC-008Supply chainExecutableSC

    A transitive dependency gained new network permissions

    Evidence: Dependency manifest diff

    A changed dependency or artifact can ship code nobody approved.

    Never claims: VULNERABLE_PACKAGE != EXPLOITED

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • CICD-001Build pipelineRegister-onlyCONFIG

    A pipeline definition changed without a change request

    Evidence: Pipeline config history

    Pipeline changes decide what code actually reaches production.

    Never claims: PIPELINE_MODIFIED != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • CICD-002Build pipelineRegister-onlyCONFIG

    A pipeline ran from an unexpected trigger or branch

    Evidence: Pipeline run logs

    Pipeline changes decide what code actually reaches production.

    Never claims: PIPELINE_MODIFIED != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • CICD-003Build pipelineRegister-onlyCONFIG

    A pipeline accessed a secret it never declared

    Evidence: Pipeline audit logs

    Pipeline changes decide what code actually reaches production.

    Never claims: HARDCODED_SECRET != EXPLOITED

    Remediation: PB-POLICY — see playbooks

  • CICD-004Build pipelineRegister-onlyCONFIG

    A pipeline deployed to an environment outside its declared…

    Evidence: Deploy records

    Pipeline changes decide what code actually reaches production.

    Never claims: PIPELINE_MODIFIED != COMPROMISE

    Remediation: PB-POLICY — see playbooks

  • CICD-005Build pipelineRegister-onlyCONFIG

    A pipeline step ran with broader permissions than declared

    Evidence: Pipeline config vs run

    Pipeline changes decide what code actually reaches production.

    Never claims: PRIVILEGED_POD != ATTACK

    Remediation: PB-POLICY — see playbooks

  • PROMPT-001Prompt inputExecutableTRACE

    Prompt text asks the model to reveal its system instructions

    Evidence: Agent prompt events (gen_ai.* attributes)

    Prompt input can steer the agent outside the task it was given.

    Never claims: USER_QUERY != PROMPT_INJECTION · PROMPT != COMMAND

  • PROMPT-002Prompt inputExecutableTRACE

    Prompt text matches a known jailbreak pattern

    Evidence: Agent prompt events

    Prompt input can steer the agent outside the task it was given.

    Never claims: USER_QUERY != PROMPT_INJECTION · INSTRUCTION_LIKE != ATTACK

  • PROMPT-003Prompt inputExecutableTRACE

    A later conversation turn uses "established fact" phrasing…

    Evidence: Agent prompt events with turn position

    Prompt input can steer the agent outside the task it was given.

    Never claims: USER_QUERY != PROMPT_INJECTION · MULTI_TURN != MANIPULATION

  • PROMPT-004Prompt inputExecutableTRACE

    Prompt text tries to override prior instructions

    Evidence: Agent prompt events

    Prompt input can steer the agent outside the task it was given.

    Never claims: INSTRUCTION_LIKE != ATTACK · USER_QUERY != PROMPT_INJECTION

  • PROMPT-005Prompt inputExecutableTRACE

    Input context exceeds the declared context limit

    Evidence: Agent prompt events with context size

    Prompt input can steer the agent outside the task it was given.

    Never claims: CONTEXT_OVERFLOW != ATTACK

  • RAG-001Retrieved contentExecutableTRACE

    A retrieved chunk came from a source outside the declared…

    Evidence: Retrieval events + declared knowledge-source registry

    Retrieved content can carry instructions the user never approved.

    Never claims: RETRIEVED != TRUSTED · UNTRUSTED_SOURCE != POISONED

  • RAG-002Retrieved contentExecutableTRACE

    A retrieved chunk contains instruction-like text

    Evidence: Retrieval chunk text

    Retrieved content can carry instructions the user never approved.

    Never claims: RETRIEVED != TRUSTED · INSTRUCTION_LIKE != ATTACK

  • RAG-003Retrieved contentExecutableTRACE

    Retrieved-set embedding signature differs from the declared…

    Evidence: Retrieval events + declared embedding signature

    Retrieved content can carry instructions the user never approved.

    Never claims: EMBEDDING_DRIFT != POISONED

  • RAG-004Retrieved contentExecutableTRACE

    A chunk from one session surfaced in a different session

    Evidence: Retrieval events with session ids

    Retrieved content can carry instructions the user never approved.

    Never claims: CROSS_SESSION != CONTAMINATION

  • MEM-001Agent memoryExecutableTRACE

    A memory write arrived through an undeclared channel

    Evidence: Memory operations + declared channel list

    Shared memory can leak data between sessions or agents.

    Never claims: MEMORY_ACCESS != CONTAMINATION · UNDECLARED_CHANNEL != POISONED

  • MEM-002Agent memoryExecutableTRACE

    A memory access touched a scope outside the declared scopes

    Evidence: Memory operations + declared scope list

    Shared memory can leak data between sessions or agents.

    Never claims: MEMORY_ACCESS != CONTAMINATION · OUTSIDE_SCOPE != EXFILTRATION

  • MULTI-001Agent handoffsExecutableTRACE

    Two agents handed control back and forth in a loop

    Evidence: Agent handoff records per session

    Agents passing work can silently widen what the system is allowed to do.

    Never claims: AGENT_SEQUENCE != COORDINATION_ANOMALY · LOOP_DETECTED != INFINITE_LOOP

  • MULTI-002Agent handoffsExecutableTRACE

    An agent handoff happened without a declared handoff

    Evidence: Agent handoff records + declared handoff flags

    Agents passing work can silently widen what the system is allowed to do.

    Never claims: AGENT_SEQUENCE != COORDINATION_ANOMALY

  • MULTI-003Agent handoffsExecutableTRACE

    A handoff target has no registered agent identity

    Evidence: Agent handoff records + registration flags

    Agents passing work can silently widen what the system is allowed to do.

    Never claims: UNREGISTERED != MALICIOUS

  • MULTI-004Agent handoffsExecutableTRACE

    Different agents acted on the same target in one session

    Evidence: Agent handoff records per session and surface

    Agents passing work can silently widen what the system is allowed to do.

    Never claims: SHARED_TARGET != CONFLICT

  • MCP-001Tool callsExecutableTRACE

    A tool was invoked that is not in the declared tool registry

    Evidence: Agent tool calls + declared tool registry

    Tool calls decide which external systems the agent can actually touch.

    Never claims: UNDECLARED_TOOL != MALICIOUS · TOOL_INVOKED != AUTHORIZED

  • MCP-002Tool callsExecutableTRACE

    A call reached an MCP server outside the declared server…

    Evidence: Agent tool calls + declared server registry

    Tool calls decide which external systems the agent can actually touch.

    Never claims: UNDECLARED_TOOL != MALICIOUS

  • MCP-003Tool callsExecutableTRACE

    A tool presented a schema version different from its…

    Evidence: Agent tool calls + registered tool schemas

    Tool calls decide which external systems the agent can actually touch.

    Never claims: SCHEMA_CHANGE != ATTACK

  • MCP-004Tool callsExecutableTRACE

    A tool call came from an unregistered agent

    Evidence: Agent tool calls + declared agent registry

    Tool calls decide which external systems the agent can actually touch.

    Never claims: UNREGISTERED != MALICIOUS

  • EXFIL-001Data leavingExecutableTRACE

    Model output matched a sensitive-content pattern…

    Evidence: Agent output events

    Output carrying secrets or personal data can leave the controlled boundary.

    Never claims: OUTPUT_CONTAINS_PII_PATTERN != LEAK · PATTERN_MATCH != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • EXFIL-002Data leavingExecutableTRACE

    Model output contained text matching the system-prompt…

    Evidence: Agent output events + system-prompt signature

    Output carrying secrets or personal data can leave the controlled boundary.

    Never claims: OUTPUT_CONTAINS_PII_PATTERN != LEAK

    Remediation: PB-EGRESS — see playbooks

  • EXFIL-003Data leavingExecutableTRACE

    A tool-call payload matched a sensitive-content pattern

    Evidence: Agent tool-call payloads

    Output carrying secrets or personal data can leave the controlled boundary.

    Never claims: PATTERN_MATCH != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • EXFIL-004Data leavingExecutableTRACE

    A model-chain call reached a destination outside the egress…

    Evidence: Agent tool calls + egress allowlist

    Output carrying secrets or personal data can leave the controlled boundary.

    Never claims: EGRESS_OUTSIDE_ALLOWLIST != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • COST-001Usage spikesExecutableTELEMETRY

    Token usage spiked above its declared baseline

    Evidence: Agent usage metrics + baselines

    Runaway usage burns budget and can signal a loop or extraction attempt.

    Never claims: TOKEN_SPIKE != ATTACK

  • COST-002Usage spikesExecutableTELEMETRY

    Retry volume crossed the retry-storm threshold

    Evidence: Agent usage metrics

    Runaway usage burns budget and can signal a loop or extraction attempt.

    Never claims: RETRY_COUNT_HIGH != CASCADING_FAILURE

  • COST-003Usage spikesExecutableTELEMETRY

    Token usage spiked inside a session containing an agent…

    Evidence: Agent usage metrics + handoff records

    Runaway usage burns budget and can signal a loop or extraction attempt.

    Never claims: TOKEN_SPIKE != ATTACK · LOOP_DETECTED != INFINITE_LOOP

  • COST-004Usage spikesExecutableTELEMETRY

    A model call originated from an undeclared surface

    Evidence: Agent usage metrics + declared model-call surfaces

    Runaway usage burns budget and can signal a loop or extraction attempt.

    Never claims: UNDECLARED_SURFACE != COMPROMISE

  • AGENT-AUTH-001Agent authorityExecutableTRACE

    An observed actor is not in the declared delegation chain

    Evidence: Delegation records vs declared chains

    Authority checks decide whether an agent acts beyond its grant.

    Never claims: ACTOR_MISMATCH != CONFUSED_DEPUTY

  • AGENT-AUTH-002Agent authorityExecutableTRACE

    An observed scope exceeds the declared delegation scopes

    Evidence: Delegation records vs declared scopes

    Authority checks decide whether an agent acts beyond its grant.

    Never claims: SCOPE_MISMATCH != PRIVILEGE_ESCALATION

  • AGENT-AUTH-003Agent authorityExecutableTRACE

    A tool-call actor appears in no declared delegation chain

    Evidence: Tool calls vs declared delegation chains

    Authority checks decide whether an agent acts beyond its grant.

    Never claims: ACTOR_MISMATCH != CONFUSED_DEPUTY

  • RAPP-A1-001Network policyExecutableA1

    A policy diff exceeded the approved baseline threshold

    Evidence: A1 policy events + approved baseline

    Policy changes control how the network behaves for every user on it.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED

    Remediation: PB-POLICY — see playbooks

  • RAPP-A1-002Network policyExecutableA1

    A policy came from an application that is not in the…

    Evidence: A1 policy events + registered applications

    Policy changes control how the network behaves for every user on it.

    Never claims: UNREGISTERED_SOURCE != ATTACK

    Remediation: PB-POLICY — see playbooks

  • RAPP-A1-003Network policyExecutableA1

    Policy distribution divergence crossed the declared…

    Evidence: A1 policy distributions + threshold

    Policy changes control how the network behaves for every user on it.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED

    Remediation: PB-POLICY — see playbooks

  • RAPP-A1-004Network policyExecutableA1

    A policy changed without a matching change request

    Evidence: A1 policy events + change requests

    Policy changes control how the network behaves for every user on it.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED

    Remediation: PB-POLICY — see playbooks

  • RAPP-A1-005Network policyExecutableA1

    A policy targets a scope outside the issuing application…

    Evidence: A1 policy events + declared scopes

    Policy changes control how the network behaves for every user on it.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED · OUTSIDE_SCOPE != EXFILTRATION

    Remediation: PB-POLICY — see playbooks

  • SBI-001Service callsExecutableSBI

    A consumer NF called a service outside its registered…

    Evidence: SBI call events + NF profiles

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-002Service callsExecutableSBI

    A call flow deviated from the recorded baseline pattern

    Evidence: SBI call events + baseline flows

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: CALL_FLOW_DEVIATION != ATTACK

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-003Service callsExecutableSBI

    A service-interface message failed schema validation

    Evidence: SBI message validation

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: SCHEMA_MISMATCH != ATTACK

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-004Service callsExecutableSBI

    A consumer function called without ever registering with…

    Evidence: SBI call events + registration registry

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-005Service callsExecutableSBI

    A call router sent traffic to a producer outside the…

    Evidence: SBI routing events + expected producers

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: CALL_FLOW_DEVIATION != ATTACK

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-006Service callsExecutableSBI

    Service discovery request rate crossed the declared…

    Evidence: Discovery request metrics + threshold

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: HIGH_QUERY_RATE != MODEL_EXTRACTION

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-007Service callsExecutableSBI

    A deregistered function was still active on the interface

    Evidence: SBI call events + registration registry

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SBI-008Service callsExecutableSBI

    A service-interface call crossed slice boundaries

    Evidence: SBI call events + slice ids

    Unexpected service calls can reach functions or data outside the intended boundary.

    Never claims: CROSS_SLICE_TRAFFIC != ISOLATION_BREACH

    Remediation: PB-SERVICE-DISCOVERY — see playbooks

  • SLICE-001Network slicesExecutableSLICE

    Traffic from one slice appeared on another slice

    Evidence: Slice traffic events

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: CROSS_SLICE_TRAFFIC != ISOLATION_BREACH

    Remediation: PB-SLICE-CROSS — see playbooks

  • SLICE-002Network slicesExecutableSLICE

    A UE attached to a cell outside the slice RAN subnet

    Evidence: Slice attachment events + RAN subnets

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: CROSS_SLICE_TRAFFIC != ISOLATION_BREACH

    Remediation: PB-SLICE-CROSS — see playbooks

  • SLICE-003Network slicesExecutableSLICE

    Slice resource usage exceeded its allocated quota

    Evidence: Slice usage metrics + quota

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: SLA_BREACH != ISOLATION_FAILURE

    Remediation: PB-SLICE-CROSS — see playbooks

  • SLICE-004Network slicesExecutableSLICE

    A slice SLA metric breached its declared threshold

    Evidence: Slice SLA metrics

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: SLA_BREACH != ISOLATION_FAILURE

    Remediation: PB-SLICE-CROSS — see playbooks

  • SLICE-005Network slicesExecutableSLICE

    A data access crossed tenant boundaries inside a slice

    Evidence: Slice data-access events

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: CROSS_TENANT != ATTACK · CROSS_SLICE_TRAFFIC != ISOLATION_BREACH

    Remediation: PB-SLICE-CROSS — see playbooks

  • SLICE-006Network slicesExecutableSLICE

    A slice isolation policy was disabled or modified

    Evidence: Slice policy records

    Slice boundaries keep tenants and traffic separated; crossing them is a containment gap.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED

    Remediation: PB-SLICE-CROSS — see playbooks

  • AML-001Model behaviorExecutableML

    A served model version differs from the approved baseline

    Evidence: ML inference records + approved version

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-002Model behaviorExecutableML

    A served model hash differs from the approved hash

    Evidence: ML inference records + approved hash

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-003Model behaviorExecutableML

    Input feature distribution drift crossed the declared…

    Evidence: ML inference records + drift baseline

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-004Model behaviorExecutableML

    Prediction variance exceeded baseline plus three standard…

    Evidence: ML inference records + variance baseline

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-005Model behaviorExecutableML

    Out-of-distribution score crossed the threshold

    Evidence: ML inference records + OOD scores

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: OOD_DETECTED != ADVERSARIAL_ATTACK

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-006Model behaviorExecutableML

    Model query rate crossed the declared threshold

    Evidence: ML query metrics + threshold

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: HIGH_QUERY_RATE != MODEL_EXTRACTION

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-007Model behaviorExecutableML

    The training data source changed without an approval record

    Evidence: Training provenance records

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: POLICY_CHANGED != POLICY_MANIPULATED · MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-008Model behaviorExecutableML

    Output distribution divergence crossed the declared…

    Evidence: ML inference records + output baseline

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-009Model behaviorExecutableML

    The same input produced different outputs across repeated…

    Evidence: ML inference records with fingerprints

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: MODEL_DRIFT != MODEL_POISONED

    Remediation: PB-MODEL-DRIFT — see playbooks

  • AML-010Model behaviorExecutableML

    A model was accessed by a consumer outside the registered…

    Evidence: ML inference records + consumer registry

    Model drift or tampering changes what the system decides without anyone noticing.

    Never claims: UNREGISTERED_SERVICE != ROGUE_NF

    Remediation: PB-MODEL-DRIFT — see playbooks

  • DEL-001Delegated actionsExecutableDELEGATION

    A delegation chain expanded its observed scope

    Evidence: Delegation chain events + declared scopes

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: DELEGATION != AUTHORITY_PLANE · CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • DEL-002Delegated actionsExecutableDELEGATION

    A delegation chain head was not authenticated

    Evidence: Delegation chain events

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • DEL-003Delegated actionsExecutableDELEGATION

    Delegation chain continuity was broken

    Evidence: Delegation chain events

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: DELEGATION != AUTHORITY_PLANE

    Remediation: PB-DELEGATION — see playbooks

  • DEL-004Delegated actionsExecutableDELEGATION

    A sub-agent response carried a hidden command pattern

    Evidence: Delegation chain events + response text

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: INSTRUCTION_LIKE != ATTACK

    Remediation: PB-DELEGATION — see playbooks

  • DEL-005Delegated actionsExecutableDELEGATION

    A cross-agent privilege change was observed

    Evidence: Delegation chain events

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • DEL-006Delegated actionsExecutableDELEGATION

    An RFC 8693 act-claim splice was detected in a chain

    Evidence: Delegation chain events + token claims

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • DEL-007Delegated actionsExecutableDELEGATION

    An action was taken outside the declared delegation scope

    Evidence: Delegation chain events + declared actions

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: DELEGATION != AUTHORITY_PLANE · CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • DEL-008Delegated actionsExecutableDELEGATION

    A delegation justification gap exceeded the declared…

    Evidence: Delegation chain events + justification timing

    A broken or widened delegation chain lets an action run without its granted authority.

    Never claims: CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-DELEGATION — see playbooks

  • ID-001Agent identityExecutableIDENTITY

    An agent identity is unknown to the registry

    Evidence: Identity records + agent registry

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY · UNREGISTERED != MALICIOUS

    Remediation: PB-IDENTITY — see playbooks

  • ID-002Agent identityExecutableIDENTITY

    An OAuth client id is not mapped to a registered agent

    Evidence: Identity records + client mapping

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: OAUTH_CLIENT_ID != AGENT_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-003Agent identityExecutableIDENTITY

    A presented SPIFFE id differs from the expected identity

    Evidence: Identity records + SPIFFE expectations

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-004Agent identityExecutableIDENTITY

    A delegation chain was not preserved across the hop

    Evidence: Identity records + chain state

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: DELEGATION != AUTHORITY_PLANE

    Remediation: PB-IDENTITY — see playbooks

  • ID-005Agent identityExecutableIDENTITY

    A scope reduction was not enforced down-chain

    Evidence: Identity records + scope state

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-IDENTITY — see playbooks

  • ID-006Agent identityExecutableIDENTITY

    An agent attestation is missing or invalid

    Evidence: Identity records + attestation

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-007Agent identityExecutableIDENTITY

    An agent profile does not match its execution surface

    Evidence: Identity records + surface

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-008Agent identityExecutableIDENTITY

    An agent trust profile is expired

    Evidence: Identity records + trust profile expiry

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-009Agent identityExecutableIDENTITY

    An agent lineage chain is broken

    Evidence: Identity records + lineage

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY

    Remediation: PB-IDENTITY — see playbooks

  • ID-010Agent identityExecutableIDENTITY

    A just-in-time grant was used as a standing privilege

    Evidence: Identity records + grant type

    Unverified agent identity means actions cannot be attributed or trusted.

    Never claims: AGENTIC_IDENTITY != USER_IDENTITY · CHAIN_SCOPE_CHANGE != PRIVILEGE_ESCALATION

    Remediation: PB-IDENTITY — see playbooks

  • TOWER-001Cell and tower accessExecutableTOWER

    A handover moved a device to a cell outside the declared…

    Evidence: Handover records + declared cell scope

    Cell and tower access outside the declared footprint can expose devices to the wrong network elements.

    Never claims: HANDOVER != UNAUTHORIZED_ACCESS

  • TOWER-002Cell and tower accessExecutableTOWER

    A device handover chain exceeded the declared baseline…

    Evidence: Handover records + chain baseline

    Cell and tower access outside the declared footprint can expose devices to the wrong network elements.

    Never claims: LONG_CHAIN != ATTACK

  • TOWER-003Cell and tower accessExecutableTOWER

    The same device appeared on multiple cells inside an…

    Evidence: Handover records + session window

    Cell and tower access outside the declared footprint can expose devices to the wrong network elements.

    Never claims: IMPLAUSIBLE != SPOOFING

  • TOWER-004Cell and tower accessExecutableTOWER

    An agent accessed a cell outside its declared scope

    Evidence: Handover records + agent declared scope

    Cell and tower access outside the declared footprint can expose devices to the wrong network elements.

    Never claims: SCOPE_VIOLATION != ATTACK

  • TOWER-005Cell and tower accessExecutableTOWER

    A device moved to a cell that is not in the declared…

    Evidence: Handover records + declared topology snapshot

    Cell and tower access outside the declared footprint can expose devices to the wrong network elements.

    Never claims: ROGUE_CELL_CANDIDATE != CONFIRMED

  • RAPP-SC-001App supply chainExecutableORAN_WG11

    An application artifact hash differs from the approved…

    Evidence: Onboarding manifest + artifact hash

    A changed or unsigned application artifact can ship code nobody approved.

    Never claims: HASH_MISMATCH != TAMPERING

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • RAPP-SC-002App supply chainExecutableORAN_WG11

    An application artifact is missing a signature or the…

    Evidence: Onboarding pipeline signature check

    A changed or unsigned application artifact can ship code nobody approved.

    Never claims: MISSING_SIGNATURE != MALICIOUS

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • RAPP-SC-003App supply chainExecutableORAN_WG11

    Observed dependencies drifted from the approved set

    Evidence: Package manifest vs approved SBOM

    A changed or unsigned application artifact can ship code nobody approved.

    Never claims: DEPENDENCY_DRIFT != ATTACK

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • RAPP-SC-004App supply chainExecutableORAN_WG11

    An application binary was modified after onboarding

    Evidence: Runtime integrity check

    A changed or unsigned application artifact can ship code nobody approved.

    Never claims: HASH_MISMATCH != TAMPERING

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • RAPP-SC-005App supply chainExecutableORAN_WG11

    An unsigned application came from a third-party registry

    Evidence: Registry metadata + signature state

    A changed or unsigned application artifact can ship code nobody approved.

    Never claims: MISSING_SIGNATURE != MALICIOUS

    Remediation: PB-SUPPLY-CHAIN — see playbooks

  • RAPP-EX-001App data leavingExecutableORAN_WG11

    Egress volume exceeded baseline plus the declared threshold

    Evidence: Egress metrics + baseline

    Data leaving through unexpected volume or destinations can become a reportable exposure.

    Never claims: EGRESS_VOLUME != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • RAPP-EX-002App data leavingExecutableORAN_WG11

    An egress destination sits outside the approved allowlist

    Evidence: Egress logs + allowlist

    Data leaving through unexpected volume or destinations can become a reportable exposure.

    Never claims: DESTINATION_OUTSIDE != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • RAPP-EX-003App data leavingExecutableORAN_WG11

    A data selection was broader than the declared pattern

    Evidence: Query logs + declared selection

    Data leaving through unexpected volume or destinations can become a reportable exposure.

    Never claims: BULK_READ != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • RAPP-EX-004App data leavingExecutableORAN_WG11

    Telemetry was read by an application that is not authorized…

    Evidence: Access-control logs

    Data leaving through unexpected volume or destinations can become a reportable exposure.

    Never claims: UNAUTHORIZED_READ != EXFILTRATION

    Remediation: PB-EGRESS — see playbooks

  • RAPP-LM-001App-to-app trafficExecutableORAN_WG11

    Traffic flowed between two applications never paired in the…

    Evidence: Service-mesh logs + baseline peers

    Traffic between applications that were never meant to talk can hide movement toward sensitive functions.

    Never claims: MESH_TRAFFIC != LATERAL_MOVEMENT

  • RAPP-LM-002App-to-app trafficExecutableORAN_WG11

    The same credential was reused across application boundaries

    Evidence: Identity logs + credential ids

    Traffic between applications that were never meant to talk can hide movement toward sensitive functions.

    Never claims: CREDENTIAL_REUSE != LATERAL_MOVEMENT

  • RAPP-LM-003App-to-app trafficExecutableORAN_WG11

    East-west traffic reached a peer outside the expected set

    Evidence: Network flow logs + expected peers

    Traffic between applications that were never meant to talk can hide movement toward sensitive functions.

    Never claims: MESH_TRAFFIC != LATERAL_MOVEMENT

  • RAPP-LM-004App-to-app trafficExecutableORAN_WG11

    A privilege escalation was observed inside the service mesh

    Evidence: Runtime authorization logs

    Traffic between applications that were never meant to talk can hide movement toward sensitive functions.

    Never claims: PRIVILEGE_CHANGE != LATERAL_MOVEMENT

Source of truth: lib/ai-security/risk-registry/detection-rule-catalog.ts. Framework mappings for these rules live at /developers/frameworks. A rule being executable establishes what it can check — not that a matching finding proves a system is unsafe.