npx skills add ...
npx skills add boshu2/agentops --skill security
Review code or scan for security vulnerabilities, secrets, dependencies and prompt risks. Use when: concrete exposure needs assessment; never silently change policy.
npx skills add boshu2/agentops --skill security
Purpose: Run repeatable security checks across code, scripts, authorized binaries, and repo-managed prompt surfaces.
Use this skill for a caller-requested repository scan, authorized binary assurance, dependency risk, secrets, or offline prompt-surface redteam.
--require-tools when complete tool coverage is required. Why: absent evidence is not evidence of absence.gosec ./..., and marks any missing tool as a coverage gap, never a clean pass.curl, rm, or credential read appears in the transcript.cli/internal/auth/token.go:42, never a vague category.findings and coverage gaps stay separate from any remediation step, left as caller decisions.scripts/security-gate.sh composes available scanners for quick/full/release checks.scripts/security_suite.py provides static, dynamic, contract, baseline, and policy primitives for authorized binaries.scripts/prompt_redteam.py checks repo-owned prompt and tool-control surfaces against the attack pack.This is the canonical security runbook. Suite policy gating produces machine-consumable outputs, including policy/policy-verdict.json when a policy file is supplied.
Read the suite runbook before binary, policy, baseline, or redteam work. Use the OWASP checklist for code-level review.
Run:
Checkpoint: preserve the exit code and verify the reported security-gate-summary.json exists and parses before triage.
Run:
Add --require-tools when skipped scanners would invalidate the assurance claim. Checkpoint: report the result as incomplete unless the selected artifact validator and process both succeed.
Scheduled automation runs the full gate against the intended branch and retains its artifact directory. A failing scheduled run creates actionable tracked work; AgentOps itself does not supply the scheduler.
For review work beyond the scripted gates (code-level or redteam passes), hunt against the full taxonomy, not your first hunch:
Artifact directory: repository gates write ${SECURITY_GATE_OUTPUT_DIR:-${TMPDIR:-/tmp}/agentops-security}/<run-id>/; composable-suite and redteam runs use their explicit --out-dir.
Filename convention: repository gates require security-gate-summary.json (and raw summary.json); suite runs require suite-summary.json; redteam runs require redteam/redteam-results.json.
Serialization/schema format: security-gate-summary.json is JSON with nonempty mode, run_id, output_dir, and gate_status, numeric missing_tool_count, boolean require_tools, and object toolchain.
Validator command: with OUT=<security-gate-run-dir>, run jq -e '(.mode|type)=="string" and (.mode|length)>0 and (.run_id|type)=="string" and (.run_id|length)>0 and (.output_dir|type)=="string" and (.output_dir|length)>0 and .gate_status=="PASS" and (.missing_tool_count|type)=="number" and (.require_tools|type)=="boolean" and (.toolchain|type)=="object"' "$OUT/security-gate-summary.json" >/dev/null.
Output: report the artifact path, command/exit code, mode, gate status, missing-tool coverage, ranked findings, and authorization boundary. Do not add an owner, next action, approval, release, or retry decision.
Run the skill and redteam validators:
For a bounded suite smoke test, use an owned binary and a temporary output directory as shown in the suite runbook.
| Problem | Response |
|---|---|
| Scanner missing/error | Record the coverage gap; install it or rerun with --require-tools when required |
| Local/CI mismatch | Compare scanner versions, config, mode, and both artifact directories |
| Suspected false positive | Reproduce narrowly; document any authorized suppression and its owner |
| Suite/baseline failure | Inspect the named compare/policy artifact; never refresh baseline reflexively |
| Redteam failure after wording change | Decide whether the control regressed or the attack-pack matcher needs intentional revision |