Render a patch's vulnerability labels through one ui helper: scan, get and list each write the CVE-else-advisory rule, and their order, dedup and severity case drifted
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 58/100
Piste de recherche
Read ui/mod.rs and the referenced helpers in scan/render.rs, get.rs, and list.rs to trace the current label, ordering, deduplication, and severity behavior. Update the render byte tests in scan/render.rs and tests/cli/list_render.rs, and add a unit test for a CVE shared by two advisories. Done means all three commands use the shared UI helpers and the acceptance criteria pass.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register comment.
Kind: refactor. Register ID: T28 (its JSON sibling is T02, #1836; its severity sibling is T10).
Problem
The human label of a vulnerability follows one rule: its CVE ids sorted, otherwise the advisory id. That rule is written four times:
- scan: scan/render.rs
vuln_labelL385-L393,`` sorted worst-severity-first bysorted_vulnsL371-L381; - get: get.rs L372-L382, the same body;
- get again:
vuln_labelsL222-L236, which flattens and dedups; - list: list.rs L284-L288, which prints the advisory id with its CVEs in parentheses, unsorted, and sanitized.
The copies have drifted (verified by reading):
- Order. scan orders the
Fixes:list by severity; get orders it by label. - Dedup. scan doesn't dedup, so a CVE shared by two advisories prints twice; get dedups.
- Severity label. get prints it uppercased (get.rs L289). scan's preview prints the raw API label through
ui::severity, which passes unknown labels through unchanged. scan's policy line prints core's canonicalseverity_name, so "medium" appears where the API said "moderate" (policy.rs L752). - Sanitizing. Only list filters the API text (T23).
Proposed change
- Add
ui::vuln_labels(&HashMap<String, VulnerabilityResponse>) -> Vec<String>: CVEs else the id, deduped, in one documented order. - Add one
ui::severity_label(&str)that uses core'sseverity_name. - scan, get and list call these helpers. Delete
render::vuln_label/sorted_vulns, get's two copies and list's inline format.
Size
4 files (ui/mod.rs, scan/render.rs, get.rs, list.rs). Roughly −50 / +25.
Acceptance criteria
- The render byte tests in
scan/render.rsandtests/cli/list_render.rsare updated deliberately, once, to the chosen order and case. - A new unit test shows a CVE shared by two advisories printed once.
- No CLI file keeps its own CVE-else-id closure.
- Langage dominant
- Rust
- Étoiles
- 8
- Forks
- 2
- Merge moyen
- 18 h 47 min
- PR mergées (30 j)
- 637
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de SocketDev/socket-patch
-
agent:triaged arch-audit priority:p3 refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
SocketDev/socket-patch#1860 ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged arch-audit priority:p3 refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
SocketDev/socket-patch#1838 ·
Les mainteneurs répondent en général sous 1 jour
-
arch-audit refactor
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
SocketDev/socket-patch#1987 ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged arch-audit priority:p3 refactor
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
SocketDev/socket-patch#1983 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged arch-audit bug priority:p3
Difficulté 3/5 Une demi-journée Accessibilité débutants 55/100
SocketDev/socket-patch#1982 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de SocketDev/socket-patch
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
libnativeapi/nativeapi#21 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
longbridge/nsh#804 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour