This page documents the secopsai command-line interface.
secopsai [--json] <command> [options]
secopsai <command> [options] [--json]--json is a global flag and is accepted either before or after the subcommand.
Examples:
secopsai --json list --severity high
secopsai list --severity high --jsonFor CI workflows, the published SecOpsAI Supply-Chain Guard GitHub Marketplace Action wraps selected CLI modes with fixed, constrained execution:
- uses: Techris93/secopsai-action@v1
with:
mode: advisory-check
ecosystem: npm
package: node-ipc
version: 12.0.1- uses: Techris93/secopsai-action@v1
with:
mode: ai-dependency-guard
scan-path: .
fail-on-severity: highDistribution and Marketplace maintenance details live in GitHub Distribution and GitHub Marketplace.
List findings from the SOC store by triage status.
secopsai triage list --status open --limit 20
secopsai triage list --status in_review --jsonOptions:
--status open|in_review|closed|triaged--limit <n>— default50--json
Mark a finding as actively under analyst review.
secopsai triage start SCM-XXXX --note "Initial analyst review started"Options:
--note <text>— analyst note stored with the finding--json
Gather evidence, classify the finding type, and write case files.
secopsai triage investigate SCM-XXXX --search-root ~/secopsai --jsonOptions:
--search-root <path>— where local dependency or repo references are checked--json
Writes:
reports/triage/<finding_id>.jsonreports/triage/<finding_id>.md
Close or disposition a finding with a required note.
secopsai triage close SCM-XXXX --disposition false_positive --note "Verified safe internal package."Options:
--disposition true_positive|false_positive|expected_behavior|accepted_risk|exception_granted|needs_review|tune_policy|remediated--note <text>— required analyst rationale--json
Run the guarded triage orchestrator across open findings.
secopsai triage orchestrate --search-root ~/secopsai
secopsai triage orchestrate --limit 10 --jsonOptions:
--search-root <path>— repository root for dependency presence checks--limit <n>— maximum findings to process--queue-file <path>— override queue path--json
Behavior:
- auto-starts findings into
in_review - auto-investigates findings
- auto-closes low-risk
expected_behaviorand allowlisted false positives - queues higher-risk actions for analyst application
Show queued orchestrator actions awaiting analyst application.
secopsai triage queue
secopsai triage queue --jsonOptions:
--queue-file <path>— override queue path--json
Apply one queued action after analyst review.
secopsai triage apply-action ACT-0001 --yesOptions:
--queue-file <path>— override queue path--yes— skip interactive confirmation--json
Generate a compact summary of current triage and queue state.
secopsai triage summary
secopsai triage summary --jsonOptions:
--limit <n>— how many recent summary entries to include--queue-file <path>— override queue path--json
Run the full OpenClaw live pipeline by default, or collect from selected platform adapters such as Hermes, macOS, Linux, and Windows.
secopsai refresh
secopsai refresh --json
secopsai refresh --skip-export
secopsai refresh --platform hermes
secopsai refresh --platform macos,openclaw,hermesOptions:
--skip-export— reuse existing exported OpenClaw native telemetry--openclaw-home <path>— overrideOPENCLAW_HOME--platform <list>— comma-separated adapter list, for examplehermes,macos,openclaw, ormacos,openclaw,hermes--verbose— verbose refresh output--json— machine-friendly output
Returns:
- whether export ran
- output paths for audit/replay/findings
- total findings
- total detections
List findings from the local SOC store.
secopsai list
secopsai list --severity high
secopsai list --limit 20 --jsonOptions:
--severity info|low|medium|high|critical--limit <n>— default50--no-refresh— do not auto-refresh before listing--cache-ttl <seconds>— default60; minimum time between auto-refresh runs--openclaw-home <path>--json
Notes:
- By default,
listmay auto-refresh the pipeline first. - Use
--no-refreshto work only from what is already stored locally.
Show one finding in detail.
secopsai show OCF-XXXX
secopsai show OCF-XXXX --jsonOptions:
--no-refresh--cache-ttl <seconds>--openclaw-home <path>--json
Show recommended mitigation actions for a finding.
secopsai mitigate OCF-XXXX
secopsai mitigate OCF-XXXX --jsonOptions:
--no-refresh--cache-ttl <seconds>--openclaw-home <path>--json
Run a quick presence check against existing findings.
secopsai check --type malware
secopsai check --type exfil --severity medium --json
secopsai check --type both --no-refreshOptions:
--type malware|exfil|both— required--severity info|low|medium|high|critical— defaultlow--no-refresh--cache-ttl <seconds>--openclaw-home <path>--json
Download and normalize open-source IOC feeds into local storage.
secopsai intel refresh
secopsai intel refresh --json
secopsai intel refresh --enrichOptions:
--timeout <seconds>— default20--enrich— perform lightweight local enrichment (DNS)--json
List locally stored IOCs.
secopsai intel list
secopsai intel list --limit 20 --jsonOptions:
--limit <n>— default50--json
Match stored IOCs against the latest OpenClaw replay and persist matches as findings.
secopsai intel match
secopsai intel match --limit-iocs 500 --json
secopsai intel match --replay data/openclaw/replay/labeled/current.jsonOptions:
--limit-iocs <n>— default2000--replay <path>— override replay file--json
Scan AI-built code and optional AI-agent telemetry for hallucinated, newly-registered, or lookalike dependencies.
secopsai supply-chain ai-dependency-guard --path . --json
secopsai supply-chain ai-dependency-guard --path . --include-agent-logs --agent-source auto --json
secopsai supply-chain ai-dependency-guard --path . --fail-on high --jsonOptions:
--path <path>— repository or file to scan--include-agent-logs— include local OpenClaw/Hermes/session telemetry--agent-source auto|openclaw|hermes|sessions--ecosystem <name>— repeatable ecosystem filter--fail-on high|critical— opt-in CI failure threshold--persist-findings— persist high-confidence findings to the local SOC store--report-path <path>— write the full JSON report
The command reads registry metadata only and does not install, import, or execute package code.
Manage package allowlist entries in the active policy file.
secopsai supply-chain allowlist add --ecosystem pypi --package textual
secopsai supply-chain allowlist remove --ecosystem pypi --package textualOptions:
--ecosystem pypi|npm--package <name-or-wildcard>
Change a rule weight or enabled state.
secopsai supply-chain tune rule "wheel/sdist artifact divergence" --weight 1
secopsai supply-chain tune rule "manifest executable entrypoints" --disableOptions:
<rule_name>— exact rule name--weight <n>--disable--enable
Set a global, ecosystem, or package threshold.
secopsai supply-chain tune threshold --global-threshold --value 12
secopsai supply-chain tune threshold --ecosystem pypi --value 12
secopsai supply-chain tune threshold --package textual --package-ecosystem pypi --value 14Options:
--global-threshold--ecosystem pypi|npm--package <name>--package-ecosystem pypi|npm--value <n>
These commands can auto-refresh the pipeline before reading findings:
listshowmitigatecheck
Behavior:
- If a recent refresh exists inside the TTL window, secopsai reuses cached results.
- Default TTL is
60seconds. - Use
--cache-ttl <seconds>to change the window. - Use
--no-refreshto disable auto-refresh entirely.
Example:
secopsai list --severity high --cache-ttl 300
secopsai show OCF-XXXX --no-refreshsecopsai refresh --json
secopsai list --severity high --jsonsecopsai list --severity high --cache-ttl 300secopsai show OCF-XXXX --json
secopsai mitigate OCF-XXXX --jsonsecopsai intel refresh --json
secopsai intel match --limit-iocs 500 --json
secopsai list --severity medium --json --no-refreshsecopsai triage list --status open
secopsai triage investigate SCM-XXXX --search-root ~/secopsai --json
secopsai triage orchestrate --search-root ~/secopsai
secopsai triage queue
secopsai triage apply-action ACT-0001 --yes- Recommended installation path:
curl -fsSL https://secopsai.dev/install.sh | bash- Public npm package:
npm install -g secopsai- The installer creates a virtualenv and installs the
secopsaiCLI into it. - The packaged install includes the runtime helper modules required by the CLI entrypoint.