
SKannothu143902 (Community Member) asked a question.
Can you help me with a query on Veracode sand box. We have a few applications, with multiple sub applications under them. Each of these sub applications has to be scanned separately. How to organize these applications and sub applications for better organizing the reports.
For this case, is it good approach to have "Veracode application profile" created for the applications and sandboxes created for sub components. Is this a recommended solution?
Is there any expiry for veracode sandbox?
.png)
Hello @SKannothu143902 (Community Member) ,
I would recommend reading the Veracode blog How do you organize application profiles? which has some great tips and an article on what to consider when creating an application profile.
In regards to the expiration of a sandbox, there is a Help Center Article on Understanding Veracode Rules for Data Retention and Archiving, with Veracode retaining sandbox scan results according to the time-to-live setting for the sandbox.
Jason
Veracode Support Engineer
To supplement what Jason wrote...
I view this as a bit tricky, because of licensing. Each application requires a license be bought/paid for, so it might be best to talk with your sales or technical account manager to determine whether your sub-applications are indeed applications under the terms of the licensing. I know there is a concept of a "small application" that is charged differently (for things like microservices, etc.)
If they are not, I would suggest that they should be uploaded as part of common payload containing all the entry points, as there really isn't a concept of "sub-applications" in the Veracode Platform at this time. I do believe there are ways to "group" top-level Applications for reporting purposes though (but we only have 1 application, so this is not something I've used).
As far as I can tell, Sandboxes are really intended for developers to upload "works in progress" (i.e. a private branch) of their work before submitting it to a main branch, or for your build server to push versions from different branches.
It's also important to note that you can only really perform "dynamic scans" and "manual penetration tests" against "policy" -- which means that Sandboxes are only effective for static scans. While you can easily ask the "dynamic scanner" to scan different URLs, you can only bind each scan to one application. So, if you have different "applications" with different URLs, you really need different "Applications" within the Veracode Platform.
@SKannothu143902 (Community Member) The Application Profile model on Veracode is dated and not designed for modern distributed applications/systems or shared private components. I have been told they are working on a new model for profiles that will better align with these needs. Sandboxes would not be the right approach for this in my opinion they are designed to test code changes and uploads before having them impact policy and reporting.
The best approach for this I have found is using a team, business unit, application tag, or custom field as a filter in data analytics to export what I need, but you can't get a nice report consolidated pdf report that way. You can also try using another system like DefectDojo or RiskSense to perform the appropriate aggregation.
I agree this is a tricky question to answer for several noted reasons above:
If these are some of the same thoughts that you are wrestling with, then you are in a good space - because you are thinking of how to position your usage of the platform for legacy and modern application development practices.
There is a great reference document that was built last year to cover some of these use cases. You can find that reference document entitled "Static Analysis Reference Architecture: Best Practices for Pipeline Scan, Sandboxes, Application Profiles and Microservices" . I highly recommend reading this document before you begin.
The path/strategy that I've started down is the following:
Parting thoughts:
Hope that helps and thank you for asking within this Community.