Commit graph

107 commits

Author SHA1 Message Date
Chris Ingram
1eb4fe05fd Add pdm package manager support
PDM is a modern Python package manager using pyproject.toml (PEP 621).
Uses the same MITM-only proxy approach as poetry/uv/pipx — all malware
detection and minimum package age enforcement happens at the proxy layer
by intercepting PyPI requests.
2026-04-06 13:01:42 +01:00
Sander Declerck
50a931cf4d
Add manual setup and teardown instructions on failure 2026-03-26 13:36:20 +01:00
Sander Declerck
cfaa8e45ad
Move config file to .safe-chain path. 2026-03-19 16:10:32 +01:00
Sander Declerck
87c5eddc9e
Write warning when getting executionpolicy fails 2026-02-05 11:52:06 +01:00
Sander Declerck
446f45cc28
Add link to help 2026-02-05 11:35:30 +01:00
Sander Declerck
149a28e0dc
Improve comments 2026-02-05 11:20:14 +01:00
Sander Declerck
369167e005
Error message indentation fix 2026-02-05 11:08:04 +01:00
Sander Declerck
f1e5e7bab2
Improve error message 2026-02-05 11:01:56 +01:00
Sander Declerck
0dfa151b02
Fix linting 2026-02-05 10:45:45 +01:00
Sander Declerck
13f2ae6e22
Fix PSModulePath 2026-02-05 10:45:13 +01:00
Sander Declerck
aa461b27c3
Use safeSpawn 2026-02-05 10:24:28 +01:00
Sander Declerck
3e90c0abd1
Import module for execution policy 2026-02-05 10:12:43 +01:00
Sander Declerck
ad32a8d9be
Run command for execution policy with -Command 2026-02-05 10:05:26 +01:00
Sander Declerck
ff16530314
Fix linting 2026-02-05 09:52:18 +01:00
Sander Declerck
e9799e283f
Check powershell execution policy in setup function 2026-02-05 09:49:36 +01:00
Sander Declerck
309d7df050
Don't insert empty line in rc file when it already ends with an empty line 2026-01-27 07:42:36 +01:00
Reinier Criel
f358709ab2
Merge pull request #282 from uriel-ecosia/command-not-found
Propagate command-not-found errors when invoking wrapped commands
2026-01-15 18:38:30 +01:00
Reinier Criel
340e9a90a5 Remove comment 2026-01-12 15:13:34 -08:00
Reinier Criel
9a902af917 Fix some logic 2026-01-12 15:12:19 -08:00
Reinier Criel
19652c49c9 Attempted fix for powershell swallowing '--' 2026-01-12 14:53:23 -08:00
Uriel Corfa
0ce0a87557
Add the same handler for fish 2026-01-08 10:01:13 +01:00
Uriel Corfa
4e894dd0fd
init-posix: preserve arguments when exec'ing the original_cmd 2026-01-08 09:56:59 +01:00
Uriel Corfa
3bfca9e296
Propagate command-not-found errors when invoking wrapped commands
Before this change, if a package manager was not installed, safe-chain still
sets the function and when invoked, the wrapper will invoke safe-chain, which
will exit with error code 127 when it fails to invoke the wrapped command. As an
example (with a shell prompt that shows $? when non-zero):

```
$ type -f pip
bash: type: pip: not found
1$ pip
127$
```

With this patch, the wrapper first checks for the existence of the wrapped
command (ignoring functions), and if no such command exists, it instructs the
shell to invoke it anyway. This results in the shell failing to find the
command, and reporting an error as if the wrapper function wasn't there:

```
$ source init-posix.sh
$ type -f pip
bash: type: pip: not found
1$ pip
Command 'pip' not found, but can be installed with:
sudo apt install python3-pip
127$
```
2026-01-07 17:18:48 +01:00
Graeme Chapman
c510d886a9
Simplify command execution in init-posix.sh 2025-12-31 10:57:08 +00:00
Graeme Chapman
a0e19818a0
fix: Allow running commands if safe-chain npm package is not installed 2025-12-31 10:18:58 +00:00
Reinier Criel
bbf5f8189b
Merge pull request #256 from AikidoSec/feature/pipx-2
Add PIPX support
2025-12-19 09:41:00 +01:00
Reinier Criel
d2fc531c81 Fix tests and add command support 2025-12-18 10:33:31 +01:00
Reinier Criel
b9de94f0f1 Merge branch 'main' into feature/pipx-2 2025-12-17 14:28:14 +01:00
Reinier Criel
5de43c1bf2 Some modifications 2025-12-17 13:26:14 +01:00
Reinier Criel
3c18ad76f7 Skeleton 2025-12-17 11:37:51 +01:00
Sander Declerck
316922e9a6
Merge branch 'main' into fix-powershell-install-script-path-separator 2025-12-16 13:06:57 +01:00
Sander Declerck
eb59e98785
Fix path separator on Windows Powershell 2025-12-15 17:50:38 +01:00
Reinier Criel
53e47581d4 Remove unneeded comment 2025-12-15 15:59:24 +01:00
Reinier Criel
c07abe966b Fix setup-ci 2025-12-15 15:55:41 +01:00
Reinier Criel
523ce0b6ee Fix issue with flag 2025-12-15 15:08:28 +01:00
Reinier Criel
7e460e50e1 Skeleton 2025-12-15 15:06:00 +01:00
Reinier Criel
dc6fcb9761 Skeleton 2025-12-15 14:42:58 +01:00
Reinier Criel
f47cd7ebc0 Remove unused import 2025-12-12 12:07:06 -08:00
Reinier Criel
a405a51706 Also remove script dir 2025-12-12 11:17:17 -08:00
Reinier Criel
2b0f8d9f0d Skeleton 2025-12-11 15:13:15 -08:00
bitterpanda
15cc6ff7fe
Merge pull request #178 from AikidoSec/feature/poetry-2
Add Poetry support
2025-12-05 15:56:20 +01:00
Sander Declerck
aadd083b9e
Fix Join-Path error for Windows Powershell 2025-12-04 11:35:32 +01:00
Reinier Criel
82416456a0 Some small fixes 2025-12-03 07:58:09 -08:00
Reinier Criel
c1a12c9573 Merge branch 'main' into feature/poetry-2 2025-12-03 07:41:52 -08:00
Sander Declerck
aa441e7483
Add comments for esm vs cjs __dirname implementation 2025-12-03 11:38:29 +01:00
Sander Declerck
4139275b76
Handle PR comments 2025-12-03 10:54:49 +01:00
bitterpanda
31a14a3f1b
Update packages/safe-chain/src/shell-integration/startup-scripts/init-pwsh.ps1 2025-12-03 10:47:28 +01:00
Sander Declerck
b632e0acda
Fix windows shim 2025-12-02 15:00:51 +01:00
Sander Declerck
f9b16cf03c
Fix bins path for CI 2025-12-02 14:19:53 +01:00
Sander Declerck
3002d27273
Fix safe-chain in CI 2025-12-02 13:58:27 +01:00