You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d502ab3
Browse filesBrowse the repository at this point in the historyBrowse files
* add legal presets, file-based compliance artifacts
Signed-off-by: lelia <[email protected]>
* add unit test coverage for new config defaults and outputs
Signed-off-by: lelia <[email protected]>
* document legal preset flag and default artifacts
Signed-off-by: lelia <[email protected]>
* update lockfile
Signed-off-by: lelia <[email protected]>
* bump version to pass checks
Signed-off-by: lelia <[email protected]>
* update lockfile to match new version
Signed-off-by: lelia <[email protected]>
* handle missing SBOM and package data in legal artifacts
Signed-off-by: lelia <[email protected]>
* update tests to check for missing data issues
Signed-off-by: lelia <[email protected]>
* add opt-in FOSSA-compatible legal artifact mode
Signed-off-by: lelia <[email protected]>
* cover FOSSA-compatible legal outputs/sample scenarios
Signed-off-by: lelia <[email protected]>
* update README docs to include FOSSA compatibility mode
Signed-off-by: lelia <[email protected]>
* bump version for release
Signed-off-by: lelia <[email protected]>
* update uv lockfile version
Signed-off-by: lelia <[email protected]>
* fix compatibility unit tests
Signed-off-by: lelia <[email protected]>
* bump version for release
Signed-off-by: lelia <[email protected]>
* fix version check sync logic to check pypi properly
Signed-off-by: lelia <[email protected]>
* test: add FOSSA reference fixtures and parity harness
* fix: emit fossa project.id as <locator>\$<revision>
Real FOSSA artifacts use \$ as the revision separator in project.id, not
\-. Update _build_project_metadata and add two tests that pin the correct
separator and fallback behaviour.
* test: lock fossa analyze top-level keyset invariants
* fix: source vulnerability version ranges from Socket field names
* fix: emit consistent defaults for FOSSA fields with no Socket source
Adds customRiskScore: None to vulnerability entries (FOSSA samples
include this field, sometimes null). Documents all gap fields and their
defaults in the module docstring. Locks the new key in EXPECTED_VULNERABILITY_KEYS.
* feat: reshape fossa-sbom.json to 5-key attribution top-level
Replaces the 2-key {project, dependencies} shape with the real FOSSA
attribution shape: copyrightsByLicense, deepDependencies,
directDependencies, licenses, project.
The SBOM project field is now the 2-key {name, revision} subset rather
than the 6-key analyze project shape. _partition_dependencies is a stub
returning ([], []) until Tasks 7-9 fill in per-dependency entries.
* feat: build FOSSA-shape Dependency entries with attribution text
Add _build_dependency_entry and _build_dependency_licenses to produce
the 14-key per-dependency dict that matches real FOSSA attribution
output. License entries prefer licenseAttrib (full attribText + spdxExpr),
fall back to declared license string, or emit [] when unlicensed.
Also removes the stale test_fossa_attribution_payload_shape_is_stable
test, which asserted the pre-Task-6 two-key shape and was already
failing.
* feat: partition SBOM dependencies into direct and deep
* feat: compute SBOM dependencyPaths from topLevelAncestors
Replaces the stub that always returned [package.name] with real logic:
direct deps emit just their name; transitive deps emit one
"<ancestor> > <package>" chain per top-level ancestor, falling back to
name-only when ancestors are absent or not in the lookup.
* fix: write fossa-sbom.json with indent=2 for consistency
* test: assert structural parity against real FOSSA fixtures
* test: update legacy FOSSA-shape assertions for wrapper parity
Pin project.id to dollar separator, replace 2-key SBOM with 5-key
shape, and update per-dependency assertions to the 14-key
_build_dependency_entry contract.
* docs: document partialFix/completeFix collapse and otherLicenses gap
* style: apply ruff --fix to touched files
* fix: always include unchanged alerts in FOSSA output
FOSSA's /api/v2/issues endpoint returns a point-in-time snapshot of all
issues at the scan revision, not only diff-new ones. The previous
implementation only included unchanged alerts when --strict-blocking
was set, causing FOSSA-mode output to under-represent project-wide
findings compared to the typical FOSSA pipeline.
* test: sanitize customer references in FOSSA reference fixtures
Replace customer org ID and project name with generic placeholders
(1234/example-validation-project) across all four fixtures and the README.
Structural shape, key sets, value types, and per-field cardinality are
unchanged. Parity tests assert keysets only, so the substitution is
transparent to test behavior.
* docs: correct README description of FOSSA SBOM shape
The SBOM artifact now matches FOSSA's `report --json attribution`
shape with five top-level keys, not the previously documented
`project` / `dependencies` two-key payload.
---------
Signed-off-by: lelia <[email protected]>
Co-authored-by: Eric Hibbs <[email protected]>
This preset enables license generation and writes default artifacts unless you override them:
145
+
-`socket-report.json`
146
+
-`socket-summary.txt`
147
+
-`socket-report-link.txt`
148
+
-`socket-sbom.json`
149
+
-`socket-license.json`
150
+
151
+
FOSSA-compatibility shaped legal artifacts:
152
+
153
+
```bash
154
+
socketcli --legal-format fossa --target-path .
155
+
```
156
+
157
+
This switches the JSON report and legal artifact payloads to FOSSA-style compatibility shapes:
158
+
- the analyze artifact becomes a `project` / `vulnerability` / `licensing` / `quality` report
159
+
- the SBOM artifact becomes a FOSSA-attribution-style payload with `copyrightsByLicense`, `deepDependencies`, `directDependencies`, `licenses`, and `project` keys
160
+
161
+
When `--legal-format fossa` is used without explicit output paths, the defaults are closer to the FOSSA pipeline contract:
0 commit comments