mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-11-02 13:12:50 +00:00
fix(guards): refuse a .npmrc beside a portal manifest, like bunfig.toml
Bun reads .npmrc too, so a registry line beside a borrowed portal's manifest fetches every dependency from a server the portal's author picked - the same door bunfig.toml opens, which the installer and guard check 3 already refuse. Both now reject either file. The #718 integration test, which pointed Bun at its offline registry through a .npmrc, passes the registry through NPM_CONFIG_REGISTRY instead; it still proves the hook stays off, because the hooked package only exists on that server. Follows GHSA-wq7j-x5jq-pjrw; this case is ours, not the report's. Guard tests for the workspaces and bunfig.toml refusals, which the previous commit added without them, come along. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
0bcfd75e60
commit
83c788d779
9 files changed
+67
-28
No files matched your search
@@ -72,10 +72,12 @@ class DependencyHooks(unittest.TestCase):
|
||||
(cli / "package.json").write_text(json.dumps({
|
||||
"name": "example-search", "private": True, "dependencies": {"esbuild": "0.25.0"},
|
||||
}), encoding="utf-8")
|
||||
(cli / ".npmrc").write_text(f"registry=http://127.0.0.1:{server.server_port}/\n", encoding="utf-8")
|
||||
# The registry goes in through the environment: a .npmrc beside
|
||||
# the manifest is one of the things the installer now refuses.
|
||||
env = {"PATH": str(Path(BUN).absolute().parent) + os.pathsep + os.defpath,
|
||||
"HOME": str(root), "TMPDIR": str(root), "TEMP": str(root), "TMP": str(root),
|
||||
"BUN_INSTALL_CACHE_DIR": str(root / "cache")}
|
||||
"BUN_INSTALL_CACHE_DIR": str(root / "cache"),
|
||||
"NPM_CONFIG_REGISTRY": f"http://127.0.0.1:{server.server_port}/"}
|
||||
if "SYSTEMROOT" in os.environ:
|
||||
env["SYSTEMROOT"] = os.environ["SYSTEMROOT"]
|
||||
proc = subprocess.run([sys.executable, str(tools / "install_portal_clis.py")],
|
||||
|
||||
Reference in new issue
Block a user