python / python/devguide

Create a Threat Model and Security Policy for CPython

Ouverte
#1,803 2 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

topic-psrt type-feature
Langage dominant
Python
Étoiles
2.1k
Forks
1k
Merge moyen
2 j 12 h
PR mergées (30 j)
12

Description

Describe the enhancement or feature you would like

The Python Security Response Team is receiving higher volumes of reports, many of which are invalid or intensive to triage. We believe many of these reports use LLMs or security researchers not familiar with a programming language threat model, so more context would help in having fewer low-quality reports.

  • Create a new top-level "Security Policy and Threat Model" section to Devguide.
  • Security Policy
    • Document the expectations of security researchers submitting reports to the PSRT. Basic information, what to include (simple POC, optional fix).
    • Ask reporters to disclose what LLM model used, if any, to find the vulnerability. This informs us about how "public" this vulnerability may already be or whether a vulnerability is likely to be reported as a duplicate.
    • Explicitly note that security reports, even when private, the PSF Code of Conduct still applies for all communications and that this will be prioritized over technical merit of a vulnerability report.
    • Document a policy for using LLMs, such as requiring that prior to reporting all potential findings must be cross-checked against the threat model.
    • Failure to follow the security policy may result in reports not being accepted, regardless of technical merit.
    • Duplicate a general version of the security policy in SECURITY.md and python.org/dev/security.
  • Threat Model
    • Document an overall threat model with high-level details about the Python interpreter (envvars, options, trusted code), the Python language features (eval), C API, threading. This threat model will be duplicated in the main CPython repository (.github/THREAT_MODEL.md?) This file will also link out to the "Threat Model" devguide section.
    • For each standard library module of security-relevance, document an individual threat model where appropriate. Many standard library modules that are not intended for "production usage" will not accept security reports.
    • Update warning admonitions in the docs for each standard library module to link to their threat model page.
    • In the "Security Considerations" page for the Python standard library, move this content to the threat model and update links. This page feels like it wants to be both a threat model AND a "secure deployment" page. Maybe a future addition to the Python documentation.
Describe alternatives you have considered

No response

Additional context

Prior art:

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner la structure du Devguide, la page existante « Security Considerations », SECURITY.md et les politiques Django et curl liées. Définissez les nouvelles sections « Security Policy » et « Threat Model », puis associez les sujets répertoriés concernant l’interpréteur, le langage, C API, les threads et la bibliothèque standard aux mises à jour de la documentation. La tâche sera considérée comme terminée lorsque la politique, les liens vers le modèle de menace, la copie dans le dépôt et les liens d’avertissement pertinents seront documentés comme étant dans le périmètre.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
documentation, security
Type d'issue
Documentation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.