9605e1f0dc
EDR: Wraith (SentinelOne), Talon (CrowdStrike), Nyx (HarfangLab), Bastion (Defender), Synapse (Cortex XDR), Kestrel (Sophos). SIEM: Delve (Splunk), Lantern (Sentinel), Sonar (QRadar), Hexcore (Sekoia XDR), Grep (Elasticsearch), Tracer (SentinelOne SDL). Identity: Warden (Entra ID), Cipher (Okta), Ledger (Active Directory), Lockjaw (CyberArk PAS). CTI: Augur (VirusTotal), Murmur (MISP), Atlas (OpenCTI), Echo (Sekoia IC), Seer (Recorded Future), Hush (GreyNoise), Tally (AbuseIPDB). Sandbox: Scalpel (Joe), Gauntlet (ANY.RUN), Prism (VMRay). Email: Hook (Proofpoint TAP), Drift (Mimecast), Riptide (Vade). Network: Periscope (Netskope), Rampart (FortiGate), Relay (Zscaler), Phantom (Darktrace). Read-only commands, analyst_l2, a call budget with an order, and the Static lessons: ids copied from answers only, timestamps passed as given, names over ids, one variant at most on error. Each sheet passes Riposte's validator; none is field-tested yet. Each integration gets a patch bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015RhL2gy6Sx6Y3FEsyBE3mZ
102 lines
4.2 KiB
YAML
102 lines
4.2 KiB
YAML
id: joe_sandbox
|
|
name: Joe Sandbox
|
|
version: 1.1.1
|
|
description: "Joe Sandbox Cloud (Web API v2) — detonate files and URLs, poll submission/analysis status, search analyses, download reports and read the account quota. API-key authentication; stdlib-only, no extra Python dependencies."
|
|
changelog: "1.1.0 — Declare the risk tier on the 2 commands that carried none: 2 safe_write. An unset risk is read as destructive by the agent approval gate, so the 2 that only annotate sat behind the same prompt as the ones that change the estate. | 1.0.0 — Initial release: file/URL submission, submission and analysis info, search, report download and account quota."
|
|
category: enrichment
|
|
|
|
# Per-instance configuration. The default server is Joe Sandbox Cloud Pro; set
|
|
# server_url for an on-prem Joe Sandbox appliance. The API key is sent as a form
|
|
# field on every request.
|
|
config_schema:
|
|
properties:
|
|
api_key:
|
|
type: string
|
|
description: "Joe Sandbox API key"
|
|
x-soar-sensitive: true
|
|
server_url:
|
|
type: string
|
|
description: "Joe Sandbox base URL (default https://jbxcloud.joesecurity.org)"
|
|
default: https://jbxcloud.joesecurity.org
|
|
required:
|
|
- api_key
|
|
|
|
commands:
|
|
- id: submit_sample
|
|
name: joe-sandbox-submit-sample
|
|
description: "Submit a file (base64) for analysis. Returns a submission_id; poll it with joe-sandbox-submission-info."
|
|
risk: safe_write
|
|
inputs_schema:
|
|
properties:
|
|
file_name: { type: string, description: "File name" }
|
|
content_base64: { type: string, description: "File content, base64-encoded" }
|
|
systems: { type: string, description: "Comma-separated analysis systems (e.g. w10x64). Omit for the account default." }
|
|
internet_access: { type: boolean, description: "Allow internet access during analysis (default true)" }
|
|
required: [file_name, content_base64]
|
|
outputs_schema: { properties: {} }
|
|
- id: submit_url
|
|
name: joe-sandbox-submit-url
|
|
description: "Submit a URL for analysis. Returns a submission_id."
|
|
risk: safe_write
|
|
inputs_schema:
|
|
properties:
|
|
url: { type: string, description: "URL to detonate" }
|
|
systems: { type: string, description: "Comma-separated analysis systems. Omit for the account default." }
|
|
internet_access: { type: boolean, description: "Allow internet access during analysis (default true)" }
|
|
required: [url]
|
|
outputs_schema: { properties: {} }
|
|
- id: submission_info
|
|
name: joe-sandbox-submission-info
|
|
description: "Get the status and details of a submission by submission_id."
|
|
risk: read
|
|
inputs_schema:
|
|
properties:
|
|
submission_id: { type: string, description: "Submission ID (from submit)" }
|
|
required: [submission_id]
|
|
outputs_schema: { properties: {} }
|
|
- id: analysis_info
|
|
name: joe-sandbox-analysis-info
|
|
description: "Get the details and verdict of an analysis by its web ID."
|
|
risk: read
|
|
inputs_schema:
|
|
properties:
|
|
web_id: { type: string, description: "Analysis web ID" }
|
|
required: [web_id]
|
|
outputs_schema: { properties: {} }
|
|
- id: search
|
|
name: joe-sandbox-search
|
|
description: "Search analyses by term (hash, URL, filename, …)."
|
|
risk: read
|
|
inputs_schema:
|
|
properties:
|
|
query: { type: string, description: "Search term" }
|
|
required: [query]
|
|
outputs_schema: { properties: {} }
|
|
- id: download_report
|
|
name: joe-sandbox-download-report
|
|
description: "Download an analysis report in a given format (returned as base64)."
|
|
risk: read
|
|
inputs_schema:
|
|
properties:
|
|
web_id: { type: string, description: "Analysis web ID" }
|
|
report_type: { type: string, description: "Report type: json, html, pdf, xml or misp (default json)" }
|
|
required: [web_id]
|
|
outputs_schema: { properties: {} }
|
|
- id: account_quota
|
|
name: joe-sandbox-account-quota
|
|
description: "Read the account's analysis quota."
|
|
risk: read
|
|
inputs_schema:
|
|
properties: {}
|
|
required: []
|
|
outputs_schema: { properties: {} }
|
|
|
|
- id: test_connection
|
|
name: joe-sandbox-test-connection
|
|
description: "Verify the API key and server availability (used by the Test button)."
|
|
risk: read
|
|
inputs_schema:
|
|
properties: {}
|
|
required: []
|
|
outputs_schema: { properties: {} }
|