-
Notifications
You must be signed in to change notification settings - Fork 107
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
Profile Recorder: Add bpf_d_path
implementation and hook mkdir, mknod, unlink.
#2611
base: main
Are you sure you want to change the base?
Conversation
this otherwise generates a wall of text that hides compiler errors
for example, `ARGS='-run "TestSpoc/record/AppArmor/directories"'` can be used to only run a particular test
this works around bpf limitations where bpf_d_path is unavailable in some hooks and also does not take stack-allocated path objects additionally, add mknod and unlink hooks
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mhils The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @mhils. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
bpf_d_path
implementation and hook mkdir, mknod, unlink.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2611 +/- ##
==========================================
- Coverage 45.50% 41.38% -4.12%
==========================================
Files 79 109 +30
Lines 7782 18239 +10457
==========================================
+ Hits 3541 7549 +4008
- Misses 4099 10191 +6092
- Partials 142 499 +357 |
It seems that the entire overlay filesystem is added to the profile https://github.com/kubernetes-sigs/security-profiles-operator/actions/runs/12261338471/job/34208338061?pr=2611#step:8:170. We need to filter out all these file permissions since is not required in the apaprmor profile. |
I think we need to filter out the bootstraping and init phases of the container. As far as I know the I am think maybe is possible to filter out all resource associated with runc command. There is already this filter for syscalls
|
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR adds a custom
bpf_d_path
implementation that can be used in eBPF hooks that are not allowlisted to actually usebpf_d_path
. We then use this to hookmkdir
,mknod
, andunlink
to create more comprehensive AppArmor profiles.Which issue(s) this PR fixes:
None
Does this PR have test?
Yes
Special notes for your reviewer:
supersedes #2608
Does this PR introduce a user-facing change?