Commit Graph

20 Commits

Author SHA1 Message Date
Niels Pardon f60995a404 feat(manager/pixi): gate pixi.lock updates behind allowedUnsafeExecutions (#44939)
feat(manager/pixi): gate pixi.lock updates behind allowedUnsafeExecutions

The pixi manager runs `pixi lock`, which can execute arbitrary code from
conda package hooks. It now only updates `pixi.lock` when `pixi` is
included in the global `allowedUnsafeExecutions` option, following the same
pattern as the `mise` manager. When `pixi` is not allowed, the package file
is still updated but `pixi.lock` is left unchanged.

https://pixi.prefix.dev/latest/security/#4-treat-package-hooks-as-code-execution
2026-07-29 09:18:02 +00:00
Gregor Zeitlinger 0338dd74ba fix(mise): require allowlisting for lock updates (#43606)
* fix(mise): trust Renovate repo checkout during lock file updates

* docs(mise): document trusted config paths for lock updates

* refactor(mise): sanitize config files for lock updates

* test(mise): cover sanitized lock update flow

* docs(mise): describe sanitized lock update flow

* test(mise): cover sanitize failure paths

* fix(mise): clarify mirror read coverage

* fix(mise): allowlist mirrored settings

* test(mise): fix schema and integration specs

* fix(mise): trust only sanitized mirror workspace

* test(mise): fix mirrored cwd type narrowing

* test(mise): focus coverage on sanitized mirror flow

* test(mise): cover recursive settings schema

* fix(mise): ignore misreported lcov branch

* test(mise): remove redundant integration gate

* test(mise): drop local integration spec

* fix(mise): gate lock updates as unsafe execution

* fix(mise): restore settings schema typing

* fix(mise): generalize unsafe execution to mise

Rename allowedUnsafeExecutions value miseLock -> mise since any mise
command reading repo config can execute arbitrary code, not just
mise lock. Drop unused smol-toml dependency left over from the
abandoned config-sanitize approach.

Addresses PR review feedback.

* fix(mise): drop unused settings schema parsing

Nothing reads MiseFile.settings — the lock-update flow gates on
allowedUnsafeExecutions and relies on CI=true auto-trust, not config
sanitization. Remove the dead schema + tests per review.

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>

* fix(mise): trust repo config via trusted paths

* fix(mise): explicitly trust config before lock

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
2026-06-03 16:17:46 +00:00
Jamie Tanna 16f74f6339 chore: clarify GHSA process is recommended (#43644)
As we're seeing some folks going via email when they could instead
report via GHSA.
2026-05-28 09:43:23 +00:00
Sebastian Poxhofer 9a27d7aa78 ci(prettier): add prettier plugin for admonitions (#43615)
* ci: add local mkdocs-admonitions plugin for prettier to allow admonition preservation

* docs: remove uses of `prettier-ignore` for admonitions

* test: rather use await expect

* chore: use named group exclusively
2026-05-27 09:39:52 +00:00
Jamie Tanna 4b0146ab7b docs: use 2-space indentation for Markdown (#43537)
As noted in #39090, MkDocs requires 4 spaces for indentation (in
particular, for nested lists) whereas our Prettier/markdownlint
configuration expects 2 spaces.

This means that when trying to use i.e. nested lists, we need to ignore
prettier and markdownlint, otherwise it fails.

To handle this, we can add a Markdown hook to override the indentation
level to 2 spaces.

This also requires we update:

- admonitions
- indented text in `index.md`

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-26 09:05:42 +00:00
Jamie Tanna b6ef3e1290 fix(self-hosted)!: don't allow any unsafe commands by default (#40684)
As a safety measure for self-hosted administrators, we can make sure
that we set `allowedUnsafeExecutions` to not allow any commands by
default.

This closes off a significant risk of executing Gradle Wrapper
commands, which use the repository's copy of the wrapper, and any
Gradle buildscript, when executing, which can lead to significant remote
code execution, even before you take into account malicious dependencies.

As this is now off-by-default, we can enable it by default in our tests
to make sure that there are minimal changes required.
2026-01-29 13:28:06 +00:00
Jamie Tanna cb49754391 fix(self-hosted)!: don't use shell: true for postUpgradeTasks (#40230)
To make sure that we're using secure defaults, we can make sure that
this is off-by-default.

Self-hosted administrators will be able to turn this back in if they
wish.
2026-01-29 13:28:05 +00:00
Jamie Tanna cad42c5ec0 docs(security): clarify no GHSAs for wrapper script (#40408)
docs: clarify no GHSAs for wrapper script 

This isn't related to #40403 directly, but
it's worth clarifying.
2026-01-13 18:09:45 +00:00
Jamie Tanna cbe1d049c6 feat(self-hosted): allow choice of shell: true for postUpgradeTasks (#40229)
As part of hardening the configuration around executing
`postUpgradeTasks` with `shell: true`, we can give self-hosted
administrators the opportunity to configure this.

This continues to be on-by-default to be non-breaking, but in the next
major version can be flipped to the safer option.
2025-12-31 11:55:04 +00:00
Jamie Tanna d2872e29f1 docs(self-hosting): note risk of postUpgradeTasks with shell execution 2025-12-31 10:45:58 +00:00
Jamie Tanna 254f821259 docs(self-hosting): further clarify the supply chain security risks (#39456)
As part of ongoing efforts I'm taking to make Renovate have more
secure-by-default settings, we should document some of the additional
risks that can occur when self-hosting.

This primarily focusses on outsider attacks (i.e. from a malicious
dependency) as we're finding is increasing in frequency in the recent
years.
2025-11-27 17:23:26 +00:00
HonkingGoose 67bc7f7c02 docs: add security advisory for self-hosted users (#28415)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2024-04-22 06:46:32 +00:00
HonkingGoose 9007931190 chore: capitalize Dependency Dashboard in docs and config option description (#25569) 2023-11-03 12:53:16 +00:00
HonkingGoose 27d36cf362 docs: create privacy section (#23899)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2023-08-20 06:09:30 +00:00
HonkingGoose 124c1e636c docs: refer to the app as the Mend Renovate app (#23336)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2023-07-13 14:24:43 +00:00
HonkingGoose 15f286c310 docs(security and permissions): rewrite certifications section (#16412) 2022-08-24 21:20:15 +02:00
HonkingGoose 8c8dceb9e9 docs: update security email (#16799) 2022-08-04 11:57:19 +02:00
Rhys Arkins afd96e7b8a fix: whitesource -> mend (#15729) 2022-05-25 15:23:28 +02:00
HonkingGoose 31f539b9c3 docs(security-and-permissions): preamble, new sections (#14570) 2022-04-08 07:39:23 +00:00
HonkingGoose 655e31d1ab docs: create security and permissions file (#13748)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2022-02-28 17:39:18 +01:00