research
Start or resume an academic research project — idea through literature, methodology, writing, feedback, and publishing
Retrieve a single AWS Secrets Manager secret value to stdout or a 0600-permission file. Opt-in retrieval mode — never writes to the findings cache.
> /plugin marketplace add GRCEngClub/claude-grc-engineeringHow it fires
How this command gets triggered: by you, by Claude, or both.
/retrieveContext preview
What this command does when you run it.
Retrieve a single AWS Secrets Manager secret value to stdout or a 0600-permission file. Opt-in retrieval mode — never writes to the findings cache.
name: AWS Secrets Inspector Retrieve description: Retrieve a single AWS Secrets Manager secret value to stdout or a 0600-permission file. Opt-in retrieval mode — never writes to the findings cache.
Retrieves a single AWS Secrets Manager secret value and returns it to stdout (default) or to a 0600-permission file under `~/.config/claude-grc/secrets/`. This is the **only** path through the connector that produces a secret value; the inspector mode never reads `SecretString` or `SecretBinary`.
node plugins/connectors/aws-secrets-inspector/scripts/collect.js --retrieve=<secret-name> [options]
**Stdout (default).** A single line of JSON:
{"name":"prod-db","arn":"arn:aws:secretsmanager:us-east-1:123456789012:secret:prod-db-AbCdEf","version_id":"a1b2c3d4-...","version_stages":["AWSCURRENT"],"created_at":"2026-04-13T15:10:00Z","secret_string":"<value>"}For binary secrets, `secret_binary` is set to the base64 string returned by AWS (text-safe on stdout); `secret_string` is absent.
**File (`--write-to`).** The same JSON is written to `<path>`, with the file created at mode 0600 and the parent directory at mode 0700. Stdout emits a confirmation:
aws-secrets-inspector:retrieve wrote 247 bytes to ~/.config/claude-grc/secrets/prod-db (sha256=...)
The confirmation does **not** include the secret value.
This connector enforces three invariants for retrieval runs:
1. **No findings cache writes.** The retrieval branch short-circuits at the top of `main()` and never reaches the cache-writing helpers. 2. **No value in `runs.log`.** The retrieval manifest records `byte_size` and `sha256` of the artifact, not the value. Operators and auditors can verify *which* artifact was produced without storing the value. 3. **`--write-to` is restricted to `~/.config/claude-grc/secrets/`.** Any path that resolves outside that root — including `../` escapes and absolute paths like `/etc/cron.d/evil` — is rejected with exit 2 and a clear error. The parent directory is created with mode 0700; the destination file is created with mode 0600 (umask 077 enforced during the write).
The retrieval manifest in `runs.log` looks like:
{"source":"aws-secrets-inspector","run_id":"20260620-...","mode":"retrieve","secret_name":"prod-db","version_id":"a1b2c3d4-...","version_stage":"AWSCURRENT","destination":"~/.config/claude-grc/secrets/prod-db","byte_size":247,"sha256":"...","exit_code":0}{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": ["secretsmanager:GetSecretValue"], "Resource": "<secret-arn-or-*>" },
{ "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": "<kms-key-arn>" }
]
}For cross-account access, configure the standard AWS CLI profile chain in `~/.aws/config` and pass `--profile=<name>` (this connector does NOT implement `sts:AssumeRole` itself).
# Default: AWSCURRENT to stdout /aws-secrets-inspector:retrieve --retrieve=prod-db # Explicit region when the secret lives outside your profile's region /aws-secrets-inspector:retrieve --retrieve=prod-db --region=eu-west-1 # Previous version, captured into a 0600 file /aws-secrets-inspector:retrieve --retrieve=prod-db --version-stage=AWSPREVIOUS \ --write-to=~/.config/claude-grc/secrets/prod-db-prev # Use in a CI step: pipe the JSON into a jq extractor /aws-secrets-inspector:retrieve --retrieve=prod-db --quiet | jq -r .secret_string # Cross-account via the profile chain /aws-secrets-inspector:retrieve --retrieve=prod-db --profile=audit-target
This connector is a thin wrapper around `aws secretsmanager get-secret-value`. It adds two things the raw CLI does not:
Operators who prefer the raw `aws` CLI for ad-hoc work can use it directly. Operators who need a CI-friendly secret source should use `/aws-secrets-inspector:retrieve` so the audit trail is consistent.
Open-source GRC Engineering resource for Claude. claude-grc-engineering turns technical evidence from cloud, SaaS, code, and security tools into framework-aligned findings, gap reports, remediation guidance, evidence packages, and OSCAL workflows.
Repo: GRCEngClub/claude-grc-engineering
Start or resume an academic research project — idea through literature, methodology, writing, feedback, and publishing
Query AWS for compliance-relevant configuration across IAM, S3, CloudTrail, EBS, and emit findings conforming to the v1 contract.
Install the frdocx-to-froscal-ssp Python pipeline and verify its dependencies. Idempotent.
Run testssl.sh against one or more HTTPS endpoints and emit v1 Findings mapped to SOC 2, NIST 800-53, PCI DSS 4.0.1, ISO 27001, and SCF controls.
Serve a localhost compliance posture dashboard from monitor-continuous JSON