▲ | curuinor 6 days ago | ||||||||||||||||||||||
hey, this is Howon from CodeRabbit here. we wish to note that this RCE was reported and fixed in January. it was entirely prospective and no customer data was affected. we have extensive sandboxing for basically any execution of anything now, including any and every tool and all generated code of any kind under the CodeRabbit umbrella. if you want to learn how CodeRabbit does the isolation, here's a blog post about how: https://cloud.google.com/blog/products/ai-machine-learning/h... | |||||||||||||||||||||||
▲ | mpeg 6 days ago | parent | next [-] | ||||||||||||||||||||||
Where can we find the blog post you made back in January about the RCE fix explaining what measures you took to check if any customer data had been affected? | |||||||||||||||||||||||
▲ | cleverwebb 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
how do you know that no customer data was affected? did you work with github and scan all uses of your keys? how do you know if a use of your github key was authentic or not? did you check with anthroipic/openai/etc to scan logs usage? It's really hard to trust a "hey we got this guys" statement after a fuckup this big | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | thyrfa 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
How can you guarantee that nobody ripped the private key before the researcher told you about the issue though? | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | frankfrank13 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
Reading this, its not clear how your blog posts relates: 1. You run git clone inside the GCR function, so, you have at the very least a user token for the git provider 2. RCE exploit basically used the external tools, like a static analysis checker, which again, is inside your GCR function 3. As a contrived example, if I could RCE `console.log(process.env)` then seemingly I could do `fetch(mywebsite....` I get it, you can hand wave some amount of "VPC" and "sandbox" here. But, you're still executing code, explicitly labeling it "untrusted" and "sandboxed" doesn't excuse it. | |||||||||||||||||||||||
▲ | progbits 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
> no customer data was affected Someone could have taken the private github key and cloned your customers' private repos. You would need to audit every single access to github made via your app since the beginning and link it somehow to your side. Did you do this? | |||||||||||||||||||||||
▲ | yunohn 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
While I fully understand that things sometimes get missed, it just seems really bizarre to me that somehow “sandboxing/isolation” was never considered prior to this incident. To me, it feels like the first thing to implement in a system that is explicitly built to run third party untrusted code? | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | elpakal 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
> Sandboxing: All Cloud Run instances are sandboxed with two layers of sandboxing and can be configured to have minimal IAM permissions via dedicated service identity. In addition, CodeRabbit is leveraging Cloud Run's second generation execution environment, a microVM providing full Linux cgroup functionality. Within each Cloud Run instance, CodeRabbit uses Jailkit to create isolated processes and cgroups to further restrict the privileges of the jailed process. In case you don't want to read through the PR | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | KingOfCoders 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
The chuzpe to use this as PR. | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | tadfisher 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
But do you still store your GH API private key in environment variables? | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | smsm42 6 days ago | parent | prev | next [-] | ||||||||||||||||||||||
The word "now" here is kinda worrying tbh. How was it a good idea to release and sell this product before it has been the case? | |||||||||||||||||||||||
▲ | jsbg 6 days ago | parent | prev [-] | ||||||||||||||||||||||
wild to comment this |