Skip to content

feat: add Echo OSV language strategy (pip/npm/maven)#3526

Open
LaizaAngrest wants to merge 2 commits into
anchore:mainfrom
LaizaAngrest:add-echo-osv-language-transformer
Open

feat: add Echo OSV language strategy (pip/npm/maven)#3526
LaizaAngrest wants to merge 2 commits into
anchore:mainfrom
LaizaAngrest:add-echo-osv-language-transformer

Conversation

@LaizaAngrest

Copy link
Copy Markdown

Adds an echo strategy to the OSV transformer for Echo's language-package advisories (Echo:PyPi / Echo:npm / Echo:Maven), emitting NAK/unaffected records keyed by the upstream package name.

Echo keeps upstream names (no prefix), so suppression is scoped by a new Echo package qualifier (schema 6.1.8) that fires only when the scanned package carries the +echo.N version suffix — preventing the open-ended unaffected range from leaking onto plain upstream versions.

Consumes the echo-osv vunnel provider (anchore/vunnel#1174).

Adds an echo strategy to the OSV transformer for Echo's language-package
advisories (Echo:PyPi / Echo:npm / Echo:Maven), emitting NAK/unaffected
records keyed by the upstream package name.

Echo keeps upstream names (no prefix), so suppression is scoped by a new
Echo package qualifier (schema 6.1.8) that fires only when the scanned
package carries the +echo.N version suffix — preventing the open-ended
unaffected range from leaking onto plain upstream versions.

Consumes the echo-osv vunnel provider (anchore/vunnel#1174).

Signed-off-by: Laiza Angrest <laiza.angrest@echo.ai>
npm follows SemVer, which excludes build metadata from precedence, so
3.1.9+echo.1 and 3.1.9+echo.2 compare equal and a NAK fixed at +echo.2
would also suppress the still-vulnerable +echo.1 build. Add an
echo-aware version format (semantic ordering with a +echo.N tie-break)
and use it only when evaluating unaffected records for Echo builds.
Disclosures keep default semantics: upstream advisories written against
upstream versions must keep treating X+echo.N as X.

Signed-off-by: Laiza Angrest <laiza.angrest@echo.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant