@vantagesec/socc 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +8 -8
  2. package/dist/cli.mjs +10734 -10807
  3. package/package.json +7 -8
  4. package/scripts/bootstrap-socc-soul.mjs +23 -1
  5. package/socc-canonical/.agents/generated/socc-agent-manifest.json +0 -231
  6. package/socc-canonical/.agents/generated/socc-agent.md +0 -256
  7. package/socc-canonical/.agents/rules/AGENT.md +0 -109
  8. package/socc-canonical/.agents/rules/AQL_REFERENCE.md +0 -40
  9. package/socc-canonical/.agents/rules/MEMORY.md +0 -19
  10. package/socc-canonical/.agents/rules/TOOLS.md +0 -48
  11. package/socc-canonical/.agents/soc-copilot/AGENTS.md +0 -28
  12. package/socc-canonical/.agents/soc-copilot/MEMORY.md +0 -20
  13. package/socc-canonical/.agents/soc-copilot/SKILL.md +0 -51
  14. package/socc-canonical/.agents/soc-copilot/SOUL.md +0 -31
  15. package/socc-canonical/.agents/soc-copilot/TOOLS.md +0 -33
  16. package/socc-canonical/.agents/soc-copilot/USER.md +0 -31
  17. package/socc-canonical/.agents/soc-copilot/identity.md +0 -7
  18. package/socc-canonical/.agents/soc-copilot/references/evidence-rules.md +0 -30
  19. package/socc-canonical/.agents/soc-copilot/references/intelligence-source-registry.md +0 -32
  20. package/socc-canonical/.agents/soc-copilot/references/ioc-extraction.md +0 -25
  21. package/socc-canonical/.agents/soc-copilot/references/knowledge-ingestion-policy.md +0 -34
  22. package/socc-canonical/.agents/soc-copilot/references/mitre-guidance.md +0 -21
  23. package/socc-canonical/.agents/soc-copilot/references/output-contract.md +0 -31
  24. package/socc-canonical/.agents/soc-copilot/references/security-json-patterns.md +0 -129
  25. package/socc-canonical/.agents/soc-copilot/references/telemetry-investigation-patterns.md +0 -39
  26. package/socc-canonical/.agents/soc-copilot/schemas/analysis_response.json +0 -119
  27. package/socc-canonical/.agents/soc-copilot/skills/code-review-excellence/SKILL.md +0 -538
  28. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/QUICK_REFERENCE.md +0 -263
  29. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/README.md +0 -243
  30. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/SKILL.md +0 -1707
  31. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/tests/quiz.md +0 -472
  32. package/socc-canonical/.agents/soc-copilot/skills/data-visualization/SKILL.md +0 -304
  33. package/socc-canonical/.agents/soc-copilot/skills/deep-research/SKILL.md +0 -192
  34. package/socc-canonical/.agents/soc-copilot/skills/excel-analysis/SKILL.md +0 -247
  35. package/socc-canonical/.agents/soc-copilot/skills/find-skills/SKILL.md +0 -133
  36. package/socc-canonical/.agents/soc-copilot/skills/humanizer/README.md +0 -120
  37. package/socc-canonical/.agents/soc-copilot/skills/humanizer/SKILL.md +0 -439
  38. package/socc-canonical/.agents/soc-copilot/skills/malware-behavior/SKILL.md +0 -54
  39. package/socc-canonical/.agents/soc-copilot/skills/mitre/SKILL.md +0 -200
  40. package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/SKILL.md +0 -237
  41. package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/references/log-search-reference.md +0 -76
  42. package/socc-canonical/.agents/soc-copilot/skills/payload-triage/SKILL.md +0 -53
  43. package/socc-canonical/.agents/soc-copilot/skills/phishing-analysis/SKILL.md +0 -51
  44. package/socc-canonical/.agents/soc-copilot/skills/prd/SKILL.md +0 -143
  45. package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/MCP-TOOLS.md +0 -137
  46. package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/SKILL.md +0 -65
  47. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/README.md +0 -118
  48. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/SKILL.md +0 -93
  49. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/advanced.md +0 -122
  50. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/examples.md +0 -274
  51. package/socc-canonical/.agents/soc-copilot/skills/soc-generalist/SKILL.md +0 -53
  52. package/socc-canonical/.agents/soc-copilot/skills/suspicious-url/SKILL.md +0 -51
  53. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/CREATION-LOG.md +0 -119
  54. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/SKILL.md +0 -296
  55. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  56. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting.md +0 -115
  57. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/defense-in-depth.md +0 -122
  58. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/find-polluter.sh +0 -63
  59. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/root-cause-tracing.md +0 -169
  60. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-academic.md +0 -14
  61. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-1.md +0 -58
  62. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-2.md +0 -68
  63. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-3.md +0 -69
  64. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/SKILL.md +0 -284
  65. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/chinese-traditional.md +0 -535
  66. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/english.md +0 -372
  67. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/japanese.md +0 -515
  68. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/tools-resources.md +0 -527
  69. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/translation-challenges.md +0 -603
  70. package/socc-canonical/.agents/soc-copilot/skills/web-search/SKILL.md +0 -322
  71. package/socc-canonical/.agents/soc-copilot/skills.md +0 -21
  72. package/socc-canonical/.agents/workflows/SOP.md +0 -137
  73. package/socc-canonical/README.md +0 -10
  74. /package/{.claude → .socc}/agents/socc.md +0 -0
  75. /package/{.claude → .socc}/references/evidence-rules.md +0 -0
  76. /package/{.claude → .socc}/references/intelligence-source-registry.md +0 -0
  77. /package/{.claude → .socc}/references/ioc-extraction.md +0 -0
  78. /package/{.claude → .socc}/references/knowledge-ingestion-policy.md +0 -0
  79. /package/{.claude → .socc}/references/mitre-guidance.md +0 -0
  80. /package/{.claude → .socc}/references/output-contract.md +0 -0
  81. /package/{.claude → .socc}/references/security-json-patterns.md +0 -0
  82. /package/{.claude → .socc}/references/telemetry-investigation-patterns.md +0 -0
  83. /package/{.claude → .socc}/rules/socc-business-rules.md +0 -0
  84. /package/{.claude → .socc}/skills/code-review-excellence/SKILL.md +0 -0
  85. /package/{.claude → .socc}/skills/cybersecurity-analyst/QUICK_REFERENCE.md +0 -0
  86. /package/{.claude → .socc}/skills/cybersecurity-analyst/README.md +0 -0
  87. /package/{.claude → .socc}/skills/cybersecurity-analyst/SKILL.md +0 -0
  88. /package/{.claude → .socc}/skills/cybersecurity-analyst/tests/quiz.md +0 -0
  89. /package/{.claude → .socc}/skills/data-visualization/SKILL.md +0 -0
  90. /package/{.claude → .socc}/skills/deep-research/SKILL.md +0 -0
  91. /package/{.claude → .socc}/skills/excel-analysis/SKILL.md +0 -0
  92. /package/{.claude → .socc}/skills/find-skills/SKILL.md +0 -0
  93. /package/{.claude → .socc}/skills/humanizer/README.md +0 -0
  94. /package/{.claude → .socc}/skills/humanizer/SKILL.md +0 -0
  95. /package/{.claude → .socc}/skills/malware-behavior/SKILL.md +0 -0
  96. /package/{.claude → .socc}/skills/mitre/SKILL.md +0 -0
  97. /package/{.claude → .socc}/skills/observability-logs-search/SKILL.md +0 -0
  98. /package/{.claude → .socc}/skills/observability-logs-search/references/log-search-reference.md +0 -0
  99. /package/{.claude → .socc}/skills/payload-triage/SKILL.md +0 -0
  100. /package/{.claude → .socc}/skills/phishing-analysis/SKILL.md +0 -0
  101. /package/{.claude → .socc}/skills/prd/SKILL.md +0 -0
  102. /package/{.claude → .socc}/skills/remembering-conversations/MCP-TOOLS.md +0 -0
  103. /package/{.claude → .socc}/skills/remembering-conversations/SKILL.md +0 -0
  104. /package/{.claude → .socc}/skills/sequential-thinking/README.md +0 -0
  105. /package/{.claude → .socc}/skills/sequential-thinking/SKILL.md +0 -0
  106. /package/{.claude → .socc}/skills/sequential-thinking/references/advanced.md +0 -0
  107. /package/{.claude → .socc}/skills/sequential-thinking/references/examples.md +0 -0
  108. /package/{.claude → .socc}/skills/soc-generalist/SKILL.md +0 -0
  109. /package/{.claude → .socc}/skills/suspicious-url/SKILL.md +0 -0
  110. /package/{.claude → .socc}/skills/systematic-debugging/CREATION-LOG.md +0 -0
  111. /package/{.claude → .socc}/skills/systematic-debugging/SKILL.md +0 -0
  112. /package/{.claude → .socc}/skills/systematic-debugging/condition-based-waiting-example.ts +0 -0
  113. /package/{.claude → .socc}/skills/systematic-debugging/condition-based-waiting.md +0 -0
  114. /package/{.claude → .socc}/skills/systematic-debugging/defense-in-depth.md +0 -0
  115. /package/{.claude → .socc}/skills/systematic-debugging/find-polluter.sh +0 -0
  116. /package/{.claude → .socc}/skills/systematic-debugging/root-cause-tracing.md +0 -0
  117. /package/{.claude → .socc}/skills/systematic-debugging/test-academic.md +0 -0
  118. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-1.md +0 -0
  119. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-2.md +0 -0
  120. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-3.md +0 -0
  121. /package/{.claude → .socc}/skills/translation-expertise/SKILL.md +0 -0
  122. /package/{.claude → .socc}/skills/translation-expertise/chinese-traditional.md +0 -0
  123. /package/{.claude → .socc}/skills/translation-expertise/english.md +0 -0
  124. /package/{.claude → .socc}/skills/translation-expertise/japanese.md +0 -0
  125. /package/{.claude → .socc}/skills/translation-expertise/tools-resources.md +0 -0
  126. /package/{.claude → .socc}/skills/translation-expertise/translation-challenges.md +0 -0
  127. /package/{.claude → .socc}/skills/web-search/SKILL.md +0 -0
