feat: initial official marketplace catalog

- integrations/virustotal: VirusTotal v3 (request-based: IP & domain reports)
- templates/: fully-commented manifest + script-command example
- README: discovery rules, manifest schema, how to publish and wire into Riposte
This commit is contained in:
2026-06-22 10:50:43 +02:00
commit 67d5e7da55
5 changed files with 314 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
"""Example script-based command implementation.
Contract (Riposte sandbox):
- Inputs are available in the global dict `__inputs__` (already parsed JSON).
- `json`, `os` and `sys` are pre-imported — no need to import them.
- The script MUST print exactly ONE JSON object to stdout. That object becomes
the command's output (`data`). Anything else on stdout breaks parsing.
- On failure, raise an exception (the runner reports it) or exit non-zero.
The filename (without .py) MUST match the command id in manifest.yaml, e.g.
this file `example_command.py` backs the command `id: example_command`.
"""
# Inputs declared in the command's inputs_schema:
indicator = __inputs__.get("indicator", "")
# ... call an API, compute, enrich, etc. ...
result = {
"indicator": indicator,
"verdict": "unknown",
"score": 0,
}
# Emit the single JSON result object.
print(json.dumps(result))