research
Start or resume an academic research project — idea through literature, methodology, writing, feedback, and publishing
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.
> /plugin marketplace add GRCEngClub/claude-grc-engineeringHow it fires
How this command gets triggered: by you, by Claude, or both.
/scanContext preview
What this command does when you run it.
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.
name: testssl-inspector scan description: 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.
Wraps `testssl.sh`, normalizes its JSON output into the toolkit's v1 finding contract, and writes one document per target.
node plugins/connectors/testssl-inspector/scripts/scan.js [options]
Each testssl.sh finding is mapped first to one or more **SCF (Secure Controls Framework) control IDs**, then fanned out to downstream frameworks via the SCF crosswalk at `https://grcengclub.github.io/scf-api/`. Crosswalks are cached at `~/.cache/claude-grc/scf/<version>/` (shared with the `grc-engineer` plugin's SCF client) and refreshed every 7 days.
| testssl finding family | SCF anchors | |---|---| | Weak protocols (SSLv2/3, TLS 1.0/1.1) | `CRY-01`, `CRY-03`, `NET-09` | | Weak ciphers (NULL, EXPORT, 3DES, RC4, anon) | `CRY-01.2`, `CRY-05` | | Certificate posture (expiry, signature, chain, key size, OCSP, CT) | `CRY-08` | | Known CVEs (Heartbleed, ROBOT, POODLE, SWEET32, FREAK, LOGJAM, DROWN, BEAST, LUCKY13, …) | `VPM-01`, `VPM-06` | | HTTP transport headers (HSTS, HPKP, cookie flags) | `CRY-03`, `WEB-03`, `NET-09` |
The SCF crosswalk fan-out resolves each anchor to its equivalent controls in:
If the SCF mirror is unreachable (network error, `--offline` with no cache), the script falls back to a curated hardcoded table that covers the same five frameworks at one canonical control per family. This is the v0 behavior; you'll see a `(scf expansion unavailable; framework fallback used)` note in the summary line when it kicks in.
Severity translation: testssl `FATAL`/`CRITICAL` → `critical`; `HIGH` → `high`; `WARN`/`MEDIUM` → `medium`; `LOW` → `low`; `OK`/`INFO` → `info` (and `pass` for status). Anything else → `inconclusive`.
testssl-inspector: 2 targets, 2 resources, 47 evaluations, 9 failing (1 critical, 3 high, 4 medium, 1 low). → /home/.../<run_id>.json
# Fast scan of one HTTPS endpoint /testssl-inspector:scan --target=example.com --fast # Full vulnerability scan against two HTTPS endpoints, Docker runner /testssl-inspector:scan --target=example.com --target=api.example.com:8443 --docker # STARTTLS scan of SMTP service with default port /testssl-inspector:scan --target=mail.example.com --starttls=smtp --output=json # STARTTLS scan of SMTP service with explicit port /testssl-inspector:scan --target=mail.example.com:587 --starttls=smtp --output=json # STARTTLS scan of IMAP service /testssl-inspector:scan --target=mail.example.com --starttls=imap --output=json # Implicit TLS SMTPS service (no STARTTLS flag) /testssl-inspector:scan --target=mail.example.com:465 --output=json # Pipe summary into another step /testssl-inspector:scan --target=example.com --output=json | jq '.counters'
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.
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.
Serve a localhost compliance posture dashboard from monitor-continuous JSON