-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin.json
More file actions
124 lines (124 loc) · 3.95 KB
/
Copy pathplugin.json
File metadata and controls
124 lines (124 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
{
"id": "security-attachment-scan",
"name": "Security: Attachment Scan",
"version": "0.4.0",
"description": "Scans uploaded file attachments via the Multiforum security-scan service (VirusTotal reputation + static ZIP analysis).",
"entry": "dist/index.js",
"events": [
"downloadableFile.created",
"downloadableFile.updated",
"downloadableFile.downloaded"
],
"secrets": [
{
"key": "SCAN_SERVICE_API_KEY",
"scope": "server",
"required": true,
"description": "API key sent as the X-API-Key header to the security-scan service.",
"validationHint": "Must match the SCAN_API_KEY configured on the deployed scan service (at least 8 characters)."
}
],
"metadata": {
"author": {
"name": "Multiforum Team",
"url": "https://github.com/gennit-project"
},
"homepage": "https://github.com/gennit-project/multiforum-plugin-security-attachment-scan#readme",
"license": "MIT",
"tags": [
"security",
"virustotal",
"downloads"
]
},
"documentation": {
"readmePath": "README.md"
},
"source": {
"repoUrl": "https://github.com/gennit-project/multiforum-plugin-security-attachment-scan",
"releaseNotesUrl": "https://github.com/gennit-project/multiforum-plugin-security-attachment-scan/releases/tag/v0.4.0"
},
"compatibility": {
"minServerVersion": "1.0.0",
"apiVersion": "1"
},
"settingsDefaults": {
"server": {
"serviceUrl": "",
"blockOn": "malicious",
"onError": "block",
"policy": {}
},
"channel": {
"policy": {}
}
},
"ui": {
"forms": {
"server": [
{
"title": "Scan Service",
"description": "Connect to the deployed Multiforum security-scan service. It performs the VirusTotal lookup and ZIP static analysis; its VirusTotal key is configured on the service, not here.",
"fields": [
{
"type": "text",
"key": "serviceUrl",
"label": "Service URL",
"placeholder": "https://security-scan-service-xxxx.run.app",
"required": true,
"helperText": "Base URL of the Cloud Run security-scan service."
}
]
},
{
"title": "Scan Behaviour",
"description": "Control when a scan result blocks an upload.",
"fields": [
{
"type": "select",
"key": "blockOn",
"label": "Block uploads when the scan finds at least",
"default": "malicious",
"helperText": "How strict to be on findings. 'Suspicious' also blocks malicious.",
"options": [
{ "value": "suspicious", "label": "Suspicious" },
{ "value": "malicious", "label": "Malicious" }
]
},
{
"type": "select",
"key": "onError",
"label": "When the scan can't complete (error or service unreachable)",
"default": "block",
"helperText": "Fail closed (block) is safest: an attacker can't bypass the scan by making it error.",
"options": [
{ "value": "block", "label": "Block the upload (fail closed)" },
{ "value": "allow", "label": "Allow the upload (fail open)" }
]
}
]
}
],
"channel": [
{
"title": "Download Requirements",
"description": "Optional per-forum policy for ZIP uploads.",
"fields": [
{
"type": "toggle",
"key": "policy.require_readme",
"label": "Require a README at the archive root",
"default": false
},
{
"type": "toggle",
"key": "policy.require_license",
"label": "Require a LICENSE at the archive root",
"default": false
}
]
}
]
}
}
}