Skip to content

feat: Add malware scanning and scan-before-pack support - #944

Open
yeshwanthkai wants to merge 5 commits into
masterfrom
malwareScan
Open

yeshwanthkai wants to merge 5 commits into
masterfrom
malwareScan

Conversation

@yeshwanthkai

@yeshwanthkai yeshwanthkai commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Description

  1. Added aio app scan which just performs malware scanning on the app.
  2. Defaulted aio app pack to use scan before packing the app.
  3. Provided a --no-scan flag to aio app pack for the user to skip scanning and proceed with packing the app.
  4. Extracted the common packing code to pack-helper

Related Issue

Motivation and Context

It is to enable malware scanning for ISV apps and to make the scan results available for the user in CLI itself.

How Has This Been Tested?

I linked the local app plugin repo to my aio and tested the aio app scan and aio app pack on both stage and production environments.
Unit tests have also been added for the new changes.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@codecov

codecov Bot commented Nov 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread src/commands/app/scan.js Outdated
const url = new URL(reportUrl, `${deployServiceUrl}/`).href
aioLogger.debug(`Downloading scan report from ${url}`)
let report = await this.request(url, options, [200, 503])
while (report.status === 503) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we also send 429 from DeployService if there are too many requests? What are current limits?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently, rate limiting is not set on deploy service side, but if DD returns 429, we will forward the same to the CLI. They had not mentioned 429 for the downloadReport API though. I will include 429 also in this status list

Comment thread src/commands/app/scan.js Resolved
Comment thread src/commands/app/scan.js Resolved
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.

2 participants