Skip to content

fix: remove passwords from dbsToImport#23

Open
sh-conet wants to merge 3 commits into
mainfrom
fix/credential-residues
Open

fix: remove passwords from dbsToImport#23
sh-conet wants to merge 3 commits into
mainfrom
fix/credential-residues

Conversation

@sh-conet

@sh-conet sh-conet commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Strips .dbsToImport[].password from AARON_CONFIG

sh-conet and others added 2 commits June 8, 2026 14:05
The user-supplied aaron_config.yml is mounted into /import and consumed by
the CLI during conversion, but was never cleaned up afterwards - leaving the
plaintext dbsToImport[].password lingering in the bind-mounted volume on the
host once the import had run.

aaron-import.sh now removes the password key(s) via
`yq -i 'del(.dbsToImport[].password)'` on every exit path (after the CLI runs,
and in the DB-exists / dump-found skip paths), while keeping the rest of the
config intact and re-usable. The strip is guarded to only touch configs that
actually contain a password, so comment-rich file-only configs stay
byte-identical.

The conversion's exit code is captured with `|| aaronExitCode=$?` so that a
failed import does not abort the script under the neo4j entrypoint's `set -e`
(`#!/bin/bash -eu`, sourced via EXTENSION_SCRIPT) before the password is
stripped - verified in the container that a failed import now still strips the
credential.

Adds a committed bash test (AAroN-Docker/test/) that sources the real
strip_credentials function via a source-guard and asserts the behavior
(including a static guard for the errexit-safe pattern), using fixtures with a
fake password.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sh-conet sh-conet requested a review from schmitze87 June 8, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant