surface record schema

RAGE Surface (optional). Required: resource_id.

Download JSON Validate a surface

Properties

propertytyperequirednotes
kind const required must be "surface".
resource_id string required the node_id this surface is on
category string optional surface class, e.g. public_endpoint, metadata, config_field, bootstrap_script
emits_hint string optional the edge/credential type a successful probe would yield
evidence any optional
location string optional
severity enum optional one of low medium high critical .
surface_id string optional

Additional properties are allowed - RAGE is forward-compatible; unknown fields are ignored.

Raw schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rage.fail/schemas/0.1/surface.schema.json",
  "title": "RAGE Surface (optional)",
  "description": "An attack surface: a place on a resource where an attacker could gain a foothold or extract a credential (a probe target). Optional extension kind \u2014 consumers that don't understand it skip it.",
  "type": "object",
  "required": [
    "kind",
    "resource_id"
  ],
  "additionalProperties": true,
  "properties": {
    "kind": {
      "const": "surface"
    },
    "surface_id": {
      "type": "string"
    },
    "resource_id": {
      "type": "string",
      "description": "the node_id this surface is on"
    },
    "category": {
      "type": "string",
      "description": "surface class, e.g. public_endpoint, metadata, config_field, bootstrap_script"
    },
    "emits_hint": {
      "type": "string",
      "description": "the edge/credential type a successful probe would yield"
    },
    "severity": {
      "enum": [
        "low",
        "medium",
        "high",
        "critical"
      ]
    },
    "location": {
      "type": "string"
    },
    "evidence": {}
  }
}
move · open · esc close