whitehat-security/schemas/engagement.schema.json

32 lines
1.6 KiB
JSON
Raw Permalink Normal View History

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "whitehat-engagement/v1",
"type": "object",
"additionalProperties": true,
"required": [
"engagement_id", "authorization_id", "authorizer", "approved_at", "expires_at",
"target", "target_owner", "environment", "source", "routes", "fixture_ids",
"credential_lane", "credential_role", "credential_max_ttl_seconds", "techniques",
"prohibited_techniques", "rate_limit_per_minute", "max_concurrency", "window_start",
"window_end", "operator_contact", "abort_contact", "posture_claim", "attacker_model",
"finding_destination", "target_owner_acknowledged_at"
],
"properties": {
"engagement_id": {"type": "string", "minLength": 1},
"authorization_id": {"type": "string", "minLength": 1},
"approved_at": {"type": "string", "format": "date-time"},
"expires_at": {"type": "string", "format": "date-time"},
"window_start": {"type": "string", "format": "date-time"},
"window_end": {"type": "string", "format": "date-time"},
"target_owner_acknowledged_at": {"type": "string", "format": "date-time"},
"environment": {"enum": ["fixture", "build", "staging", "production"]},
"routes": {"type": "array", "minItems": 1, "items": {"type": "string"}},
"fixture_ids": {"type": "array", "minItems": 1, "items": {"type": "string"}},
"techniques": {"type": "array", "minItems": 1, "items": {"type": "string"}},
"max_concurrency": {"const": 1},
"rate_limit_per_minute": {"type": "integer", "minimum": 1, "maximum": 60},
"finding_destination": {"const": "risk-nexus"}
}
}