Skip to content

Commit 1620cfe

Browse files
committed
📝 Update security
* Add references to Securing the release workflow, zizmor and 2FA * Add anchor for GitHub Actions
1 parent 034d37e commit 1620cfe

2 files changed

Lines changed: 32 additions & 42 deletions

File tree

docs/productive/envs/uv/cicd.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ Line 23
4646
* `Using uv in GitLab CI/CD
4747
<https://docs.astral.sh/uv/guides/integration/gitlab/>`_
4848

49+
.. _github-actions:
50+
4951
GitHub Actions
5052
--------------
5153

docs/productive/security.rst

Lines changed: 30 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,18 @@
55
Security
66
========
77

8-
In the previous chapters we have already given some hints that enable a safer
9-
operation. Here we want to summarise and expand the individual elements. In
10-
doing so, we will be guided by the `OpenSSF
11-
Scorecard <https://securityscorecards.dev/>`_. Alternatively, you can also
12-
follow :ref:`open_chain`.
8+
In previous chapters, we have already provided some tips designed to help ensure
9+
safer operation.
10+
11+
.. seealso::
12+
* :ref:`secure-release-workflow`
13+
* :ref:`zizmorcore`
14+
* :ref:`add_2fa`
15+
16+
Here, we would like to summarise and expand on the individual elements once
17+
again. We will be using the `OpenSSF Scorecard
18+
<https://securityscorecards.dev/>`_ as our guide. Alternatively, you can also
19+
refer to :ref:`open_chain`.
1320

1421
.. _check-vulnerabilities:
1522

@@ -71,10 +78,10 @@ Are the dependencies still maintained?
7178
Risk: High
7279

7380
This indicates possible unpatched security vulnerabilities. Therefore, it should
74-
be checked regularly whether a project has been archived. Conversely, the OSSF
75-
scorecard assumes that with at least one commit a week for 90 days, the project
76-
is very actively maintained. However, a lack of active maintenance is not
77-
necessarily always a problem: smaller utilities in particular usually do not
81+
be checked regularly whether a project has been archived. Conversely, the
82+
OpenSSF scorecard assumes that with at least one commit a week for 90 days, the
83+
project is very actively maintained. However, a lack of active maintenance is
84+
not necessarily always a problem: smaller utilities in particular usually do not
7885
need to be maintained, or only very rarely. So a lack of active maintenance only
7986
tells you that you should investigate the situation more closely.
8087

@@ -126,24 +133,13 @@ with their :ref:`SPDX <standard_format_licensing>` licence identifier followed
126133
by an appropriate file extension as described in the :ref:`REUSE <reuse>`
127134
specification.
128135

129-
Are the best practices of the :abbr:`OpenSSF (Open Source Security Foundation)` being followed?
130-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
136+
OpenSSF Best Practices Badge
137+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
131138

132139
Risk: Low
133140

134-
The `Open Source Security Foundation (OpenSSF) Best Practices Program
135-
<https://github.com/ossf/wg-best-practices-os-developers/>`_ includes a set of
136-
security-oriented best practices for open source software development:
137-
138-
* the vulnerability reporting procedure is published on the project page
139-
* a working build system automatically rebuilds the software from source code
140-
* a general policy that tests are added to an automated test suite when
141-
important new features are added
142-
* various cryptography criteria are met, if applicable
143-
* at least one static code analysis tool applied to each planned major
144-
production release
145-
146-
You can also get a corresponding badge with the `OpenSSF Best Practices Badge Program <https://www.bestpractices.dev/en>`_.
141+
You can also get a corresponding badge with the `OpenSSF Best Practices Badge
142+
Program <https://www.bestpractices.dev/en>`_.
147143

148144
Continuous testing
149145
------------------
@@ -156,6 +152,9 @@ Risk: Low
156152
Before code is merged into pull or merge requests, tests should be performed to
157153
help detect errors early and reduce the number of vulnerabilities in a project.
158154

155+
.. seealso::
156+
* :ref:`coverage-github-actions`
157+
159158
Does the project use fuzzing tools?
160159
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161160

@@ -172,31 +171,20 @@ find the same vulnerabilities.
172171
* Is `ClusterFuzzLite <https://google.github.io/clusterfuzzlite/>`_ used in the
173172
repository?
174173
* Are custom language-specific fuzzing features present in the repository, for
175-
example with `atheris <https://pypi.org/project/atheris/>`_ or `OneFuzz
176-
<https://github.com/microsoft/onefuzz>`_?
174+
example with `atheris <https://pypi.org/project/atheris/>`_?
177175

178176
Does your project use static code analysis tools?
179177
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
180178

181179
Risk: Medium
182180

183-
`Static code analysis <https://en.wikipedia.org/wiki/Static_program_analysis>`_
184-
tests the source code before the application is executed. This can prevent known
185-
bug classes from being accidentally introduced into the code base.
186-
187-
.. _bandit:
188-
189-
To check for vulnerabilities, you can use `bandit
190-
<https://github.com/PyCQA/bandit>`__, which you can also integrate into your
191-
:file:`.pre-commit-hooks.yaml`:
192-
193-
.. code-block:: yaml
181+
:term:`Static test procedures` test the source code before the application is
182+
run. This can prevent known types of errors from being inadvertently introduced
183+
into the codebase.
194184

195-
repos:
196-
- repo: https://github.com/PyCQA/bandit
197-
rev: '1.7.5'
198-
hooks:
199-
- id: bandit
185+
To check for vulnerabilities, you can use `Bandit
186+
<https://github.com/PyCQA/bandit>`__ with :doc:`qa/ruff`, which you can also
187+
integrate into Jupyter Notebooks, IDEs and the pre-commit framework.
200188

201189
You can also use :doc:`/productive/qa/pysa` for `taint
202190
<https://en.wikipedia.org/wiki/Taint_checking>`_ analyses.

0 commit comments

Comments
 (0)