Skip to content

Feat/attachment malware scanning - #1310

Open
jjavieralv wants to merge 2 commits into
mainfrom
feat/attachment-malware-scanning
Open

Feat/attachment malware scanning#1310
jjavieralv wants to merge 2 commits into
mainfrom
feat/attachment-malware-scanning

Conversation

@jjavieralv

Copy link
Copy Markdown
Contributor

Description

Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List
any dependencies that are required for this change.

Type of Change

  • Major: Breaking change (change that would cause existing functionality to not work as expected)
  • Minor: Feature (non-breaking change which adds new functionality)
  • Patch: Enhancement (non-breaking change to an existing feature)
  • Patch: Bug fix (non-breaking change which fixes an issue)

Developer Checklist:

  • Manually smoke tested the functionality in a preview or locally
  • Confirmed there are no new warnings or errors in the browser console
  • (For User Stories only) Double-checked that all Acceptance Criteria are satisfied
  • Confirmed there are no new warnings on automated tests
  • Merged and published any dependent changes in downstream modules
  • Selected the correct base branch
  • Commented the code in hard-to-understand areas
  • Followed the code style guidelines of this project
  • Reviewed that the Files Changed in Github’s UI reflect my intended changes
  • Confirmed the pipeline checks are not failing

Review Checklist:

  • (For User Stories only) Tested in a preview or locally that all Acceptance Criteria are satisfied
  • Confirmed that changes follow the code style guidelines of this project

/files/confirm now scans every confirmed upload after the magic-byte gate
and before the file is queued: a flagged file has its blob deleted and its
slot released, so it never reaches the session queue, the Linear ticket or
the support team, and the widget shows "Malicious code detected".

Scanning goes through a new IMalwareScanner seam over the
file-malware-scanner Cloudflare worker (VirusTotal + Claude, /v1/scan).
Each engine has its own policy — off (ignored), optional (only a positive
detection blocks) or mandatory (a missing verdict blocks too, as a
retriable scan_unavailable) — defaulting to Claude mandatory and
VirusTotal optional, since VirusTotal's free tier rate-limits at 4 req/min
and knows no hash for freshly created files. The feature is behind a
master switch (off in production until validated on dev/preview) and every
setting has an ASSISTANT_MALWARE_SCAN_* env override.
The three findings are the public contract address 0x0bA45A8b... used as a
test fixture in variables named `token`; gitleaks reads it as a generic API
key. Same finding already baselined for permissionsList.test.tsx under its
pre-monorepo path — re-fingerprinted after the move to apps/app. Blocks
every new branch push until baselined.
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🚀 Preview Deployment: View Here
🤖 Assistant Preview: View Here (app preview points at it)

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

E2E results (preview)

Smoke

Base URL https://app-next-j0i9g15an-aragon-app.vercel.app
Suite smoke
Playwright result ✅ passed
Summary 82 passed
HTML report View report
GitHub job ✅ completed

View run #4917

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant