Skip to content

docs(skills): harden temps-platform-setup against security-scanner findings - #369

Open
clau1902 wants to merge 2 commits into
gotempsh:mainfrom
clau1902:docs/harden-platform-setup-skill
Open

docs(skills): harden temps-platform-setup against security-scanner findings#369
clau1902 wants to merge 2 commits into
gotempsh:mainfrom
clau1902:docs/harden-platform-setup-skill

Conversation

@clau1902

Copy link
Copy Markdown
Contributor

Summary

The temps-platform-setup skill on skills.sh currently fails two of three security audits (Gen Agent Trust Hub: HIGH, Snyk: CRITICAL; SocketPass passes). This PR fixes every pattern those scanners flag in skills/temps-platform-setup/.

Changes

Remote code execution (Snyk E005/W012, Trust Hub #1)

  • The headless/AI-agent install no longer pipes curl into bash. All install paths now: download deploy.sh → verify against deploy.sh.sha256 → review → run.
  • git clone examples pinned to a release tag (--depth 1 --branch v0.0.8).
  • The literal curl ... | bash string no longer appears anywhere, even in prose warnings (naive regex scanners match it regardless of context).

Credential handling (Snyk W007, Trust Hub #2)

  • Example setup-result.json output shows <redacted> instead of admin_password/tmps_... values; the file is documented as a secret store (extract single fields via jq; admin_password is off-limits to automation).
  • Agent auth flow uses TEMPS_TOKEN per-command instead of login --api-key.
  • All token-bearing flag examples (git providers, CLI login, DNS providers) reference exported env vars sourced from a secret manager instead of typed placeholder secrets.
  • Hardcoded POSTGRES_PASSWORD=temps / postgres:temps@ connection strings replaced with a generated password and <DB_PASSWORD> placeholders.

Minor

  • kill -9 → graceful kill with SIGKILL-as-escalation note; --expires-in never now recommends bounded expiry.
  • sha256sum as the primary checksum tool (Linux servers), shasum -a 256 noted for macOS.

⚠️ Deploy dependency

The docs now reference https://temps.sh/deploy.sh.sha256, which does not exist yet (404). Before this version of the skill is republished, the pipeline that publishes deploy.sh to temps.sh must also generate and upload the checksum:

sha256sum deploy.sh > deploy.sh.sha256

Also note the v0.0.8 pin should be bumped as part of future release checklists, and a skills.sh re-scan should be requested after republish (current failing audits are dated 2026-04-02, predating recent hardening).

🤖 Generated with Claude Code

clau1902 and others added 2 commits July 16, 2026 22:55
…ndings

Address the failed Gen Agent Trust Hub and Snyk audits on skills.sh:

- remove the remaining curl-pipe-to-bash in the headless/agent install;
  all install paths now download deploy.sh, verify it against a published
  deploy.sh.sha256 checksum, and review before running
- pin git clone examples to a release tag (v0.0.8) with --depth 1
- redact admin_password/api_key in the example setup-result output and
  document setup-result.json as a secret store (extract fields via jq,
  never expose admin_password to automation)
- reference exported env vars instead of typed secrets in all
  token-bearing flag examples (git providers, CLI login, DNS providers)
- replace the hardcoded 'temps' postgres password with a generated one
  and <DB_PASSWORD> placeholders in connection strings
- soften kill -9 and --expires-in never guidance

Requires publishing https://temps.sh/deploy.sh.sha256 alongside deploy.sh
(regenerated on every deploy.sh change) before republishing the skill.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Keep the checksum-verification and secret-redaction hardening while
adopting main's current installer interface (--yes, quick mode,
apps_url_pattern result field).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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