@@ -1,129 +0,0 @@
1
- # Security JSON Field Patterns
2
-
3
- Purpose:
4
-
5
- - help the copilot recognize common aliases used by EDR, NDR, IDS/IPS, SIEM, IAM, WAF and cloud detectors
6
- - reduce misses when important evidence appears under vendor-specific JSON keys
7
- - treat these aliases as extraction hints, not as permission to invent facts
8
-
9
- High-signal entities to always inspect:
10
-
11
- - username and account identifiers
12
- - source IP and destination IP, including IPv4 and IPv6
13
- - hostname and server names
14
- - file name and file path
15
- - hashes such as MD5, SHA1 and SHA256
16
- - ports, protocol, action, URL and domain
17
- - e-mail headers and authentication/session fields
18
- - process, registry, service and module telemetry
19
- - cloud identity/resource context and Kubernetes/container metadata
20
-
21
- Common alias families by canonical field:
22
-
23
- - `Usuario`:
24
- `user`, `username`, `user.name`, `user.id`, `userPrincipalName`, `UserId`, `UserName`, `AccountName`, `SamAccountName`, `SubjectUserName`, `TargetUserName`, `srcuser`, `dstuser`, `principalUserName`, `actor.alternateId`
25
- - `IP_Origem`:
26
- `srcip`, `src_ip`, `src`, `sourceip`, `source.ip`, `SourceIP`, `SourceIp`, `sourceIPAddress`, `sourceAddress`, `ClientIP`, `client.ip`, `RemoteIP`, `RemoteAddress`, `CallerIpAddress`, `event.src.ip`
27
- - `IP_Destino`:
28
- `dstip`, `dst_ip`, `dst`, `destinationip`, `destination.ip`, `DestinationIP`, `DestinationIp`, `destinationIPAddress`, `destinationAddress`, `TargetIP`, `server.ip`, `event.dst.ip`
29
- - `Hostname`:
30
- `hostname`, `host`, `host.name`, `ComputerName`, `DeviceName`, `device.hostname`, `agent.hostname`, `endpoint.hostname`, `destinationHostName`, `dest_host`, `dhost`
31
- - `Servidor`:
32
- `server`, `serverName`, `server.name`, `server_name`, `serverHost`, `server.host`, `observer.name`, `sensor`, `appliance`
33
- - `Arquivo`:
34
- `file.name`, `fileName`, `FileName`, `filename`, `TargetFilename`, `object.file.name`, `process.name`, `Image`
35
- - `Caminho`:
36
- `file.path`, `FilePath`, `Path`, `Directory`, `FolderPath`, `TargetObject`, `TargetFilename`, `process.command_line`, `process.executable`, `ImagePath`
37
- - `Hash_Observado`:
38
- `hash`, `sha256`, `sha1`, `md5`, `fileHash`, `FileHash`, `file.hash`, `file.hash.sha256`, `file.hash.sha1`, `file.hash.md5`, `process.hash.sha256`
39
- - `Porta_Origem`:
40
- `srcport`, `SourcePort`, `sourcePort`, `source.port`, `src_port`, `network.src.port`
41
- - `Porta_Destino`:
42
- `dstport`, `DestinationPort`, `destinationPort`, `destination.port`, `dst_port`, `server.port`, `network.dst.port`
43
- - `Email_Remetente`:
44
- `from`, `mail.from`, `sender`, `sender.address`, `email.from.address`, `message.from`, `smtp.mailfrom`
45
- - `Email_Destinatario`:
46
- `to`, `recipient`, `recipient.address`, `email.to.address`, `message.to`, `smtp.rcptto`
47
- - `Email_ReplyTo`:
48
- `reply-to`, `reply_to`, `replyTo`, `email.reply_to.address`
49
- - `Email_Assunto`:
50
- `subject`, `email.subject`, `mail.subject`, `message.subject`
51
- - `Resultado_Autenticacao`:
52
- `auth_result`, `auth.result`, `authentication.result`, `signin_result`, `login_result`, `status`
53
- - `MFA_Status`:
54
- `mfa`, `mfa_status`, `mfa.result`, `authentication.mfa`, `mfaRequired`, `mfaUsed`
55
- - `Sessao_ID`:
56
- `session`, `session.id`, `session_id`, `sessionId`, `auth.session_id`, `network.session_id`
57
- - `Tipo_Logon`:
58
- `logon_type`, `logonType`, `login_type`, `authentication.type`
59
- - `DNS_Consulta`:
60
- `query`, `dns.question.name`, `dns.qname`, `qname`, `rrname`, `dns.query`, `domainName`
61
- - `HTTP_Host`:
62
- `http.host`, `host.header`, `url.domain`, `request.host`, `host_header`
63
- - `URL_Completa`:
64
- `url.full`, `request.url`, `http.url`, `uri`, `request_uri`, `url.original`
65
- - `User_Agent`:
66
- `user_agent`, `user.agent`, `http.user_agent`, `request.user_agent`
67
- - `TLS_SNI`:
68
- `tls.sni`, `server_name`, `serverNameIndication`, `tls.server_name`
69
- - `TLS_JA3` / `TLS_JA3S`:
70
- `ja3`, `tls.ja3`, `network.tls.ja3`, `ja3s`, `tls.ja3s`, `network.tls.ja3s`
71
- - `Certificado_Assunto`:
72
- `certificate.subject`, `tls.server.x509.subject`, `x509.subject`, `cert.subject`
73
- - `Processo` / `Processo_Pai`:
74
- `process.name`, `processName`, `Image`, `process.executable`, `process.parent.name`, `ParentProcessName`
75
- - `Linha_De_Comando`:
76
- `command_line`, `CommandLine`, `process.command_line`, `cmdline`
77
- - `Registro`:
78
- `registry.path`, `registry.key`, `registryKey`, `TargetObject`
79
- - `Servico`:
80
- `service.name`, `serviceName`, `ServiceName`, `service.display_name`
81
- - `Modulo`:
82
- `module`, `module.name`, `dll`, `ImageLoaded`, `loaded_module`
83
- - `Cloud_Conta_ID`:
84
- `accountId`, `account.id`, `cloud.account.id`, `recipientAccountId`, `subscriptionId`
85
- - `Cloud_Regiao`:
86
- `region`, `cloud.region`, `awsRegion`, `azure.region`, `gcp.region`, `location`
87
- - `Cloud_Recurso`:
88
- `resourceId`, `resource.id`, `cloud.resource.id`, `instanceId`, `targetResourceName`
89
- - `Cloud_Papel`:
90
- `role`, `roleArn`, `role_name`, `cloud.role`, `principal.role`
91
- - `Cloud_Tenant_ID` / `Cloud_Projeto_ID`:
92
- `tenantId`, `tenant.id`, `azure.tenant_id`, `project.id`, `projectId`, `gcp.project.id`
93
- - `Bytes_Entrada` / `Bytes_Saida` / `Pacotes_Entrada` / `Pacotes_Saida`:
94
- `bytes_in`, `bytes_out`, `packets_in`, `packets_out`, `source.bytes`, `destination.bytes`
95
- - `Direcao_Rede`:
96
- `direction`, `network.direction`, `flow.direction`, `traffic.direction`
97
- - `NAT_IP_Origem` / `NAT_IP_Destino`:
98
- `nat.source.ip`, `nat.destination.ip`, `nat.src`, `nat.dst`, `source.nat.ip`, `destination.nat.ip`
99
- - `Sessao_Rede_ID` / `Zona_Rede` / `Interface_Rede`:
100
- `network.session_id`, `flow.id`, `connection.id`, `zone`, `srczone`, `dstzone`, `interface`, `srcintf`, `dstintf`
101
- - `Kubernetes_Pod` / `Kubernetes_Namespace`:
102
- `kubernetes.pod.name`, `k8s.pod.name`, `pod.name`, `kubernetes.namespace`, `k8s.namespace.name`
103
- - `Container_ID` / `Container_Imagem`:
104
- `container.id`, `docker.container.id`, `container.image.name`, `container.image.tag`
105
- - `Kubernetes_Node` / `Kubernetes_Cluster`:
106
- `kubernetes.node.name`, `k8s.node.name`, `kubernetes.cluster.name`, `k8s.cluster.name`
107
- - `Kubernetes_ServiceAccount` / `Kubernetes_Workload`:
108
- `kubernetes.serviceaccount.name`, `serviceAccount`, `kubernetes.deployment.name`, `workload.name`
109
-
110
- Detector families where these aliases commonly appear:
111
-
112
- - FortiGate, Palo Alto, Check Point, Cisco, Juniper
113
- - CrowdStrike, Defender for Endpoint, SentinelOne, Carbon Black, Trend Micro
114
- - Suricata, Snort, Zeek, Security Onion
115
- - Microsoft Sentinel, Elastic, Wazuh, Splunk, QRadar, Chronicle
116
- - Okta, Entra ID, Active Directory, Google Workspace, AWS GuardDuty
117
- - CloudTrail, GuardDuty, Azure AD/Entra, GCP Audit Logs, Prisma, Wiz
118
- - Kubernetes Audit Logs, Falco, Sysdig, Aqua, Datadog, EKS/GKE/AKS
119
-
120
- Extraction discipline:
121
-
122
- - prefer exact values present in normalized fields or raw payload
123
- - if a field is absent, leave it empty rather than guessing
124
- - accept IPv6 as first-class evidence, not only IPv4
125
- - when both hostname and destination IP exist, keep both if possible
126
- - when a hash is present, preserve full value without truncation in structured data
127
- - when a file name and a path both exist, keep the path in `Caminho` and the best file indicator in `Arquivo`
128
- - when URL, DNS, HTTP host and SNI coexist, keep the most specific value in its own field and avoid collapsing them prematurely
129
- - when cloud or Kubernetes metadata exists, preserve tenancy, resource and workload context because it often changes incident scope
@@ -1,39 +0,0 @@
1
- # Telemetry Investigation Patterns
2
-
3
- Purpose:
4
-
5
- - transform extracted telemetry into investigation-ready context
6
- - highlight patterns without inventing facts or forcing a final verdict
7
- - help distinguish scope, delivery, execution, persistence and exfiltration signals
8
-
9
- Investigation families:
10
-
11
- - `email_auth`:
12
- phishing delivery, malicious attachment, malicious link, external auth pressure, MFA gap
13
- - `dns_http_tls`:
14
- suspicious web channel, HTTP/TLS beaconing, anomalous DNS, possible tunneling
15
- - `process_endpoint`:
16
- LOLBins, script execution, persistence via registry/service/task, suspicious module load
17
- - `cloud_identity`:
18
- cloud account or role exposure, suspicious resource access, tenant or subscription relevance
19
- - `network_flow_nat`:
20
- outbound asymmetry, NAT path awareness, source/destination attribution risk
21
- - `kubernetes_container`:
22
- pod or namespace scope, container image relevance, service account or cluster blast radius
23
-
24
- Discipline:
25
-
26
- - treat these patterns as investigative context, not as a final incident decision
27
- - prefer concrete evidence from parsed fields and raw payload over generic assumptions
28
- - when context depends on external reputation, say that clearly
29
- - when the telemetry only changes scope, describe scope rather than overclaiming attacker intent
30
-
31
- Good examples:
32
-
33
- - "Email sender + subject + URL/file suggests possible phishing delivery context."
34
- - "External auth failures with MFA gap suggest credential pressure and justify deeper review."
35
- - "PowerShell with encoded command suggests script execution by LOLBin and deserves EDR correlation."
36
- - "Registry Run key or service creation suggests persistence mechanism on the endpoint."
37
- - "High outbound bytes to external destination suggests exfiltration or anomalous upload signal."
38
- - "Cloud resource, role and external source IP expand the blast radius to identity and control plane."
39
- - "Pod, namespace and container image indicate workload scope in Kubernetes."
@@ -1,119 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://socc.local/schemas/analysis_response.json",
4
- "title": "SOC Copilot Analysis Response",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "summary",
9
- "verdict",
10
- "confidence",
11
- "iocs",
12
- "ttps",
13
- "risk_reasons",
14
- "recommended_actions",
15
- "sources"
16
- ],
17
- "properties": {
18
- "summary": {
19
- "type": "string",
20
- "minLength": 1
21
- },
22
- "verdict": {
23
- "type": "string",
24
- "enum": [
25
- "benigno",
26
- "suspeito",
27
- "malicioso",
28
- "inconclusivo"
29
- ]
30
- },
31
- "confidence": {
32
- "type": "number",
33
- "minimum": 0,
34
- "maximum": 1
35
- },
36
- "iocs": {
37
- "type": "array",
38
- "items": {
39
- "type": "object",
40
- "additionalProperties": false,
41
- "required": [
42
- "type",
43
- "value",
44
- "context"
45
- ],
46
- "properties": {
47
- "type": {
48
- "type": "string",
49
- "enum": [
50
- "ip",
51
- "domain",
52
- "url",
53
- "hash",
54
- "email",
55
- "file",
56
- "process",
57
- "registry",
58
- "other"
59
- ]
60
- },
61
- "value": {
62
- "type": "string",
63
- "minLength": 1
64
- },
65
- "context": {
66
- "type": "string"
67
- }
68
- }
69
- }
70
- },
71
- "ttps": {
72
- "type": "array",
73
- "items": {
74
- "type": "object",
75
- "additionalProperties": false,
76
- "required": [
77
- "id",
78
- "name",
79
- "reason"
80
- ],
81
- "properties": {
82
- "id": {
83
- "type": "string",
84
- "pattern": "^T[0-9]{4}(\\.[0-9]{3})?$"
85
- },
86
- "name": {
87
- "type": "string",
88
- "minLength": 1
89
- },
90
- "reason": {
91
- "type": "string",
92
- "minLength": 1
93
- }
94
- }
95
- }
96
- },
97
- "risk_reasons": {
98
- "type": "array",
99
- "items": {
100
- "type": "string",
101
- "minLength": 1
102
- }
103
- },
104
- "recommended_actions": {
105
- "type": "array",
106
- "items": {
107
- "type": "string",
108
- "minLength": 1
109
- }
110
- },
111
- "sources": {
112
- "type": "array",
113
- "items": {
114
- "type": "string",
115
- "minLength": 1
116
- }
117
- }
118
- }
119
- }