feat(cel): was_path_opened* CEL helpers in applicationprofile library#811
feat(cel): was_path_opened* CEL helpers in applicationprofile library#811entlein wants to merge 1 commit into
Conversation
Signed-off-by: entlein <einentlein@gmail.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review Collective re-review request after applying your atomic-split advisory + rabbit-feedback fixes across the full SBOB upstream PR set. Each PR is now scoped to a single tier per your dependency map: Tier 0 (opens):
Tier 2 (execs):
Tier 3 (network):
Tier 4 (tamper/sign):
Umbrellas:
Please confirm atomicity per your earlier advisory and flag any remaining cross-PR coupling we missed. |
🧩 Analysis chain🏁 Script executed: Length of output: 1979 🏁 Script executed: Length of output: 29788
One soft compile-time coupling to flag: Triggering a full review now. Findings follow below. Review findings1.
|
| This PR → | Coupling type | Safe to merge independently? |
|---|---|---|
kubescape/storage#323 |
Soft compile-time (field shapes on cp.Opens) |
✅ Yes, provided field names are stable |
kubescape/node-agent#805 (exec) |
None | ✅ |
kubescape/node-agent#807 (R0040) |
None | ✅ |
kubescape/node-agent#812 (ExecsByPath) |
None | ✅ |
kubescape/node-agent#806 (network CEL) |
None | ✅ |
kubescape/node-agent#808/809 (tamper/sign) |
None | ✅ |
Summary: PR #811 is atomic and correctly placed at Tier 0. The three substantive items above (silent flag degradation, cost overestimate, and future flag validation) are all containable within this PR without touching any other tier.
✅ Actions performed
Review triggered.
Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
Layer 1 (path opens) — adds the four
was_path_opened*CEL helpers to the applicationprofile library so rule authors can express open-event matching against the projected profile.CEL surface added
ap.was_path_opened(containerID, path)ap.was_path_opened_with_flags(containerID, path, flags)flagswere seenap.was_path_opened_with_suffix(containerID, suffix)suffixap.was_path_opened_with_prefix(containerID, prefix)prefixAll four route through
pkg/rulemanager/cel/libraries/applicationprofile/open.go. The flags variant accepts a[]stringso rules can scope to e.g.["O_RDWR", "O_CREAT"]. Cost-estimator entries are added inap.goalongside the existing helper costs.Dependencies
None on the node-agent side. Layer 1 — Tier 0 in the dependency advisory CodeRabbit posted on
kubescape/storage#323. Companion to storage'sanalyze_opens.goanchored-*bugfix.Tests
Unit coverage for each helper in
open_test.go. Suite-level integration tests inintegration_test.goexercising one open-event call per helper, including thewas_path_opened_with_flagstest case that demonstrates flag-list parsing.