From 5c74e0decb03bec264a2e64c9dff330aaa7b123a Mon Sep 17 00:00:00 2001 From: Lovro Bikic Date: Sun, 27 Oct 2024 15:04:37 +0100 Subject: [PATCH] Readme fixes --- README.md | 67 +++++++++++++++++++++++------------- docs/health_score_table.png | Bin 0 -> 84560 bytes 2 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 docs/health_score_table.png diff --git a/README.md b/README.md index 9022002..bd271f3 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ Polariscope is a Ruby gem to evaluate the overall health of your Ruby application by analyzing its dependencies. It calculates a [health score](#health-score-formula) based on which dependencies are outdated and vulnerable to security issues. -Keeping dependencies up-to-date is crucial for maintaining application security, performance, and compatibility. This gem provides a quick and easy way to gauge the state of your project's dependencies and take measures to improve its health. +Keeping dependencies up-to-date is crucial for maintaining application security, performance, and compatibility. This gem provides a quick and easy way to gauge the state of your project's dependencies and take measures to improve its health (more on this in the [Motivation section](#motivation)). -Think of it as a way to score outputs of `bundle outdated` and `bundle-audit check`. +Think of this gem as a way to score outputs of `bundle outdated` and `bundle-audit check`. ## Installation @@ -25,8 +25,9 @@ Polariscope can be used on the CLI and in code. Position yourself at the root of your Ruby application and run: $ [bundle exec] polariscope scan + => 87.4 -The command will read the contents of `Gemfile`, `Gemfile.lock` and [`.bundler-audit.yml`](https://github.com/rubysec/bundler-audit?tab=readme-ov-file#configuration-file) (optional, to ignore advisories) in the current directory and output the health score. +The command will read the contents of `Gemfile`, `Gemfile.lock` and [`.bundler-audit.yml`](https://github.com/rubysec/bundler-audit?tab=readme-ov-file#configuration-file) (optional, to ignore advisories) in the current directory and output the calculated health score. ### In code @@ -75,14 +76,14 @@ gem_specs.versions_for('pundit') ## Health Score Formula -The formula takes the contents of `Gemfile` and `Gemfile.lock` and produces a decimal number in range $[0,100]$ representing the health score based on which dependencies (gems and Ruby) are outdated and vulnerable to known security issues. $100$ means everything is up-to-date and there are no security issues, and it lowers as newer versions are released or security issues are discovered. +Health score is calculated with a formula that takes the contents of `Gemfile` and `Gemfile.lock` and produces a decimal number in the $[0,100]$ range. 100 means everything is up-to-date and there are no security issues, and it lowers as newer versions are released or security issues are discovered. By design, health score is most useful as a relative measure of application health: if your health score suddenly drops one day from 100 to 90, it signals a serious issue (e.g. a new vulnerability in your Ruby version). If it drops from 100 to 95, it may signal that a new minor version of Rails has been released, for example. If it drops from 100 to 99.5, it may mean a gem like Pundit has a new patch version with a bug fix. How much the score changes depends on various factors: - dependency priority (by default, [Ruby and Rails have a higher priority](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L6) than other dependencies) - [bundler group](https://bundler.io/guides/groups.html) priority (by default, [`:default` and `:production` groups have a higher priority](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L7)) -- number of new versions between the current and the latest version of a dependency +- number of versions between the current and the latest version of a dependency - the kind of outdatedness according to [SemVer](https://semver.org/); if there's a new major version, that will cause a sharper drop in the score than a new minor version - the number of active security advisories - [advisory severity](https://nvd.nist.gov/vuln-metrics/cvss) (e.g. a High severity advisory will cause a sharper drop in score than one that is Low) @@ -91,7 +92,7 @@ How much the score changes depends on various factors: [This is the complete formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gemfile_health_score.rb#L22) (it's simpler than it may seem): ```math -\mathrm{HS} = +{HS}_G = 100 \cdot \underbrace{\left(1-\frac{\sum_{d \in G_{dd}}w_d \cdot mp_d}{\sum_{d \in G_{dd}}w_d}\right)}_{\text{major versions score}} @@ -110,23 +111,23 @@ d & \text{dependency} \\ \end{array} ``` -It's comprised of several scores in range $[0,1]$ multiplied together and then finally by $100$ to produce the health score in range $[0,100]$. Score formulas are described in the following sections. +It's comprised of several scores in the $[0,1]$ range multiplied together and then finally by 100 to produce the final score. Score formulas are described in the following sections. -Note that, by design, health score can never be higher than the lowest of its scores. For example, if your major versions score is $0.75$, then health score can never be higher than $75$, regardless of other scores being $1$. +Note that, by design, health score can never be higher than the lowest of its scores. For example, if your major versions score is 0.75, then health score can never be higher than 75, regardless of other scores being 1. ### Major versions score -Score which signals how many dependencies have outdated major versions (it doesn't care about minor or patch versions). $1$ means no dependency has an outdated major, $0$ means all have an outdated major. All other combinations fall in between those extremes. +Score that signals how many dependencies have outdated major versions (it doesn't care about minor or patch versions). Score 1 means no dependency has an outdated major while score 0 means all have an outdated major. Other combinations fall in between those extremes. -[The formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gemfile_health_score.rb#L30-L36) $1-\frac{\sum_{d \in G_{dd}}w_d \cdot mp_d}{\sum_{d \in G_{dd}}w_d}$ starts with score $1$ and is subtracted by the [weighted arithmetic mean](https://en.wikipedia.org/wiki/Weighted_arithmetic_mean) of major version penalties for all direct dependencies (only dependencies specified in the `Gemfile` and not dependencies of dependencies present in `Gemfile.lock`). +[The formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gemfile_health_score.rb#L30-L36) $1-\frac{\sum_{d \in G_{dd}}w_d \cdot mp_d}{\sum_{d \in G_{dd}}w_d}$ starts with score 1 and is subtracted by the [weighted arithmetic mean](https://en.wikipedia.org/wiki/Weighted_arithmetic_mean) of major version penalties for all direct dependencies (only dependencies specified in the `Gemfile` and not dependencies of dependencies present in `Gemfile.lock`). The penalty controls how much the score drops when the major of a dependency is outdated, and the priority proportions that penalty in relation to other dependencies. -[Dependency priority (weight)](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L40-L44) $w_d$ is either a custom dependency priority, bundler group priority if dependency doesn't have a custom priority, or default priority if dependency's group doesn't have a defined priority ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L6-L8)). +[Dependency priority (weight)](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L40-L44) $w_d$ is set to either a custom dependency priority, bundler group priority if dependency doesn't have a custom priority, or default priority if dependency's group doesn't have a defined priority ([default values](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L6-L8)). -[Major version penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L21-L23) ${mp}_d$ equals $1$ ([by default](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L20)) when major of $d$ is outdated, otherwise $0$. +[Major version penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L21-L23) ${mp}_d$ is a number in range $[0,1]$; [by default](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L20) it equals 1. When the major isn't outdated, there is no penalty (penalty equals 0). ### Versions score -Score which represents how outdated direct dependencies are based on the number of new versions and the kind of outdatedness. Score $1$ means all dependencies are up-to-date. As dependencies get outdated, it starts to lower. Unlike major versions score, this score can never reach $0$, it only gravitates towards it. +Score that represents how outdated direct dependencies are based on the number of new versions and the kind of outdatedness. Score 1 means all dependencies are up-to-date. As dependencies get outdated, it starts to lower. Unlike major versions score, this score can never reach 0, it only gravitates towards it. [The formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gemfile_health_score.rb#L38-L40) $`\frac{\sum_{d \in G_{dd}}w_d \cdot {dhs}_d}{\sum_{d \in G_{dd}}w_d}`$ is a weighted arithmetic mean of dependency health scores. Same dependency priority $w_d$ is used as for major versions score. @@ -138,31 +139,33 @@ Score which represents how outdated direct dependencies are based on the number \underbrace{(1+{vp}_d)^{-\ln{S_{V}}}}_{\text{versions subscore}} ``` +Both subscores use a version of the power function. See [this section](#penalty-and-severity-function) for more details on its interpretation. + #### Segment subscore -[Score](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L16) in range $(0,1]$ which represents how outdated is the **first** outdated segment (major, minor or patch) of a dependency. +[Score](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L16) in the $(0,1]$ range that represents how outdated is the **first** outdated segment (major, minor or patch) of a dependency. When the current version is also the latest, the score equals 1, and it starts to drop towards 0 with the release of new versions. -[Segment penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L43-L45) ${sp}_d$ is defined as the number of new versions for the first outdated segment. Take this example: your dependency is on `v1.0.0`, but `v1.1.0`, `v2.0.0` and `v3.0.0` have been released in the meantime. The first outdated segment is major (minor is also outdated, but it comes after major, so it's not the first). ${sp}_d$ is then the number of new majors, in this case $2$. +[Segment penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L43-L45) ${sp}_d$ is defined as the number of new versions for the first outdated segment. Take this example: your dependency is on `v1.0.0`, but `v1.1.0`, `v2.0.0` and `v3.0.0` have been released in the meantime. The first outdated segment is major (minor is also outdated, but it comes after major, so it's not the first). ${sp}_d$ is then the number of new majors, in this case 2. -[Segment severity](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L35-L37) ${ss}_d$ is a number selected based on the first outdated segment. Default list of severities can be found [here](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L22) (ordered major, minor, patch). For example, if major is outdated, first value is used. +[Segment severity](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L35-L37) ${ss}_d$ is a number selected based on the first outdated segment. Default list of severities can be found [here](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L22) (order `[major, minor, patch]`). For example, if major is outdated, first value in the list is used. #### Versions subscore -[Score](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L17) in range $(0,1]$ which represents how many new versions have been released for the dependency since the current version. Penalty $`{vp}_d`$ is defined as the total number of versions between the current and the latest version (inclusive). Severity $`S_{V}`$ is a constant ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L21)). +[Score](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/gem_health_score.rb#L17) in the $(0,1]$ range that represents how many new versions have been released for the dependency since the current version. When the current version is also the latest, the score equals 1, and it lowers with every new version. -(For more context on the function used for both subscores, see [this section](#penalty-and-severity-function).) +Penalty $`{vp}_d`$ is defined as the total number of versions between the current and the latest version (inclusive). Severity $`S_{V}`$ is a constant ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L21)). ### Advisories score -Score which represents how many security advisories impact your dependencies. Unlike previous scores, this score takes into account all dependencies, direct or indirect (basically, everything in `Gemfile.lock`). Score $1$ means no dependency has an active advisory, and it starts gravitating towards $0$ when new advisories are found. +Score in the $(0,1]$ range that represents how many security advisories impact your dependencies, taking into account their severities. Unlike previous scores, this score looks at all dependencies, direct or indirect (basically, everything in `Gemfile.lock`). Score 1 means no dependency has an active advisory, and it drops with each new advisory. -[The formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/advisories_health_score.rb#L12) $\left(1 +\sum_{d \in G} \sum_{a \in d} p_a\right)^{-\ln{S_A}}$ in essence sums advisory penalties $p_a$ for all advisories of all dependencies, adds $1$, and raises it to a power. See the next section for a detailed explanation. +[The formula](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/advisories_health_score.rb#L12) $\left(1 +\sum_{d \in G} \sum_{a \in d} p_a\right)^{-\ln{S_A}}$ in essence sums advisory penalties $p_a$ for all advisories of all dependencies (+1) and raises it to some power. See the next section for a detailed explanation. -[Advisory penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L46-L48) $p_a$ is a number selected based on the criticality of the advisory ([default mapping](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L11-L17)). If criticality is unknown, fallback penalty is used ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L18)). Severity $S_A$ is a constant ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L10)). +[Advisory penalty](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L46-L48) $p_a$ is a number selected based on the criticality (severity score mapped to a name) of the advisory ([default mapping](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L11-L17)). Generally, a higher criticality results in a higher penalty. If criticality is unknown, fallback penalty is used ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L18)). Severity $S_A$ is a constant ([default value](https://github.com/infinum/polariscope/blob/master/lib/polariscope/scanner/calculation_context.rb#L10)). ### Penalty and severity function -Function used for several scores is of type $f(x)=(1+x)^{-S}$, where $S$ is some positive constant.$`^*`$ +Function used for several scores is of type $f(x)=(1+x)^{-S}$, where $S$ is some positive constant. See this graph for various values $S$ (we'll focus on case $x\ge0$): ![graph plots f(x) for three values of S: 0.05, 0.17, 0.5](./docs/severity_function_graph.png) @@ -172,11 +175,27 @@ and notice several interesting properties: 3. $\lim_{x \to \infty} f(x)=0$ 4. bigger $S$ -> more severe "drop" -Function returns values in range $(0,1]$ (properties 1, 2, 3). It starts from value $1$ (prop 1) which drops the further away we move (prop 2). Property 4 allows us to control how quickly the value drops with a higher $x$. +The function returns values in range $(0,1]$ (props 1-3). It begins with value 1 (prop 1) which drops the further away we move from $x=0$ (prop 2). Property 4 allows us to control how quickly the value drops. This can be used a simple but an okay way to model certain scores. For scoring purposes we will refer to $x$ as penalty and $S$ as severity. Take for example the [versions subscore](#versions-subscore), which uses this function: penalty is the number of new versions for a dependency, so the more new versions there are, the lower the score. -$^*$ In all formulas, severity is a natural logarithm $ln$ of some constant greater than $1$. This is purely because actual constants $S$ need to be small enough (smaller than $0.1$) to not cause too sharp a drop in the score too fast. It's easier to work with bigger numbers, so instead of $(1+x)^{-S}$ we work with $(1+x)^{-\ln(S)}$. +$^*$ In all formulas, severity is a natural logarithm $ln$ of some constant greater than 1. This is purely because actual constants $S$ need to be small enough (smaller than 0.1) to not cause too sharp a drop in the score too fast. It's easier to work with bigger numbers, so instead of $(1+x)^{-S}$ we work with $(1+x)^{-\ln(S)}$. + +## Motivation + +Who is this tool for? What does it accomplish? + +Agencies like [Infinum](https://infinum.com/) are at any point in time working on multiple projects, e.g. multiple Ruby applications. Without a monitoring process, it would be necessary to manually check each project for security vulnerabilities and new dependency versions (e.g. a new major version with a breaking change). With scale, this becomes time-consuming. + +Health score is a way to monitor these things. Instead of manually checking each project for outdated dependencies (output of `bundle outdated`) and security advisories (output of `bundle-audit check`), health score informs you whether those outputs require immediate action. + +As was said above, health score is most useful as a relative measure. It starts at value 100 and it drops as new versions/security issues arise. Your project might have a score of 99 one day, but suddenly drop to 90 the next — this signals something significant happened, probably a security advisory in an important dependency like Rails, or a new major version of Ruby. On the other hand, if it drops from 99 to 97, it could mean some dependency has a new minor version. + +It's up to you to decide when to take action: either when the score drops suddenly (to fix immediate issues) or when it drops below a certain threshold (to update multiple dependencies in one go). + +At Infinum, Polariscope is used as part of a monitoring tool that (among other things) calculates health scores for all Ruby projects daily. Part of the project table looks like this: + +table with project health scores ## Development diff --git a/docs/health_score_table.png b/docs/health_score_table.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd22a27aeeca5ebc98d1f938ba534e9035e814c GIT binary patch literal 84560 zcmeFZXIRrsw>L@=5s;z?2uM*BRHQehBMQ=cZ_-;5kP>=FlrAD&n)Kd734|sfy@b$0 z6#*%s6G{l2_&ksIeeb<}uk-1g5AU_Zm1HtAYi8DO&8)R%&HM>hSCuCxWgx}F!y{LC z^+FR5@5(G59^urrtGFEevmfvA@UBbR%gU-N$jY*+yExg{1FZ4zUWF&<5$kL9(qb2f{ZeTg4?|2onIuvmE>>yKMZD`hq81IPMxauh}0*_Vi6Hhn^+V=i~0^V11c!XD_ z2|wVc_xDrReEHIW|0D#p&<|zAi>uRPvNF8fx~zB^&+}~=Kk$Xj=kDRhsZg-6g(u z@b%g3`lYStg-7pT9K~5>u#S+{&6{j#0t3jhtzL8fQqngS54rB$wBUL#b?wx}=e>qQ zzTkaR^H_%c{V85sX*vrINfFlT7P9X{UOc<8q$tT{a{Fu0?Q$x&RNhQ#;wt8^WJF#; zRf=gUAA9)}&FuV|LI*YX*BWj%nx#|_k8OD-YF@hM2j-0TjFSp1-@Kdu9H7Cf{60{h z+@hy>Yl=5-Fu6k+{53231p`~;0>Ss&K@X?QvSVp-m4Yokq4OHOLJqowtx2EVP;8cx z65xIj$5NWmlh8xC7HmTMUVkq{G`Kl;x4m(f2tO#I(Q=MJ!?#p(E#&EflpG&zL4@m< zPw0jeRu28{G?}fBdQ>HMA~}9^5*3Z~z`IU0-b6gz>v#gP`*e@lm;M?tfC}%nG^ry) z^7ZP#%9i?Uy7@=m!FY79q_0xp5kC-kdQW4XEqGF2{n|z7E4=-%?$drBqAa|9vv>Mk z2>jfBAF>~8)$LmEU1e^63p&<3eK`7|{>ttZ{*D08wT`}!z16nIo0rGuteA9j8Fu5| zSHu$h`6LM8eoHkmc?y~Ot@-Wx3UsYv84K3LtS>6L!*{#Hu(fPCKv z7b~V}`XU+hU6pSNKg7p^X62agNqlqsK^>7@Tqx`iYM9NY!QS`0bL6QTL28hy4B4oK z8%fjEGC7azqn`?g_q>@82b!*sWMaTFOw;nY!c( zi*UDSnUeqf9{%R)HlCjIHRjlZ-A5+?Up^ScLeS)L*@@2i-T8L`Y$MmguJ{CV1j)X- zXGN8NQ}G&2C@@qu6zr2$Vu{)+P%0# z1@wI<&HLd>eH;lNCO(4WV&cm`G`(W^_SlNLTHx9H&(CS&BEQl6NdIB^gY$>&kKtS7 z5f8fJZz?Qlbn-KdJTfOJ|-sUX3?6J=sQMEJSyvPivp?I!o3bp56ceWhupv~ zkUC*`F(s(7Pdyk4&WuTniBt_95=>W2&k;>;N-j^}mKTxtDBAX)V{FO{qbIi{r@n3^ zSPGg-FyA=}+dN$-IaEAC|1_DzfzKYK<&iOPZ||f>1*-eFg|N*4))R z-0{_-v`abCFj6e>mQucT{)$6?P2x^jY1z#(T74mXccV=M*HW@F$FiO25r8i+e@Yu^ zT=QUtA6NsNM4CcmQN}2K)MFI)bPgJXevUapGqGJ`6PJ50rybj{p0&~D^3b`^-ScPR z=Iw3$A5)7bF1cObKE?IRXE2=(_97nj*q6ZPGz@c|%hNx| zpXD&hx4Kk$+-LweH?AmpFl{!q)pZ?}q(RfZmJOBl%ymd0TKcf;T50rM#slJOGP}FS z$;)rPF6R`a*}~TRhg+NPG*`EPz1?H0nAvXExDQx52{@G>+w7>agsBw|vuCQBX_=Kf z)$OoJxk|wngj;Q&80peF(rxCo#=~4=Z;?p2^)|E(n9uZ7_>+)(R;LJrM?&OyxL3ofSL}^xXhI zr)Vs9Uh2!ezsGP-=01nZ%OBW>n}v@w-sOakYK$g~s#(f)4MaU-REkZ%1r

d=8i$ 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