Closed abjerner closed 2 years ago
@nul800sebastiaan as we talked about at the meetup, for handling the last two security issues where there are no change in version numbers if you apply the hotfix, it might be good with a way to handle this in the format as well.
As we can't really check whether the hotfix has been applied, the best I can think of is to introduce a hotfix
property for the issues, which then will indicate whether a hotfix is available for the issue. If this is the case, the issue will show up as Indeterminate (normal would be Affected) when Umbraco is within the affected version range.
It would also make sense to somehow be able to dismiss an issue where a hotfix is available (eg. when you have applied the hotfix) so the issue will no longer show up. But this last part more something to be handled in the code, and not in the JSON schema.
Does this make sense?
Hiya @abjerner,
Just wanted to let you know that we noticed that this issue got a bit stale and might not be relevant any more.
We will close this issue for now but we're happy to open it up again if you think it's still relevant (for example: it's a feature request that's not yet implemented, or it's a bug that's not yet been fixed).
To open it this issue up again, you can write @umbrabot still relevant
in a new comment as the first line. It would be super helpful for us if on the next line you could let us know why you think it's still relevant.
For example:
@umbrabot still relevant This bug can still be reproduced in version 8.9.0
This will reopen the issue in the next few hours.
Thanks, from your friendly Umbraco GitHub bot :robot: :slightly_smiling_face:
@umbrabot still relevant
Hiya @abjerner,
Just wanted to let you know that we noticed that this issue got a bit stale and might not be relevant any more.
We will close this issue for now but we're happy to open it up again if you think it's still relevant (for example: it's a feature request that's not yet implemented, or it's a bug that's not yet been fixed).
To open it this issue up again, you can write @umbrabot still relevant
in a new comment as the first line. It would be super helpful for us if on the next line you could let us know why you think it's still relevant.
For example:
@umbrabot still relevant This bug can still be reproduced in version
x.y.z
This will reopen the issue in the next few hours.
Thanks, from your friendly Umbraco GitHub bot :robot: :slightly_smiling_face:
I haven't really worked on this since the retreat, but the idea was that we could have a health check that would validate assemblies against a list (one or more feeds) of known vulnerabilities (or just regular warnings and errors).
Primarily this would be the DLLs that ship with Umbraco (as discussed with @nul800sebastiaan, the Umbraco feed should most likely live on Our Umbraco - hence an issue on this repository), but developers might be able to create their own additional feed. So the first step would be to settle on a format for the feed - and as everything ise JSON these that, that format might as well be described by a JSON scheme:
Given this JSON scheme, the Umbraco feed could then look as:
The feed could also contain reports of more than just vulnerabilities. For instance when Instagram made a breaking change in their API, it affected my Skybrud.Social package. So if an affected version of this in installed, it could trigger a warning. So at Skybrud we could have a feed for our packages:
Feed
At the root of the feed are only two properties -
author
andproducts
:author
Describes the author of the feed (eg. Umbraco for the Umbraco feed).
products
An array of products (see below).
Product
name
Describes the name of the product - eg. Umbraco CMS or Umbraco Forms.
url
URL to a website or page about the product.
issues
An array of known issues of the particular product.
Issue
type
Describes the type of the issue. This could be a enum with the following values:
security
warning
patch
?info
?severity
Describes the severity/impact of an issue. In a similar way to
type
,severity
could be a enum with the following values:high
normal
medium
low
date
Ther date the issue was created/reported.
name
The name/title of the issue.
url
The URL to a page with information about the issue.
assemblies
Array of affected assemblies (see below).
Assembly
type
Probably always
assembly
- can't remember why I included this one.alias
The alias (or filename without
.dll
) of the assembly.version
The affected version or version range. Follows the format of the NuGet specification.
With the schema proposal above, we're only looking at assemblies, but I suppose there could be issues with other files as well. This was the case in some of the earlier versions of Umbraco - eg. where the fix was to either delete or update the affected files (meaning we'd have no change in Umbraco version to check against). So perhaps there should also be an option to list affected files (which may again be based on either file checksums or whether certain values are part of the file).
An assembly also has both a version and a file version, so perhaps it should be possible check against either value. I think some of the Microsoft DLLs have been a bit bad with their version numbers in the bad, although I can't remember the exact cases.