Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
14a3283
allow networkpolicy to be a cel selector for internal/external traffi…
entlein Aug 18, 2026
e6b7fab
Allow alert from unexpected Ports, allow Port=0 as intentional wildcard
entlein Aug 18, 2026
456d267
Allow alert from unexpected Ports, allow Port=0 as intentional wildcard
entlein Aug 18, 2026
ffb22be
remove explicit wildcard, declare port as non-mandatory, keep the ale…
entlein Aug 20, 2026
283098d
feat(cel/network): serviceRef/serviceSelector/host neighbor resolution
entlein Aug 23, 2026
6f30d65
feat(cel/network): real-Flux component test, RBAC + perf fixes for se…
entlein Aug 23, 2026
7d294ca
test(component): scope the internal-egress rule to the serviceRef suite
entlein Aug 23, 2026
8d5a019
test(chart): make network service resolution a value
entlein Aug 24, 2026
369fbe6
fix(cel): invalidate cached results when a profile is re-resolved
entlein Aug 24, 2026
e240448
feat(rules): R0012 unexpected internal egress
entlein Aug 24, 2026
9537cf0
feat(rules): R0011/R0012 symmetric egress/ingress, no IP-class gate
entlein Aug 24, 2026
b9328c0
Merge remote-tracking branch 'origin/upstream-pr/portalerts' into fea…
entlein Aug 24, 2026
8a74230
Merge remote-tracking branch 'origin/upstream-pr/serviceref-network' …
entlein Aug 24, 2026
9c272fa
Merge branch 'feat/rules-internal-egress' into feat/network-v2
entlein Aug 24, 2026
9a5dca6
dedup selector engine after portalerts merge
entlein Aug 24, 2026
60962b8
pin storage to k8sstormcenter/storage@3844202a (dnsNames + deflate fi…
entlein Aug 24, 2026
70ebf6d
test(component): Test_50 asserts shipped R0011; Test_51 ingress R0012…
entlein Aug 24, 2026
20791f1
chart(kubescape-rules): standalone chart shipping the R0011/R0012 rul…
entlein Aug 24, 2026
eb2f79e
Merge branch 'feat/rules-internal-egress' into feat/network-v2
entlein Aug 24, 2026
5a17ba0
rules: consume the peer-selector engine in R0011/R0012
entlein Aug 24, 2026
4280eae
review: address maintainer blockers on network-v2
entlein Aug 25, 2026
91c6dec
fix(cel/network): label-only peer matching, empty selector fails closed
entlein Aug 25, 2026
daad334
test(networkpeer): characterize excludeNamespaces × selector resolution
entlein Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/component-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ jobs:
Test_36_MultiContainerPerContainerBinding,
Test_43_RelativeOpenPathResolution,
Test_48_MultiSubtypeGroupedProfileDocument,
Test_49_EphemeralContainerFullTreatment
Test_49_EphemeralContainerFullTreatment,
Test_50_ServiceRefNetworkNeighbor,
Test_51_ServiceRefIngressR0012
]
steps:
- name: Checkout code
Expand Down
6 changes: 6 additions & 0 deletions charts/kubescape-rules/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: kubescape-rules
description: Kubescape runtime detection rules — symmetric R0011 egress / R0012 ingress, port-aware, selector- and serviceRef-allowlisted internal traffic
type: application
version: 0.1.0
appVersion: "network-v2"
44 changes: 44 additions & 0 deletions charts/kubescape-rules/templates/binding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
apiVersion: kubescape.io/v1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chicken, please remove those here, thats the PR to rulelibrary, but add them to the tests/** folder

kind: RuntimeRuleAlertBinding
metadata:
name: all-rules-all-pods
spec:
namespaceSelector:
# exclude K8s system namespaces
matchExpressions:
- key: "kubernetes.io/metadata.name"
operator: "NotIn"
values:
- "kube-system"
- "kube-public"
- "kube-node-lease"
- "kubeconfig"
rules:
- ruleName: "Unexpected process launched"
- ruleName: "Unexpected process arguments"
- ruleName: "Files Access Anomalies in container"
- ruleName: "Syscalls Anomalies in container"
- ruleName: "Linux Capabilities Anomalies in container"
- ruleName: "DNS Anomalies in container"
- ruleName: "Unexpected service account token access"
- ruleName: "Workload uses Kubernetes API unexpectedly"
- ruleName: "Process Executed from /dev/shm"
- ruleName: "Process tries to load a kernel module"
- ruleName: "Drifted process executed"
- ruleName: "SSH Connection to Unexpected Destination on Non-Standard Port"
- ruleName: "Fileless execution detected"
- ruleName: "Crypto miner launched"
- ruleName: "Process executed from mount"
- ruleName: "Crypto Mining Related Port Communication"
- ruleName: "Crypto Mining Domain Communication"
- ruleName: "Read Environment Variables from procfs"
- ruleName: "eBPF Program Load"
- ruleName: "Soft link created over sensitive file"
- ruleName: "Unexpected Sensitive File Access"
- ruleName: "Hard link created over sensitive file"
- ruleName: "Exec to pod"
- ruleName: "Port forward to pod"
- ruleName: "Unexpected Egress Network Traffic"
- ruleName: "Unexpected Ingress Network Traffic"
- ruleName: "Unexpected Ptrace Syscall Usage"
- ruleName: "Unexpected io_uring Operation Detected"
Loading
Loading