2655a14bc3
8 commands: file/URL detonation, submission + analysis info, search, report download, account quota. API-key auth, stdlib-only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
100 lines
4.0 KiB
YAML
100 lines
4.0 KiB
YAML
id: joe_sandbox
|
|
name: Joe Sandbox
|
|
version: 1.0.0
|
|
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.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."
|
|
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."
|
|
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: {} }
|