Files
riposte-marketplace/integrations/joe-sandbox/manifest.yaml
T
Guillaume BOURGEOIS 2655a14bc3 feat(joe-sandbox): new Joe Sandbox integration
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>
2026-07-11 22:48:49 +02:00

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: {} }