-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REQ] support for app-level patching #147
Comments
@sherifkayad glad to hear copa worked to patch OS vulnerabilities! We would love to patch app/framework level vulns but I think it depends on the language. Since copa does not have access to application source code and doesn't rebuild it from source, it will not work for all cases (like Go, for example). This requires more design work on how it may or may not work for each language. This might be better fit for interpreted languages like python or javascript. This is assuming those packages can be tracked down to and pulled from repositories like npm or pypi, etc. I am not super familiar with Java dependencies, but if they can pulled from a central repo without rebuilding the app and ensure updates won't have breaking changes, than it might be possible. |
@sozercan thanks for your feedback 🙂 .. Java dependencies can be pulled / tracked from the Maven central repository (exactly the same idea like NPM). However, I think you are right with the re-compilation issue to make sure the app would work still as expected. Probably for NPM (or even Go) you have to re-compile the app anyways. Isn't that right? |
Not only would a userland application have to be recompiled, CI for the application would have to be re-run to ensure that expected behaviors of the application remained the same. Would it make sense to have Copacetic deliver a patched (but fundamentally untested) userland application? I think not, because CI tools fulfill that function for userland applications already and the variablity accross how applications are tested using those tools is just too great. The Copacetic docs should probably note that patching userland applications is out of scope for the project if it has not done so already? |
We are working on a related project called Dalec to be able to define and create applications, which can then be patched using copa. With Dalec, users can create a spec to define and create application packages, and then containers with minimal runtime dependencies. After testing and publishing the application packages and containers, and then installing via applicable package managers, copa will be able to "patch" them. Dalec is in early stages right now, any feedback is welcome! |
Java patching investigation - https://docs.google.com/document/d/1CqoGLv5sLpUIay9-jwfZgiq8DN5fGskhGe92ObR_8ao/edit?usp=sharing |
If you need a challenge when Hello World is too easy... 😅 |
What is your question?
Hey there 👋 .. First of all thanks for this great project! .. Just was curious, if there's a plan to also (maybe conditionally) support patching application specific dependencies and not only OS-level dependencies.
Some background / example context: A Spring Boot App that's running on
eclipse-temurin:17-jre-alpine
might have the list of vulnerabilties below:With
Copa
, I am so glad that I can getlibcrypto3
&libssl3
patched and hence get no base image vulnerabilties anymore. However, what about the lovelysnakeyaml
in my application? 😄 .. Despite using the latest (or maybe I could say fairly new) version of the Spring Boot framework, the upstream project didn't update the vulnerable library .. sooooThe text was updated successfully, but these errors were encountered: