Remediation trusts the audit cache regardless of framework, level, or tag filter
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Start with core/audit_cache.py and remediation/orchestrator.py, then trace how run_sieve_audit writes the cache and how [stores.cache] is configured. Check the existing cache and remediation tests. Done means cache reads reject mismatched framework or scope, filtered audits do not replace the unfiltered cache, and remediation reads from the configured store; an open linked pull request is already addressing this issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Remediation uses cached audit results without checking that the cached audit covers what it is about to remediate.
remediation/orchestrator.py reads the cache with read_audit_cache(local_path) and remediates every cached result whose status is FAIL.
core/audit_cache.py checks only the TTL, the HEAD commit, and whether the working tree is dirty. The envelope records framework and level, but the read never compares them. A tag filter (audit_openssf_baseline(tags="domain=VM")) is not recorded at all.
What goes wrong:
- A level 1 audit, a tag-filtered audit, or an audit of another framework (for example the reproducibility framework in the same checkout) leaves a cache that a later Baseline remediation treats as the full Baseline audit.
- The remediation then fixes only the subset it sees, or nothing, and reports accordingly.
run_sieve_auditalways wrote the cache, so any subset run replaced the full-audit cache. The 043 branch addswrite_cache=Falsefor its post-remediation re-check only; filtered audits still overwrite the cache.
Also: the orchestrator reads with the default cache store, ignoring an operator's [stores.cache] setting, which the audit honors when writing (feature 035).
Proposed fix:
- Record the framework, level, and tag filter in the envelope.
- Have
read_audit_cachetake the expected framework and scope, and treat a mismatch as a miss. - Don't let a filtered audit replace an unfiltered cache.
- Read through the same configured store the audit writes to.
- Ngôn ngữ chính
- Python
- Star
- 22
- Fork
- 27
- Merge trung bình
- 1 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 39
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của darnitdevorg/darnit
-
`darnit validate` crashes on openssf-baseline.toml summarising levelsCó thể đã có người làm @i-am-paradox đã nhận 2 ngày trước. Đang mởneeds triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
darnitdevorg/darnit#589 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Plugins hard-code version "0.1.0" while the packages are at 0.1.1Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởneeds triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
darnitdevorg/darnit#587 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
darnitdevorg/darnit#585 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
quality
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
darnitdevorg/darnit#523 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
framework-design.md CEL examples use '!= null', which cel-python rejectsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
darnitdevorg/darnit#516 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của darnitdevorg/darnit
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
UKGovernmentBEIS/control-arena#917 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
debpalash/VoiceStudio#2937 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
aws-samples/sample-per-model-bedrock#261 ·
Maintainer thường phản hồi trong vòng 1 ngày