To perform security scanning on external web applications that integrate with your package, here are the requirements:
1. **Scope of Testing**: Include all external endpoints that operate independently of the Salesforce platform, especially if they authenticate users or transfer Salesforce data. Use a "follow-the-data" approach to determine the testing scope.
2. **Automated Security Scanning**: Use tools to identify vulnerabilities in your solution and external endpoints. Utilize automated security scanning tools like Zed Attack Proxy (ZAP), Burp Suite, or other Dynamic Application Security Test (DAST) scanners.
3. **Route Traffic Through Scanners**: Configure your API client or browser to route traffic through the scanner tool's proxy to capture and analyze requests and responses.
4. **Perform Active Scans**: Conduct active scans to simulate attacks and identify vulnerabilities.
5. **Generate a Full Report**: After the scan, export a comprehensive report that includes the scan date, targeted endpoints, and findings.
6. **Permission**: Obtain permission from third parties if you don't own the external endpoints.
7. **Allowlisted IPs and Domains**: Follow Salesforce's IP Addresses & Domains to Allow guidelines.
8. **Control Over Endpoint**: The review can only proceed if you have control over the endpoint. For example, tools like Chimera require placing a token in the web app root, which necessitates endpoint control. Without control, the review cannot proceed.
9. **Document False Positives**: Document any false positives and address code that doesn't meet Salesforce security guidelines.
10. **Package Requirements**: Ensure your package is a Managed—Released package, as unmanaged or beta packages are not accepted.
These steps ensure compliance and readiness for the security review.