keploy-pr-workflow — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited keploy-pr-workflow (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 6 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 6 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
gh pr create, gh pr edit, or gh issue create.main.fixture, or README.
Keploy records real user applications. Traces, mocks, recordings, and logs routinely carry customer data — headers with auth tokens, bodies with PII, internal hostnames, request IDs that map back to users. Treat every fixture, log snippet, and error dump as tainted until you've checked it.
Before anything leaves your machine, scrub for:
cookies, OAuth client secrets, AWS/GCP/Azure keys. If a test needs one, read from env; use placeholders in docs (sk-xxxxxxxx, Bearer <token>).
*.internal, *.prod, *.corp, realcompany domains. Use example.com, httpbin.org, or loopback in samples.
public IP in a log is traceable. Replace with 192.0.2.1 (TEST-NET-1).
names. Substitute with [email protected], user-123, etc.
systems. Redact them from pasted logs.
keploy/test-set-*directory. Even anonymized ones tend to keep giveaways in paths or timings. If you need sample recordings, generate them against samples-go, samples-python, etc.
versions, and sometimes in-memory values.
If you're unsure whether something is customer-derived, it is. Err on the side of redaction — you can always add detail back, you can't un-publish.
Format: <type>(<scope>): <subject> — Conventional Commits, enforced by commitizen via .pre-commit-config.yaml.
Types: feat, fix, docs, style, refactor, test, chore.
Rules:
test-set reset, not fixed or fixes`.
paragraph describing what changed and why. Mandatory even for one-liners.
git commit -s. Let git read identity from config; don'thand-construct the Signed-off-by trailer.
The PR/issue template should match the template that is being used in the repository that we are working in.
Never, without explicit user approval:
git push --force to main (or any shared branch).git reset --hard / git clean -fd on a branch with uncommitted work.git branch -D on anything not your own local branch.When in doubt, ask. Destructive ops are cheap to confirm and expensive to undo.
When filing or commenting on an issue:
keploy --version), OS/arch, the exact commandyou ran, and whether it reproduces in Docker vs native.
public sample app; never attach a customer's test-set.
keploy-e2e-test — verify a behavior change against a real sample beforeopening the PR.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.