Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Remediation trusts the audit cache regardless of framework, level, or tag filter

Aperta
#542 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Marc-cn ci sta già lavorando.

Dal 3/10/2026.

  • #549 di @Marc-cn — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python
Ambito
tooling

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

module-baseline module-core needs triage quality

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_audit always wrote the cache, so any subset run replaced the full-audit cache. The 043 branch adds write_cache=False for 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_cache take 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.
Lingua principale
Python
Stelle
22
Fork
27
Merge medio
1g 19h
PR unite (30g)
39

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di darnitdevorg/darnit

Tutte le issue di darnitdevorg/darnit

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.