Deferred from #586: graph-link pruning + ga_standards filtering for per-user resource selection

Đang mở
#1,043 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@skypank-coder đang làm issue này rồi.

Từ ngày 8/9/2026.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
45/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python

Hướng nghiên cứu

Bắt đầu với các điểm vào /rest/v1/standards và /rest/v1/ga_standards, sau đó lần theo việc lọc trong các chế độ xem đồ thị root_cres, text_search và find_cre cùng các lệnh gọi frontend tương ứng. Xem xét bypass ?all=true hiện có và quyết định liệu các standards đã lọc có ẩn các liên kết hoặc nút hay không. Hoàn tất nghĩa là hành vi liên kết đồ thị được triển khai và các yêu cầu GA truyền ?all=true khi chúng phải bao quát tất cả các standards đủ điều kiện.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

not ready for development untriaged

Follow-up to #586 (per-user resource selection), tracking the two pieces deliberately
deferred from that work so the core loop could land first. Confirmed with @northdpole as
out of scope for #586 and appropriate as a separate follow-up.

1. Graph-link pruning on CRE pages

Server-side filtering currently applies to the standards list (/rest/v1/standards).
It does NOT prune non-selected standards from the links shown on an individual CRE page —
so a user who filters out (say) SAMM still sees SAMM links when they open a CRE. Decide and
implement whether a user's selection should also prune standard-links off CRE nodes in the
graph views (root_cres / text_search / find_cre), and how (hide the link vs. hide the
node). Flagged as a UX-sensitive call — easy to surprise people on a CRE page.

2. ga_standards filtering + paired frontend bypass

/rest/v1/ga_standards feeds the gap-analysis dropdowns. Filtering it by a user's saved
selection would narrow the GA inputs, so it was left out of the server-side filter PR to
avoid silently shrinking the dropdowns. Completing it needs the server-side filter plus
the paired frontend change to pass ?all=true where GA should span all eligible standards.

Context

Core #586 loop is complete and merged: user + selection persistence, GET/PUT
/rest/v1/user/resources, /rest/v1/standards server-side filter (?all=true bypass), the
MyOpenCRE selection UI, and the concurrency-safe write with the OpenCRE-always-included
invariant. This issue tracks only the two deferred extensions above.

Ngôn ngữ chính
Python
Star
210
Fork
167
Merge trung bình
4 ngày 12 giờ
Pull request đã merge (30 ngày)
28

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của OWASP/OpenCRE

Tất cả issue của OWASP/OpenCRE

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.