github-security-report 0.8.0__tar.gz → 0.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {github_security_report-0.8.0 → github_security_report-0.9.0}/PKG-INFO +3 -3
- {github_security_report-0.8.0 → github_security_report-0.9.0}/pyproject.toml +3 -3
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/_version.py +2 -2
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/categories.py +15 -7
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/severity.py +14 -9
- {github_security_report-0.8.0 → github_security_report-0.9.0}/.gitignore +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/LICENSE +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/LICENSES/Apache-2.0.txt +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/README.md +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/scripts/README.md +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/__init__.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/classify.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/cli.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/client.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/collect.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/config.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/gating.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/gitctx.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/models.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/posture.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/py.typed +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/remediate.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/render/__init__.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/render/html.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/render/markdown.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/render/slack.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/render/terminal.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/report.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/rulesets.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/runner.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/scope.py +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/templates/index.html.j2 +0 -0
- {github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/templates/report.html.j2 +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-security-report
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Security and quality reporting across GitHub organisations
|
|
5
5
|
Project-URL: Homepage, https://github.com/lfreleng-actions/github-security-report-action
|
|
6
6
|
Project-URL: Repository, https://github.com/lfreleng-actions/github-security-report-action
|
|
@@ -29,14 +29,14 @@ Requires-Dist: jinja2==3.1.6
|
|
|
29
29
|
Requires-Dist: jsonschema==4.26.0
|
|
30
30
|
Requires-Dist: pyyaml==6.0.3
|
|
31
31
|
Requires-Dist: rich==15.0.0
|
|
32
|
-
Requires-Dist: typer==0.
|
|
32
|
+
Requires-Dist: typer==0.27.0
|
|
33
33
|
Provides-Extra: dev
|
|
34
34
|
Requires-Dist: mypy==2.3.0; extra == 'dev'
|
|
35
35
|
Requires-Dist: pytest-asyncio==1.4.0; extra == 'dev'
|
|
36
36
|
Requires-Dist: pytest-cov==7.1.0; extra == 'dev'
|
|
37
37
|
Requires-Dist: pytest==9.1.1; extra == 'dev'
|
|
38
38
|
Requires-Dist: respx==0.23.1; extra == 'dev'
|
|
39
|
-
Requires-Dist: ruff==0.15.
|
|
39
|
+
Requires-Dist: ruff==0.15.22; extra == 'dev'
|
|
40
40
|
Requires-Dist: syrupy==5.5.3; extra == 'dev'
|
|
41
41
|
Requires-Dist: types-jsonschema==4.26.0.20260518; extra == 'dev'
|
|
42
42
|
Requires-Dist: types-pyyaml==6.0.12.20250915; extra == 'dev'
|
|
@@ -45,7 +45,7 @@ keywords = [
|
|
|
45
45
|
]
|
|
46
46
|
dependencies = [
|
|
47
47
|
"httpx[http2]==0.28.1",
|
|
48
|
-
"typer==0.
|
|
48
|
+
"typer==0.27.0",
|
|
49
49
|
"rich==15.0.0",
|
|
50
50
|
"jinja2==3.1.6",
|
|
51
51
|
"jsonschema==4.26.0",
|
|
@@ -65,7 +65,7 @@ dev = [
|
|
|
65
65
|
"respx==0.23.1",
|
|
66
66
|
"syrupy==5.5.3",
|
|
67
67
|
"mypy==2.3.0",
|
|
68
|
-
"ruff==0.15.
|
|
68
|
+
"ruff==0.15.22",
|
|
69
69
|
"types-jsonschema==4.26.0.20260518",
|
|
70
70
|
"types-PyYAML==6.0.12.20250915",
|
|
71
71
|
]
|
|
@@ -97,7 +97,7 @@ dev = [
|
|
|
97
97
|
"respx==0.23.1",
|
|
98
98
|
"syrupy==5.5.3",
|
|
99
99
|
"mypy==2.3.0",
|
|
100
|
-
"ruff==0.15.
|
|
100
|
+
"ruff==0.15.22",
|
|
101
101
|
"types-jsonschema==4.26.0.20260518",
|
|
102
102
|
"types-PyYAML==6.0.12.20250915",
|
|
103
103
|
]
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/_version.py
RENAMED
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0,
|
|
21
|
+
__version__ = version = '0.9.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 9, 0)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -67,9 +67,9 @@ class CategoryMeta:
|
|
|
67
67
|
# A repository fails (appears as an offender) only when it carries a finding
|
|
68
68
|
# at or above this rung; findings below it fold into the clean count. The
|
|
69
69
|
# global default is MEDIUM, so Low and Informational findings pass; a
|
|
70
|
-
# category may lower it (Zizmor uses
|
|
71
|
-
# Meaningful only for the severity-ranked signals; binary
|
|
72
|
-
# it. Overridable per category via the JSON config.
|
|
70
|
+
# category may lower it (Zizmor uses INFORMATIONAL, so every finding
|
|
71
|
+
# counts). Meaningful only for the severity-ranked signals; binary
|
|
72
|
+
# categories ignore it. Overridable per category via the JSON config.
|
|
73
73
|
fail_severity: Severity = Severity.MEDIUM
|
|
74
74
|
|
|
75
75
|
|
|
@@ -106,10 +106,18 @@ _CATEGORIES: dict[CategoryKey, CategoryMeta] = {
|
|
|
106
106
|
"Zizmor static analysis of GitHub Actions workflows, ranked "
|
|
107
107
|
"worst-first by severity."
|
|
108
108
|
),
|
|
109
|
-
#
|
|
110
|
-
#
|
|
111
|
-
#
|
|
112
|
-
|
|
109
|
+
# The organisation scan pipeline runs zizmor with an
|
|
110
|
+
# 'informational' floor, so every finding it can report reaches the
|
|
111
|
+
# SARIF. Match that here: any zizmor finding counts, at any
|
|
112
|
+
# severity. This mirrors the ruleset-enforced PR gate, which blocks
|
|
113
|
+
# on any finding regardless of level.
|
|
114
|
+
#
|
|
115
|
+
# zizmor emits both Low and Informational findings at SARIF level
|
|
116
|
+
# "note", and the code-scanning alerts API exposes only that level
|
|
117
|
+
# (not zizmor's own severity property), so the two are
|
|
118
|
+
# indistinguishable here. Cutting at INFORMATIONAL sidesteps the
|
|
119
|
+
# ambiguity: both surface either way.
|
|
120
|
+
fail_severity=Severity.INFORMATIONAL,
|
|
113
121
|
),
|
|
114
122
|
CategoryKey.AISLOP: CategoryMeta(
|
|
115
123
|
key=CategoryKey.AISLOP,
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/severity.py
RENAMED
|
@@ -19,10 +19,13 @@ directly.
|
|
|
19
19
|
The ``note`` mapping mirrors zizmor's own SARIF encoder, which emits both its
|
|
20
20
|
Low and Informational findings at SARIF level ``note`` (Medium -> ``warning``,
|
|
21
21
|
High -> ``error``). The organisation scan pipeline runs zizmor with
|
|
22
|
-
``--min-severity
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
``--min-severity informational``, so both tiers reach the uploaded SARIF and a
|
|
23
|
+
``note`` alert may be either. The code-scanning alerts API exposes only the
|
|
24
|
+
SARIF level -- not the ``zizmor/severity`` property carried in the raw SARIF --
|
|
25
|
+
so the two cannot be separated here. ``note`` therefore stays at LOW rather
|
|
26
|
+
than INFORMATIONAL, which errs towards over- rather than under-stating the
|
|
27
|
+
estate's posture; the zizmor category cuts at INFORMATIONAL (see
|
|
28
|
+
``categories.py``) so both tiers are reported regardless of where this maps.
|
|
26
29
|
"""
|
|
27
30
|
|
|
28
31
|
from __future__ import annotations
|
|
@@ -59,11 +62,13 @@ _SECURITY_NAMES: dict[str, Severity] = {
|
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
# SARIF level -> security scale, used only as a fallback (zizmor, aislop).
|
|
62
|
-
# zizmor's SARIF encoder emits Low AND Informational findings as ``note``,
|
|
63
|
-
# the scan pipeline's --min-severity
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
#
|
|
65
|
+
# zizmor's SARIF encoder emits Low AND Informational findings as ``note``, and
|
|
66
|
+
# the scan pipeline's --min-severity informational floor lets both through, so
|
|
67
|
+
# a ``note`` alert may be either tier. The alerts API does not expose zizmor's
|
|
68
|
+
# own severity property, so they are indistinguishable here; ``note`` maps to
|
|
69
|
+
# LOW to avoid under-stating, and the zizmor category's INFORMATIONAL cutoff
|
|
70
|
+
# ensures both are reported. aislop uses the same three levels. The rare
|
|
71
|
+
# ``none`` level stays at INFORMATIONAL.
|
|
67
72
|
_SARIF_LEVEL_NAMES: dict[str, Severity] = {
|
|
68
73
|
"error": Severity.HIGH,
|
|
69
74
|
"warning": Severity.MEDIUM,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/__init__.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/classify.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/cli.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/client.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/collect.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/config.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/gating.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/gitctx.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/models.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/posture.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/report.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/rulesets.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/runner.py
RENAMED
|
File without changes
|
{github_security_report-0.8.0 → github_security_report-0.9.0}/src/github_security_report/scope.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|