-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Extension maturity checklist #12962
Comments
This sounds like a great initial list to me. Should we codify this somewhere in the repo and iterate? |
I, naively, wonder how much of this type of audits could be codified in linters instead of relying solely on the eyes of the sec team. |
On that note, I'm working on a local refactor for the generic HTTP filters, so that the class framework only takes in a filter and then encodes/decodes the HTTP message, without any mock construction unless you specify it. I want to make the interface the library exposes easier for single-fuzz targets to adopt and extend. I'll be following the refactor with a dedicated ext_authz target. |
@junr03 yes, good point, some of this should just be code format or CodeQL checks, but other parts are more subjective, e.g. "is this a scary parser?". |
RE "memcpy" it should rarely be needed (and could be excluded with a check_format rule), and instead use |
Fixes envoyproxy#12962. Signed-off-by: Harvey Tuch <htuch@google.com>
Fixes #12962. Signed-off-by: Harvey Tuch <htuch@google.com>
While we now have explicit extension security postures, there is no systematic way to govern how extensions are promoted from untrusted to trusted, i.e. when they are considered robust to downstream or upstream; we generally rely on Envoy maintainer intuition and burn time. We should probably have a checklist providing guidelines on how this can be done in a consistent way.
Some ideas:
memcpy
, does it have gnarly parsing code, etc?CODEOWNERS
who are willing to vouch for the robustness of the extension?Thoughts on any others? CC @envoyproxy/security-team
The text was updated successfully, but these errors were encountered: