From cb867e6dd8d58033266ec822c715e50b57dcdfcf Mon Sep 17 00:00:00 2001 From: KoiosSG Date: Wed, 27 May 2026 21:52:38 +0200 Subject: [PATCH 1/3] Add artifact malware quarantine guard --- artifact-malware-quarantine-guard/.gitignore | 3 + artifact-malware-quarantine-guard/README.md | 33 +++ .../acceptance-notes.md | 24 ++ artifact-malware-quarantine-guard/demo.js | 82 +++++++ artifact-malware-quarantine-guard/index.js | 217 ++++++++++++++++++ .../make-demo-video.py | 132 +++++++++++ .../package.json | 12 + .../reports/clean-packet.json | 43 ++++ .../reports/demo.mp4 | Bin 0 -> 106051 bytes .../reports/quarantine-report.md | 9 + .../reports/risky-packet.json | 85 +++++++ .../reports/stale-scan-packet.json | 47 ++++ .../reports/summary.svg | 24 ++ .../requirements-map.md | 16 ++ .../sample-data.js | 134 +++++++++++ artifact-malware-quarantine-guard/test.js | 66 ++++++ 16 files changed, 927 insertions(+) create mode 100644 artifact-malware-quarantine-guard/.gitignore create mode 100644 artifact-malware-quarantine-guard/README.md create mode 100644 artifact-malware-quarantine-guard/acceptance-notes.md create mode 100644 artifact-malware-quarantine-guard/demo.js create mode 100644 artifact-malware-quarantine-guard/index.js create mode 100644 artifact-malware-quarantine-guard/make-demo-video.py create mode 100644 artifact-malware-quarantine-guard/package.json create mode 100644 artifact-malware-quarantine-guard/reports/clean-packet.json create mode 100644 artifact-malware-quarantine-guard/reports/demo.mp4 create mode 100644 artifact-malware-quarantine-guard/reports/quarantine-report.md create mode 100644 artifact-malware-quarantine-guard/reports/risky-packet.json create mode 100644 artifact-malware-quarantine-guard/reports/stale-scan-packet.json create mode 100644 artifact-malware-quarantine-guard/reports/summary.svg create mode 100644 artifact-malware-quarantine-guard/requirements-map.md create mode 100644 artifact-malware-quarantine-guard/sample-data.js create mode 100644 artifact-malware-quarantine-guard/test.js diff --git a/artifact-malware-quarantine-guard/.gitignore b/artifact-malware-quarantine-guard/.gitignore new file mode 100644 index 00000000..75b3a515 --- /dev/null +++ b/artifact-malware-quarantine-guard/.gitignore @@ -0,0 +1,3 @@ +frames/ +__pycache__/ +*.tmp diff --git a/artifact-malware-quarantine-guard/README.md b/artifact-malware-quarantine-guard/README.md new file mode 100644 index 00000000..c1ca8e80 --- /dev/null +++ b/artifact-malware-quarantine-guard/README.md @@ -0,0 +1,33 @@ +# Artifact Malware Quarantine Guard + +Self-contained Scientific/Engineering Data & Code Hosting slice for issue #14. + +This module evaluates hosted uploads before they are exposed through metadata previews, reproduce-run buttons, API access, or export bundles. It uses synthetic artifact records only and does not call external scanners, storage systems, payment systems, or private services. + +## What It Checks + +- Denylisted checksums and malicious scan verdicts +- Stale or missing malware scan evidence +- Archive expansion, entry-count, and depth signals for archive bombs +- Macro-enabled spreadsheets +- Pickle/joblib model artifacts that can execute code when deserialized +- Notebook outputs with embedded scripts +- FAIR/DataCite/schema.org release evidence for clean artifacts + +## Commands + +```bash +npm run check +npm test +npm run demo +npm run demo:video +``` + +`npm run demo` writes deterministic JSON, Markdown, and SVG reviewer artifacts under `reports/`. `npm run demo:video` renders `reports/demo.mp4` from local synthetic frames. + +## Safety + +- Synthetic sample data only +- No live malware scanning, upload storage, or network calls +- No credentials, tokens, private research files, or payout data +- Release decisions are guard outputs, not production enforcement actions diff --git a/artifact-malware-quarantine-guard/acceptance-notes.md b/artifact-malware-quarantine-guard/acceptance-notes.md new file mode 100644 index 00000000..05599334 --- /dev/null +++ b/artifact-malware-quarantine-guard/acceptance-notes.md @@ -0,0 +1,24 @@ +# Acceptance Notes + +- Adds `artifact-malware-quarantine-guard/` as an independent module. +- Keeps all inputs synthetic and local. +- Uses dependency-free Node.js logic for deterministic guard decisions. +- Covers risky, clean, and stale-scan batches with tests. +- Generates reviewer artifacts: + - `reports/risky-packet.json` + - `reports/clean-packet.json` + - `reports/stale-scan-packet.json` + - `reports/quarantine-report.md` + - `reports/summary.svg` + - `reports/demo.mp4` + +## Local Validation + +Run: + +```bash +npm run check +npm test +npm run demo +npm run demo:video +``` diff --git a/artifact-malware-quarantine-guard/demo.js b/artifact-malware-quarantine-guard/demo.js new file mode 100644 index 00000000..6fe44904 --- /dev/null +++ b/artifact-malware-quarantine-guard/demo.js @@ -0,0 +1,82 @@ +const fs = require('fs'); +const path = require('path'); + +const { assessArtifactBatch } = require('./index'); +const { riskyBatch, cleanBatch, staleScanBatch } = require('./sample-data'); + +const reportsDir = path.join(__dirname, 'reports'); +fs.mkdirSync(reportsDir, { recursive: true }); + +const packets = [ + ['risky-packet.json', assessArtifactBatch(riskyBatch)], + ['clean-packet.json', assessArtifactBatch(cleanBatch)], + ['stale-scan-packet.json', assessArtifactBatch(staleScanBatch)] +]; + +for (const [fileName, packet] of packets) { + fs.writeFileSync(path.join(reportsDir, fileName), `${JSON.stringify(packet, null, 2)}\n`); +} + +fs.writeFileSync(path.join(reportsDir, 'quarantine-report.md'), renderMarkdown(packets)); +fs.writeFileSync(path.join(reportsDir, 'summary.svg'), renderSvg(packets)); + +for (const [fileName, packet] of packets) { + console.log(`${fileName}: ${packet.status}; findings=${packet.findings.length}; digest=${packet.auditDigest.slice(0, 12)}`); +} + +function renderMarkdown(packetRows) { + const lines = [ + '# Artifact Malware Quarantine Report', + '', + '| Packet | Status | Preview | Reproduce | API | Export | Findings |', + '| --- | --- | --- | --- | --- | --- | --- |' + ]; + + for (const [fileName, packet] of packetRows) { + lines.push([ + fileName, + packet.status, + packet.releaseLanes.preview, + packet.releaseLanes.reproduce, + packet.releaseLanes.apiAccess, + packet.releaseLanes.export, + packet.findings.map((finding) => finding.code).join(', ') || 'none' + ].join(' | ').replace(/^/, '| ').replace(/$/, ' |')); + } + + lines.push(''); + lines.push('All packets use synthetic artifact records and deterministic SHA-256 audit digests.'); + return `${lines.join('\n')}\n`; +} + +function renderSvg(packetRows) { + const rows = packetRows.map(([, packet], index) => { + const y = 105 + index * 72; + const color = packet.status === 'quarantine_uploads' ? '#dc2626' : packet.status === 'hold_for_rescan' ? '#d97706' : '#16a34a'; + return ` + + + + ${escapeXml(packet.batchId)} + ${escapeXml(packet.status)} | findings ${packet.findings.length} | digest ${packet.auditDigest.slice(0, 16)} + `; + }).join(''); + + return [ + '', + ' ', + ' Artifact Malware Quarantine Guard', + ' Preview, reproduce, API, and export lanes are gated before hosted research artifacts are released.', + rows, + '', + '' + ].join('\n'); +} + +function escapeXml(value) { + return String(value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); +} diff --git a/artifact-malware-quarantine-guard/index.js b/artifact-malware-quarantine-guard/index.js new file mode 100644 index 00000000..eec990de --- /dev/null +++ b/artifact-malware-quarantine-guard/index.js @@ -0,0 +1,217 @@ +const crypto = require('crypto'); + +const DEFAULT_POLICY = { + maxScanAgeHours: 24, + maxArchiveExpansionRatio: 20, + maxArchiveDepth: 8, + maxArchiveEntries: 10000, + deniedChecksums: [], + allowedChecksums: [] +}; + +function assessArtifactBatch(batch) { + const policy = { ...DEFAULT_POLICY, ...(batch.policy || {}) }; + const findings = batch.artifacts.flatMap((artifact) => + assessArtifact(artifact, batch.now, policy) + ); + const blockerCount = findings.filter((finding) => finding.severity === 'blocker').length; + const staleScanCount = findings.filter((finding) => finding.code === 'STALE_SCAN_EVIDENCE').length; + + const packet = { + batchId: batch.batchId, + projectId: batch.projectId, + status: chooseStatus(blockerCount, staleScanCount, findings.length), + releaseLanes: chooseReleaseLanes(blockerCount, staleScanCount), + findings, + actions: buildActions(findings), + metadata: buildMetadata(batch), + fairSignals: buildFairSignals(batch, findings), + assessedAt: batch.now + }; + + packet.auditDigest = digestPacket(packet); + return packet; +} + +function assessArtifact(artifact, now, policy) { + const findings = []; + + if (policy.deniedChecksums.includes(artifact.sha256)) { + findings.push(finding(artifact, 'DENYLISTED_CHECKSUM', 'blocker', 'Artifact checksum is on the denylist.')); + } + + if (artifact.scan?.verdict === 'malicious') { + findings.push(finding( + artifact, + 'MALWARE_SIGNATURE_MATCH', + 'blocker', + `Malware scan reported ${artifact.scan.signatures?.join(', ') || 'a malicious signature'}.` + )); + } + + const scanAgeHours = ageHours(artifact.scan?.scannedAt, now); + if (scanAgeHours === null || scanAgeHours > policy.maxScanAgeHours) { + findings.push(finding(artifact, 'STALE_SCAN_EVIDENCE', 'hold', 'Scan evidence is missing or older than policy allows.')); + } + + if (artifact.archive) { + const ratio = artifact.archive.expandedBytes / Math.max(artifact.archive.compressedBytes, 1); + if ( + ratio > policy.maxArchiveExpansionRatio || + artifact.archive.entryCount > policy.maxArchiveEntries || + artifact.archive.maxDepth > policy.maxArchiveDepth + ) { + findings.push(finding( + artifact, + 'ARCHIVE_EXPANSION_BOMB', + 'blocker', + `Archive expands ${ratio.toFixed(1)}x with ${artifact.archive.entryCount} entries and depth ${artifact.archive.maxDepth}.` + )); + } + } + + if (artifact.containsMacros || /macroEnabled/i.test(artifact.declaredMime || '')) { + findings.push(finding(artifact, 'MACRO_ENABLED_SPREADSHEET', 'blocker', 'Macro-enabled spreadsheet must stay quarantined until manually reviewed.')); + } + + if (['pickle', 'joblib'].includes(String(artifact.modelFormat || '').toLowerCase())) { + findings.push(finding(artifact, 'UNSAFE_MODEL_DESERIALIZATION', 'blocker', 'Model artifact uses a deserialization format that can execute code.')); + } + + if (artifact.notebook?.embeddedScripts?.length) { + findings.push(finding(artifact, 'NOTEBOOK_EMBEDDED_SCRIPT', 'blocker', 'Notebook output contains embedded scripts that cannot be previewed safely.')); + } + + return findings; +} + +function finding(artifact, code, severity, message) { + return { + artifactId: artifact.id, + fileName: artifact.name, + code, + severity, + message + }; +} + +function ageHours(scannedAt, now) { + if (!scannedAt || !now) return null; + const scanTime = Date.parse(scannedAt); + const nowTime = Date.parse(now); + if (Number.isNaN(scanTime) || Number.isNaN(nowTime)) return null; + return Math.max(0, (nowTime - scanTime) / (60 * 60 * 1000)); +} + +function chooseStatus(blockerCount, staleScanCount, findingCount) { + if (blockerCount > 0) return 'quarantine_uploads'; + if (staleScanCount > 0) return 'hold_for_rescan'; + if (findingCount > 0) return 'release_with_warnings'; + return 'release_with_monitoring'; +} + +function chooseReleaseLanes(blockerCount, staleScanCount) { + if (blockerCount > 0) { + return { + preview: 'blocked', + reproduce: 'blocked', + apiAccess: 'blocked', + export: 'blocked' + }; + } + + if (staleScanCount > 0) { + return { + preview: 'metadata_only', + reproduce: 'blocked', + apiAccess: 'metadata_only', + export: 'blocked' + }; + } + + return { + preview: 'allowed', + reproduce: 'allowed', + apiAccess: 'allowed', + export: 'allowed' + }; +} + +function buildActions(findings) { + const actions = []; + const quarantineIds = new Set(); + const rescanIds = new Set(); + + for (const item of findings) { + if (item.severity === 'blocker') quarantineIds.add(item.artifactId); + if (item.code === 'STALE_SCAN_EVIDENCE') rescanIds.add(item.artifactId); + } + + for (const id of [...quarantineIds].sort()) actions.push(`quarantine:${id}`); + for (const id of [...rescanIds].sort()) actions.push(`request_rescan:${id}`); + + if (!actions.length) actions.push('release_with_continuous_monitoring'); + return actions; +} + +function buildMetadata(batch) { + const primary = batch.artifacts[0] || {}; + return { + dataCite: { + identifier: batch.batchId, + resourceType: inferResourceType(primary), + titles: [primary.metadata?.title || primary.name || batch.batchId], + rights: primary.metadata?.license || 'unspecified' + }, + schemaOrg: { + '@type': 'Dataset', + name: primary.metadata?.title || primary.name || batch.batchId, + encodingFormat: primary.detectedMime || primary.declaredMime || 'application/octet-stream', + keywords: primary.metadata?.keywords || [] + } + }; +} + +function inferResourceType(artifact) { + if (/parquet|csv|json|spreadsheet/i.test(`${artifact.detectedMime || ''} ${artifact.name || ''}`)) return 'Dataset'; + if (/ipynb|python|r-|julia|javascript/i.test(`${artifact.detectedMime || ''} ${artifact.name || ''}`)) return 'Software'; + if (/model|pickle|onnx|tensorflow/i.test(`${artifact.detectedMime || ''} ${artifact.name || ''}`)) return 'Model'; + return 'Research artifact'; +} + +function buildFairSignals(batch, findings) { + const blockerCount = findings.filter((item) => item.severity === 'blocker').length; + const staleScanCount = findings.filter((item) => item.code === 'STALE_SCAN_EVIDENCE').length; + const hasMetadata = batch.artifacts.some((artifact) => artifact.metadata?.license && artifact.metadata?.keywords?.length); + + return { + findable: Boolean(batch.batchId && batch.projectId), + accessible: blockerCount === 0, + interoperable: batch.artifacts.every((artifact) => Boolean(artifact.detectedMime || artifact.declaredMime)), + reusable: blockerCount === 0 && staleScanCount === 0 && hasMetadata + }; +} + +function digestPacket(packet) { + const digestSource = stableStringify({ + ...packet, + auditDigest: undefined + }); + return crypto.createHash('sha256').update(digestSource).digest('hex'); +} + +function stableStringify(value) { + if (Array.isArray(value)) return `[${value.map(stableStringify).join(',')}]`; + if (value && typeof value === 'object') { + return `{${Object.keys(value) + .filter((key) => value[key] !== undefined) + .sort() + .map((key) => `${JSON.stringify(key)}:${stableStringify(value[key])}`) + .join(',')}}`; + } + return JSON.stringify(value); +} + +module.exports = { + assessArtifactBatch +}; diff --git a/artifact-malware-quarantine-guard/make-demo-video.py b/artifact-malware-quarantine-guard/make-demo-video.py new file mode 100644 index 00000000..34f48add --- /dev/null +++ b/artifact-malware-quarantine-guard/make-demo-video.py @@ -0,0 +1,132 @@ +from pathlib import Path +import subprocess +import sys + +from PIL import Image, ImageDraw, ImageFont + + +ROOT = Path(__file__).resolve().parent +REPORTS = ROOT / "reports" +FRAMES = ROOT / "frames" + + +def load_font(size): + candidates = [ + Path("C:/Windows/Fonts/arial.ttf"), + Path("C:/Windows/Fonts/segoeui.ttf"), + Path("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"), + ] + for candidate in candidates: + if candidate.exists(): + return ImageFont.truetype(str(candidate), size=size) + return ImageFont.load_default() + + +def draw_frame(path, title, subtitle, accent, bullets): + image = Image.new("RGB", (1280, 720), "#0f172a") + draw = ImageDraw.Draw(image) + title_font = load_font(50) + subtitle_font = load_font(28) + bullet_font = load_font(25) + + draw.rectangle((0, 0, 1280, 18), fill=accent) + draw.text((70, 82), title, fill="#f8fafc", font=title_font) + draw.text((74, 156), subtitle, fill="#cbd5e1", font=subtitle_font) + + y = 244 + for bullet in bullets: + draw.rounded_rectangle((84, y + 4, 106, y + 26), radius=5, fill=accent) + draw.text((130, y), bullet, fill="#e2e8f0", font=bullet_font) + y += 64 + + draw.text((74, 656), "Synthetic data only - no network, credentials, or private artifacts", fill="#94a3b8", font=load_font(20)) + image.save(path) + + +def main(): + REPORTS.mkdir(exist_ok=True) + FRAMES.mkdir(exist_ok=True) + + slides = [ + ( + "Artifact Malware Quarantine Guard", + "Issue #14 hosting safety slice", + "#38bdf8", + [ + "Classifies uploads before preview, reproduce-run, API access, or export", + "Uses scan freshness, checksums, archive shape, macros, model formats, and notebooks", + "Emits deterministic JSON, Markdown, SVG, and audit digest evidence", + ], + ), + ( + "Risky Batch", + "Quarantine decision", + "#ef4444", + [ + "Archive expansion bomb: expansion, entries, and nesting exceed policy", + "Denylisted checksum and malicious macro spreadsheet are blocked", + "Unsafe pickle model and embedded notebook scripts block reproduce/export lanes", + ], + ), + ( + "Clean Batch", + "Release with monitoring", + "#22c55e", + [ + "Fresh clean scan evidence", + "DataCite and schema.org metadata generated for release packets", + "FAIR reusable signal is true when metadata and scan evidence are complete", + ], + ), + ( + "Stale Scan Batch", + "Metadata-only hold", + "#f59e0b", + [ + "Preview and API access are downgraded to metadata-only", + "Reproduce-run and export lanes stay blocked until rescan", + "Reviewer packet includes rescan action and SHA-256 audit digest", + ], + ), + ] + + frame_paths = [] + for index, slide in enumerate(slides): + frame_path = FRAMES / f"frame-{index:03d}.png" + draw_frame(frame_path, *slide) + frame_paths.append(frame_path) + + concat_file = FRAMES / "frames.txt" + concat_lines = [] + for frame_path in frame_paths: + concat_lines.append(f"file '{frame_path.as_posix()}'") + concat_lines.append("duration 1.5") + concat_lines.append(f"file '{frame_paths[-1].as_posix()}'") + concat_file.write_text("\n".join(concat_lines) + "\n", encoding="utf-8") + + output = REPORTS / "demo.mp4" + cmd = [ + "ffmpeg", + "-y", + "-f", + "concat", + "-safe", + "0", + "-i", + str(concat_file), + "-vf", + "fps=24,format=yuv420p", + "-movflags", + "+faststart", + str(output), + ] + subprocess.run(cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + print(f"wrote {output}") + + +if __name__ == "__main__": + try: + main() + except Exception as exc: + print(f"demo video generation failed: {exc}", file=sys.stderr) + raise diff --git a/artifact-malware-quarantine-guard/package.json b/artifact-malware-quarantine-guard/package.json new file mode 100644 index 00000000..10f3be8b --- /dev/null +++ b/artifact-malware-quarantine-guard/package.json @@ -0,0 +1,12 @@ +{ + "name": "artifact-malware-quarantine-guard", + "version": "1.0.0", + "private": true, + "type": "commonjs", + "scripts": { + "check": "node --check index.js && node --check sample-data.js && node --check test.js && node --check demo.js && python -m py_compile make-demo-video.py", + "test": "node test.js", + "demo": "node demo.js", + "demo:video": "python make-demo-video.py" + } +} diff --git a/artifact-malware-quarantine-guard/reports/clean-packet.json b/artifact-malware-quarantine-guard/reports/clean-packet.json new file mode 100644 index 00000000..5ae8cada --- /dev/null +++ b/artifact-malware-quarantine-guard/reports/clean-packet.json @@ -0,0 +1,43 @@ +{ + "batchId": "batch-clean-001", + "projectId": "project-open-dataset", + "status": "release_with_monitoring", + "releaseLanes": { + "preview": "allowed", + "reproduce": "allowed", + "apiAccess": "allowed", + "export": "allowed" + }, + "findings": [], + "actions": [ + "release_with_continuous_monitoring" + ], + "metadata": { + "dataCite": { + "identifier": "batch-clean-001", + "resourceType": "Dataset", + "titles": [ + "Normalized observation dataset" + ], + "rights": "CC-BY-4.0" + }, + "schemaOrg": { + "@type": "Dataset", + "name": "Normalized observation dataset", + "encodingFormat": "application/parquet", + "keywords": [ + "observations", + "normalized", + "parquet" + ] + } + }, + "fairSignals": { + "findable": true, + "accessible": true, + "interoperable": true, + "reusable": true + }, + "assessedAt": "2026-05-27T12:00:00Z", + "auditDigest": "dd9d0763bd9f097f7d828040f2f912e74f80fd9b6e572ed4c38082c0e117a496" +} diff --git a/artifact-malware-quarantine-guard/reports/demo.mp4 b/artifact-malware-quarantine-guard/reports/demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8e8c76099817b2bf199cf4208c2032b039257365 GIT binary patch literal 106051 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