aquasecurity / aquasecurity/tracee
Add ability to capture multiple files with send_bin in one event
- Dominant language
- Go
- Stars
- 4.6k
- Forks
- 507
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 9
Description
The problem:
We are not able to capture multiple file originating from the same syscall/lsm hook.
The cause:
At the moment send_bin is used as a tail call because of size limitation of the per cpu buffer. Because the size is too small to actually capture any real data we are forced to loop multiple times - and by that cross the BPF instruction limitations.
We bypass that by using tail calls - we enables us 32 more time the maximum instruction limit.
The solution:
Ideally we want to use send_bin as a normal function and not as a tail call. If the chuck size was bigger and the instruction count would be lower and we wouldn't need tail calls.
Contributor guide
Research direction
Start by tracing the send_bin path used from syscall/LSM hooks, including its per-CPU buffer handling and tail-call loop. Determine whether a larger chunk size can make send_bin a normal function without exceeding BPF instruction limits. Done means one event can capture multiple originating files without relying on repeated tail calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- operating-systems, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100