Harden plugin assignment override narrowing #3105
No reviewers
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar!3105
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refs/pull/3105/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub pull request.
Original GitHub pull request: #3107
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/3107
Original created: 2026-03-31T03:32:27Z
Original updated: 2026-03-31T03:39:20Z
Original head: carverauto/serviceradar:claude/security-scan
Original base: staging
Original merged: 2026-03-31T03:33:03Z by @mfreeman451
IMPORTANT: Please sign the Developer Certificate of Origin
Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include
a DCO sign-off statement indicating the DCO acceptance in one commit message. Here
is an example DCO Signed-off-by line in a commit message:
Describe your changes
Issue ticket number and link
Code checklist before requesting a review
Imported GitHub PR review comment.
Original author: @Copilot
Original URL: https://github.com/carverauto/serviceradar/pull/3107#discussion_r3013311121
Original created: 2026-03-31T03:39:20Z
Original path: elixir/serviceradar_core/lib/serviceradar/edge/agent_config_generator.ex
Original line: 481
narrow_string_scope/2currently narrows by exact string intersection (Enum.filter(base, member?(override))). This breaks legitimate narrowing when the manifest uses wildcard domain patterns (e.g."*","*.svc.local", which the Go agent treats specially) or when narrowing CIDR networks to more-specific prefixes (e.g. base10.0.0.0/16-> override10.0.0.0/24). In those cases the intersection can incorrectly return[](deny-all) even though the override is a valid subset of what the manifest allows.Consider implementing subset checking consistent with the agent semantics: for domains, treat
"*"/"*.suffix"in the base as patterns and keep override entries that match those patterns; for networks, parse prefixes and keep override prefixes contained within any base prefix. That preserves the “cannot widen” guarantee without requiring exact string equality.