Skip to content

Commit

Permalink
Add affected attribute format
Browse files Browse the repository at this point in the history
Following up on pypa#149 it seems like we have general agreement on what this format should be, so I've gone ahead and kicked off the PR 🎉
I took a liberty in how to deliniate two attributes (with a `;`). Happy to change that if there's disagreement on how to delimit multiple different attributes on the same osv payload.
The osv payload is explicitly called out as equivalent to the dot-colon single line format as well.

I also added a brief section linking to the osv schema.
  • Loading branch information
darakian committed Dec 5, 2023
1 parent 3ce77ed commit 5e61d9c
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,34 @@ generate the `.yaml` entries here.

## Using this data

### Marking specific attributes
It can be helpful to know which specific code elements of a package are vulnerable and this is done by appending an attribute and list of module paths to that attribute to the OSV payload. Eg.
```
{
attribute: "ImageFont",
modules: ["PIL"]
}
```
which is equivalent to `PIL:ImageFont`. If a second attribute `ImageFont2` is also affected then a second payload should be added and delimited with a `;`. Eg.
```
{
attribute: "ImageFont",
modules: ["PIL"];
attribute: "ImageFont2",
modules: ["PIL"]
}
```

attributes which are accessible via multiple paths may be represented in a condensed form. Consider the attribute `django.db.models:JSONField` from the [django project](https://github.com/django/django/blob/0ee2b8c326d47387bacb713a3ab369fa9a7a22ee/django/db/models/__init__.py#L99)
The attribute `django.db.models:JSONField` is a re-export of `django.db.models.fields.json:JSONField` and both are valid paths.
These can be condensed to a more compact OSV representation as
```
{
attribute: "JSONField",
modules: ["django.db.models", "django.db.models.fields.json"]
}
```

### Tooling

This data is exposed by [`pip-audit`](https://github.com/pypa/pip-audit),
Expand Down

0 comments on commit 5e61d9c

Please sign in to comment.