AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
DOCA Argus is the primary NVIDIA-promoted runtime-security service for BlueField DPUs. This skill provides operational procedures for deploying the Argus container on BlueField Arm cores, configuring its four main axes (detection policy, forwarding, sampling, and host coverage), and integrating findings with SIEM platforms like Splunk, ELK, or Sentinel. It focuses on the service-level operation of the containerized agent, helping operators validate security pipelines and troubleshoot common issues like missing findings or performance impacts.
What it does
- Guides the deployment of the Argus service container on BlueField Arm.
- Assists in configuring detection policies, forwarding, sampling, and host coverage.
- Provides troubleshooting steps for common operational issues like missing findings or false-positive floods.
- Facilitates the integration of Argus findings with external SIEM platforms.
- Helps operators validate the end-to-end security pipeline.
- Defines the path-selection criteria between using Argus versus custom DOCA App Shield library development.
When to use it
- When deploying runtime security on a fleet of BlueField-3 DPUs.
- When the Argus container is running but no findings are reaching the SIEM.
- When tuning Argus to reduce false-positive noise or performance impact on the host.
- When deciding whether to use the packaged Argus service or build custom security tooling.
- When validating the end-to-end flow from DPU observation to SIEM ingest.
Advantages
- Provides a structured, service-oriented approach to DPU-based runtime security.
- Clarifies the distinction between using the Argus service and building custom security tools.
- Offers a clear taxonomy for debugging common deployment and configuration issues.
- Ensures consistent configuration across four critical operational axes.
- Promotes best practices like calibration periods before production enforcement.
Usage examples
- “I want runtime security on a fleet of BlueField-3s protecting a production database tier; what should I reach for first?”
- The agent identifies DOCA Argus as the primary, currently-promoted framework for runtime threat detection and host memory forensics, advising against building on the lower-level App Shield library unless Argus is insufficient.
- “Argus's container is running but I see no findings — what did I miss?”
- The agent guides the user through the detection-policy and sampling configuration rows in the capabilities companion and the layered ladder in the tasks companion to identify the root cause.
- “How do I pair Argus with my existing SIEM (Splunk / ELK / …)?”
- The agent directs the user to the forwarding-axis configuration in the capabilities companion and the corresponding forwarding step in the tasks companion to wire the findings to the SIEM.
- “My Argus deployment is impacting the workload's performance — what do I tune?”
- The agent provides instructions on tuning the sampling-axis row in the capabilities companion and the sampling-tuning row in the tasks companion to mitigate performance overhead.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/doca-argus/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip doca-argus.zip -d .agents/skills
Documentation by NVIDIA
DOCA Argus Service
Examples
"Container green but no findings arrive." — this is in scope. Stay on Argus config / forwarder; do not rewrite SIEM ingest stanzas here.
"Runtime security on a fleet of BlueField-3s." — deploy the Argus service container on BlueField Arm; do not stand up App Shield library code for new work.
Instructions
Follow Loading order below. Open the tasks companion for configure / forward / debug. Open the capabilities companion for the four-axis config. Do not open every companion file.
Currently-promoted successor. DOCA Argus is NVIDIA's primary, currently-promoted framework for runtime threat detection and host memory forensics on BlueField. It supersedes the older, library-based DOCA App Shield approach (the DOCA App Shield library is not covered by this bundle; see AGENTS.md
## Non-goals(bundleAGENTS.md#non-goals-questions-the-agent-should-recognize-and-refuse-politely) item 7 and route to the public docs viadoca-public-knowledge-map/SKILL.md). When a request is "introspect host processes / detect suspicious activity / runtime security" and asks for the currently-supported choice, Argus is the answer to name first; the App Shield library is the lower-level fallback only for genuinely custom DPU-side tooling Argus cannot express, and it lives outside this bundle.
Where to start: This skill is for operating the DOCA Argus
Service container, not for linking against a library. Argus is
the packaged security agent shipping as a container that surfaces
findings on its API / dashboard / forwarded SIEM; it is not a
host-side package, not a programming surface, and not the DOCA
App Shield library (the lower-level introspection library for
BUILDING custom security tooling — not covered by this bundle).
To deploy the Argus container, open the tasks companion at
## configure. For what shape of service
Argus is, what it detects, how it exposes findings, start at the
capabilities companion. If DOCA is not installed on the BlueField,
route to doca-setup/SKILL.md first. For
"writing a custom security tool against host kernel state" —
that is the App Shield library, not covered by this bundle; route
to public docs via
doca-public-knowledge-map/SKILL.md.
How to use this skill. Read this file, then search the companion file
for the ## <name> heading the question needs and read that whole section.
Answer completely from it, quoting only its symbols and commands. Do not
browse docs; use the entry points in doca-public-knowledge-map. For
out-of-scope requests, name the skill that owns them and stop.
Example questions this skill answers well
The CLASSES of Argus questions this skill is built to answer, each with one worked example. The class is the load-bearing piece; the worked example is one instance.
"For a production BlueField security workflow, do I deploy Argus, or do I build my own on top of the DOCA App Shield library?" — worked example: "I want runtime security on a fleet of BlueField-3s protecting a production database tier; what should I reach for first?". Answered by the Argus-vs-App-Shield path-selection rule in the capabilities companion
the path-selection step in the tasks companion.
"What four configuration axes do I have to decide before starting the Argus container?" — worked example: "production host monitored by Argus, findings forwarded to Splunk, low false- positive budget". Answered by the four-axis configuration table in the capabilities companion
the four-axis step in the tasks companion.
"Argus's container is running but I see no findings — what did I miss?" — worked example: "container green, no findings have arrived in 24h". Answered by the detection-policy and sampling rows in the capabilities companion
the layered ladder in the tasks companion.
"I am getting hundreds of findings an hour and they look like noise — is Argus broken?" — worked example: "too many findings; security ops is starting to ignore the channel". Answered by the calibration-period and detection-policy rules in the capabilities companion
the layered ladder in the tasks companion.
"How do I pair Argus with my existing SIEM (Splunk / ELK / …)?" — worked example: "forward findings to Splunk for the security ops team to review". Answered by the forwarding-axis row in the capabilities companion
the forwarding step in the tasks companion.
"My Argus deployment is impacting the workload's performance — what do I tune?" — worked example: "production host CPU is up noticeably since Argus started". Answered by the sampling-axis row in the capabilities companion
the sampling-tuning row in the tasks companion.
Audience
This skill serves external security operators and platform teams who deploy the DOCA Argus Service container to get runtime security on a BlueField + host pair, with findings flowing into the team's existing SIEM. Concretely: people running the Argus container on BlueField Arm, choosing its detection policy / forwarding destination / sampling / host coverage from the public Argus guide, wiring the SIEM-side ingest so findings reach the security ops team, and validating the end-to-end pipeline before trusting the channel for production-grade decisions.
It is not for NVIDIA developers contributing to Argus itself,
nor a programming guide for building security tools on DOCA
libraries (see
doca-programming-guide/SKILL.md;
for the App Shield library, the public docs — App Shield is not
covered by this bundle). Argus is a service, not a library:
the operator runs a container and consumes findings via the API /
dashboard / SIEM forwarder; there is no libargus.so to link.
Path selection up front (load-bearing). Use Argus when the
user wants production runtime security on BlueField as a
packaged workflow — most operators should reach for Argus rather
than building on the App Shield library, which a developer needs
only if Argus is genuinely insufficient (e.g. shipping their own
security product with its own decision logic). Do not reach
for Argus when (a) there is no security-posture concern (Argus is
heavyweight overhead for nothing); (b) the user wants
observability / metrics rather than security (route to the DOCA
Telemetry Service via
doca-public-knowledge-map ## DOCA services (doca-public-knowledge-map/SKILL.md#doca-services));
(c) the user is building custom DPU-side security tooling (the
App Shield library — not covered by this bundle; route via
doca-public-knowledge-map/SKILL.md).
When to load this skill
Load this skill when the user is doing hands-on Argus deployment work on a BlueField where DOCA is already installed. Concretely:
Deciding whether Argus is the right answer for the user's security posture (vs. custom tooling on the App Shield library — not covered by this bundle, vs. observability instead of security, vs. deploying nothing).
Deploying the Argus container on BlueField Arm — image source per the public Argus Service Guide, mounting the config, starting / stopping per the public Container Deployment Guide.
Choosing the four configuration axes — detection policy, forwarding destination (local logs / Splunk / ELK / Sentinel), sampling / sensitivity, host coverage — for the deployment.
Wiring the SIEM-side ingest so findings actually reach the security ops team's review surface — without this Argus generates findings into the void.
Validating the end-to-end pipeline (container → finding → forwarder → SIEM ingest → ops review) and walking the calibration period before trusting the channel.
Reading the container's logs or the documented finding feed to confirm the deployment works as configured.
Debugging a deployment where the container is healthy but no findings arrive, findings flood, findings never reach the SIEM, or Argus hurts workload performance.
Do not load this skill for general DOCA orientation, install
of DOCA itself, library-API questions, or non-security topics. For
those, route via
doca-public-knowledge-map/SKILL.md,
doca-setup/SKILL.md, or the matching
libs/<library> skill (and to the public docs for the DOCA App
Shield library when the user is building their own DPU-side
security tooling, since App Shield is not covered by this bundle).
What this skill provides
This is a thin loader. Substantive material lives in two companion files:
the capabilities companion — Argus's architecture (long-running container that owns the runtime-security observation surface on the BlueField), the four configuration axes (detection policy / forwarding / sampling / host coverage), the deployment shape (container on BlueField Arm per the public Container Deployment Guide), the pairing surface (SIEM consumers — Splunk, ELK, Sentinel, …), the observability surface (container logs + finding feed + SIEM-side ingest confirmation), the error taxonomy (container-runtime / detection-policy / forwarding / sampling-performance / host-coverage), and the safety policy (Argus-vs-App-Shield path selection, never silently disable findings, expect a calibration period, smoke-before-bulk).
the tasks companion — step-by-step workflows for the in-scope Argus verbs:
configure,build,modify,run,test,debug, plus aDeferred task verbsblock routing out-of-scope questions and aCommand appendixof recurring commands.
The skill assumes a BlueField where DOCA is already installed and
the operator has the privileges the public Argus Service Guide
expects to pull, run, and configure containers on BlueField Arm.
It does not cover installing DOCA (route to
doca-setup/SKILL.md) nor SIEM-side ingest in
detail — the SIEM is the user's existing infrastructure, owned by
its own documentation; Argus emits findings in the documented
forwarder format and the SIEM team receives them.
What this skill deliberately does not ship
This skill is agent guidance, not a templates or sample-config bundle. To keep the boundary clean, it deliberately does not contain — and pull requests should not add:
Pre-baked Argus configuration files (full detection-policy blocks, ready-to-run forwarder configs, sampling templates). Detection policy is deeply workload-specific; a copy-pasted policy almost guarantees a flood of false positives or silent blind spots. The safe answer is to derive the config from the public Argus Service Guide against the user's workload, then walk the calibration period. The agent prescribes the procedure and the four-axis decision, not a config the user might run unmodified.
Container image names, tags, or registry paths. The authoritative image source is the public DOCA Argus Service Guide reachable through
doca-public-knowledge-map ## DOCA services(doca-public-knowledge-map/SKILL.md#doca-services); Argus's image tag is version-bound and changes between DOCA releases. Inventing or memorizing a tag is the canonical hallucination failure mode for a service skill.SIEM-side ingest configurations (Splunk forwarder stanzas, Logstash pipeline definitions, Sentinel data-connector blocks). Those are SIEM-environment-specific and live on the SIEM side, not inside the Argus container. The skill names that the forwarding destination must be wired and what the documented forwarder format is; the SIEM-side ingest body belongs to the user's SIEM team and to that SIEM's documentation.
Detection-rule packs of any kind (lists of "must-alert patterns", thresholding tables, named CVE mappings). Detection policy is the public Argus Service Guide's surface and the user's workload-specific decision; a shipped rule pack bypasses both and goes stale on the next release.
A
samples/,templates/, orreference/subtree of any kind. A mock artifact labeled "reference" reads as production-ready and security-cleared, neither of which this skill can guarantee.
Loading order
Read this skill first to confirm the user's question is in scope and that Argus is the right answer at all (vs. building on the DOCA App Shield library — not covered by this bundle, vs. deploying nothing, vs. deploying observability instead).
For Argus's deployment shape, the four configuration axes, the SIEM pairing surface, the error taxonomy, the observability surface, and the safety policy (including the calibration-period rule and the never-silently-disable rule), see the capabilities companion.
For step-by-step workflows — configure, build, modify, run, test, debug — see the tasks companion.
Related skills
doca-public-knowledge-map/SKILL.md— the routing table to the public DOCA Argus Service Guide and the rest of the public DOCA documentation set. The Argus URL is listed under## DOCA services(doca-public-knowledge-map/SKILL.md#doca-services).doca-setup/SKILL.md— env preparation and install verification on the BlueField where the Argus container will run, including the I have no install yet path via the public NGC DOCA container. This skill assumes its preconditions are satisfied on BlueField Arm.doca-version/SKILL.md— canonical DOCA version-handling rules. Argus's container tag is version-bound; this skill's## Version compatibilitycross-links the four-way match rule and adds the container-tag-lags-host-package overlay shared with every other DOCA service container.doca-structured-tools-contract/SKILL.md— the bundle's structured-tools precedence rule (detect / prefer / fall back / report). The Command appendix in the tasks companion honors this contract.doca-programming-guide/SKILL.md— general DOCA patterns. Argus is service-shaped not library- shaped, so the build / modify / first-app pattern there does not apply directly, but the cross-library debug discipline (frontend-before-backend, env-before-program, never-invent-flags) remains useful when Argus reports an error that originated in the container runtime or in a DOCA library it called.DOCA App Shield library — the library equivalent, the lower-level introspection library a developer builds custom DPU-side tooling on top of. It is not covered by this bundle; when Argus is genuinely insufficient and the team needs to build their own security product, route to the public docs via
doca-public-knowledge-map/SKILL.md. The path-selection rule in the capabilities companion routes the user to Argus first for production security.doca-dms/SKILL.mdanddoca-firefly/SKILL.md— sibling service skills with the same service-skill shape (container on BlueField Arm, Container Deployment Guide recipe, smoke-before-bulk, env preconditions) over a different domain (DMS = device management via gNMI / gNOI; Firefly = time sync via PTP; Argus = runtime security via finding emission).doca-debug/SKILL.md— the cross-cutting debug ladder (install / version / build / link / runtime / program / driver). Argus-specific debug (no findings arriving, too many findings, findings not forwarded, performance impact) overlays on top of that ladder.
Files
- ATTRIBUTION.mdAdded by AutoGineer888 B
- BENCHMARK.md10.8 KiB
- CAPABILITIES.md25.5 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md16.7 KiB
- SKILLCARD.yaml2.7 KiB
- TASKS.md31.1 KiB
- evals/evals.json2.4 KiB
- skill-card.md5.1 KiB
- skill.oms.sig5.1 KiB
TASKS.md
DOCA Argus Service — Tasks
Where to start: The order is configure → build → modify → run → test → debug. The ## test verb is an iterative loop, not a
one-shot pass — see the eval-loop overlay in ## test below. For
Argus, build and modify are about deployment configuration
(container image selection, mounted config file, forwarder wiring,
SIEM-side ingest), not about compiling source.
These verbs cover the in-scope Argus operational workflows for an
external operator deploying the Argus container on BlueField.
Every step assumes the operator has consulted the live public
DOCA Argus Service Guide (reachable through
doca-public-knowledge-map ## DOCA services (doca-public-knowledge-map/SKILL.md#doca-services))
and is using it as the authoritative reference; this file
prescribes the order and what to look up where, not a
copy-paste runbook.
configure
Preparing the BlueField, picking the four configuration axes, and planning the end-to-end pipeline (Argus → forwarder → SIEM → ops review) before the container starts.
Confirm Argus is actually the right answer. Per the path-selection rule in
CAPABILITIES.md ## Safety policy:Does the user want production runtime security on BlueField as a packaged workflow, with findings flowing into existing SIEM infrastructure? If yes, Argus is the right answer — and specifically, recommend Argus over building from the DOCA App Shield library for this production case. The bundled product is the production default; the library is the right answer only when the user is genuinely building a custom security product of their own.
Is the user trying to build a custom DPU-side security tool of their own? That is the DOCA App Shield library — same shape of BlueField-side observation, different shape of operator effort — which is not covered by this bundle; route them to the public docs via
doca-public-knowledge-map/SKILL.md.Does the user actually want observability / metrics rather than security? Route to the DOCA Telemetry Service via
doca-public-knowledge-map ## DOCA services(doca-public-knowledge-map/SKILL.md#doca-services).Is there no security-posture concern at all? Stop here honestly — Argus has operational cost (container, sampling CPU, SIEM channel) and deploying it for nothing is not a neutral choice.
Confirm the env is healthy. This skill expects DOCA to be installed on the BlueField. If that has not been verified, run
doca-setup ## test(doca-setup/TASKS.md#test) first. If the user has no install yet, route todoca-setup ## no-install(doca-setup/TASKS.md#no-install) for the public NGC DOCA container path.Decide the four configuration axes. Per the four-axis table in
CAPABILITIES.md ## Capabilities and modes, commit before starting the container to:Detection policy — which classes of anomaly (suspicious activity, integrity violations, operational anomalies) Argus alerts on. Derived from the public Argus Service Guide's detection-policy section against the user's workload pattern. Expect to tune this during the calibration period.
Forwarding destination — local logs (smoke only) or a SIEM (Splunk / ELK / Sentinel / generic syslog). The production default is SIEM-forwarded; local-only is for the smoke step in
## test.Sampling / sensitivity — the false-positive vs false-negative trade-off. Production sampling is a different posture from lab sampling; size sampling against the workload's CPU / latency budget, not against the "find everything" instinct.
Host coverage — which host targets the deployment monitors (the BlueField itself, the attached host, both, and the documented per-process / per-service scoping if the public guide exposes it for this release).
Plan the SIEM-side ingest. Decide where findings land (Splunk / ELK / Sentinel / generic syslog) and confirm the SIEM team is ready to receive them. Capture the SIEM endpoint's hostname, the forwarder protocol the public Argus Service Guide names, and the auth material the forwarder expects. The SIEM-side ingest body itself is the SIEM team's responsibility and lives in the SIEM's own documentation; Argus's contract is to emit findings in the documented format.
Plan the calibration period. Before declaring the channel production-ready, the operator should reserve a calibration window (per the calibration-period rule in
CAPABILITIES.md ## Safety policy) to triage initial false positives, tune the detection policy per the public guide, and confirm a steady-state finding baseline. Record the exit criteria before starting: minimum observation window, representative workload phases and smoke events, quantified acceptable finding/false-positive budget, zero missed required smoke detections, no undocumented disables, and the security-ops owner who must sign off. Skipping this step is how a noisy initial channel either floods the SIEM ops queue or trains the team to ignore Argus findings entirely.Author the Argus container config. From the public DOCA Argus Service Guide, derive the config file fragment for the chosen detection policy / forwarder / sampling / host coverage. Quote config keys from the live guide, do NOT infer them from generic security-tooling knowledge or from a previous Argus release. Plan where the config file will live on the BlueField filesystem and what mount path the container expects.
build
Argus is a service shipped as a container, not a library. There is no Argus application artifact for the operator to build — the container ships from NGC and the config is a static file.
If the user is asking how to build a custom DPU-side security tool (a program that reads host state from the BlueField side to make its own decisions), that is not an Argus question — it is the path-selection rule pointing at the DOCA App Shield library, which is not covered by this bundle:
For applications that introspect the host's running kernel state from the DPU side (rootkit detection, periodic process / module / library / thread snapshots, integrity verification), the build is the App Shield library's build — route the user to the public docs via
doca-public-knowledge-map/SKILL.mdand todoca-programming-guide/SKILL.mdfor the canonical build pattern.For applications that consume Argus's findings (an internal dashboard, a custom enrichment pipeline that sits between Argus and the SIEM, a hand-written alert correlator), no DOCA-specific build is needed — the application reads the documented forwarder format that Argus emits, against whatever language the consumer is written in. The forwarder format is the public Argus Service Guide's surface, not a DOCA C ABI.
If the user is instead asking how to build the Argus container
itself from source, that is not an external-operator workflow
— the container ships pre-built from NGC and rebuilding it is
out of scope for this skill. Route to the public DOCA Argus
Service Guide via doca-public-knowledge-map ## DOCA services (doca-public-knowledge-map/SKILL.md#doca-services).
modify
Argus does not have a "modify a sample" workflow analogous to DOCA libraries; there is no Argus sample program a user starts from. The Argus analog of "modify" is adapt the documented container config recipe to the user's environment and tune the detection policy as the calibration period progresses:
Start from the documented recipe. Identify the public guide's recipe that matches the user's deployment posture (the same detector classes, the same forwarder target shape, the same sampling tier). Quote it; do not author a new one from scratch.
Diff against the user's environment. Note the specific substitutions the user must make: SIEM endpoint hostname, forwarder auth material, host-coverage scoping (which host targets), sampling tier (production vs lab), config file path, container image tag (always pulled from NGC per the public guide).
Apply minimum-change. Change only what the user's environment forces. Every additional deviation from the documented recipe widens the surface for an unintended detection-policy or forwarder mismatch the operator will have to debug later.
Re-validate against the four-axis table. Each substitution is a chance to accidentally break one of the four axes (detection policy / forwarding / sampling / host coverage). Walk
CAPABILITIES.md ## Capabilities and modesone row at a time after every substitution.Re-validate against the calibration-period and never-silently-disable rules. Per the safety policy in
CAPABILITIES.md ## Safety policy, any change that turns a detector class off must be explicit, documented, and time-boxed with a re-evaluation date. An undocumented disable is a silent blind spot the next operator will not know about.Re-open the calibration period. Any non-trivial detection policy mutation, sampling change, or host-coverage change re-opens the calibration period — re-run the smoke step in
## testbefore re-enabling production alerting on the SIEM channel.
The agent's anti-pattern alert: a "copy a generic security agent's config and adapt" is almost always slower than starting from the public Argus Service Guide's recipe, because Argus's config schema is documented per the public guide and is not 1:1 with any other security agent.
run
Bringing up the Argus container and confirming the end-to-end pipeline (Argus → forwarder → SIEM ingest → ops review) is flowing, BEFORE enabling any production alerting on top.
Pull the Argus container image from NGC at the tag the public Argus Service Guide names for the operator's DOCA release. Quote the tag from the live guide; do NOT memorize or invent the tag.
Start the container per the public Container Deployment Guide pattern. Mount the Argus config file at the path the public Argus Service Guide names. The runtime command shape (e.g.
docker run/crictl/ BlueField container manager) is documented in the Container Deployment Guide reachable throughdoca-public-knowledge-map ## DOCA services(doca-public-knowledge-map/SKILL.md#doca-services).Confirm the container is running, not restart-looping. A restart loop is a layer-1 symptom per
CAPABILITIES.md ## Error taxonomy(container runtime / image tag / config mount); diagnose it before touching detection policy.Watch the Argus container's logs for the documented startup-banner and detector-activation lines. The container's stdout is the primary operational observability surface. Confirm that the detectors the operator configured are listed as activated; a detector that is silently absent from the activation list will be silently absent from the finding feed.
Confirm the forwarder handshake. The container should emit a documented forwarder-handshake line confirming the SIEM endpoint is reachable and authenticated. If it does not, stop and walk
CAPABILITIES.md ## Error taxonomylayer 3 before continuing — there is no point in waiting for findings if the forwarder cannot deliver them.Confirm the SIEM-side ingest. The end-to-end pipeline is not "Argus emitted a forwarder packet"; it is "the SIEM dashboard shows the heartbeat / handshake / first event that Argus emitted". Get the SIEM team to confirm receipt before waiting on real findings.
Single-event smoke (next:
## teststep 1). Before enabling production alerting on the SIEM channel, walk## teststep 1 on a non-production monitored workload: enable the documented Process Created event and start one harmless, pre-approved process. Confirm that exact event traverses the end-to-end pipeline; only then layer production alerting on top.
For the runtime version + container-tag cross-checks that
underlie "my Argus behaves differently from what the docs say",
see doca-version TASKS.md ## run (doca-version/TASKS.md#run)
and apply the container-tag-lags-host-package overlay from
CAPABILITIES.md ## Version compatibility.
test
Argus has no "compile and unit-test" workflow — testing is operational and end-to-end.
## test is an iterative loop, not a one-shot pass. Every
mutation (detection policy change, forwarder change, sampling
change, host-coverage change, SIEM-side ingest change) re-opens
the smoke sweep AND re-opens the calibration period. Skipping
either is the failure mode this loop replaces.
The eval-loop overlay (rows apply to every Argus deployment, not just one detection policy):
| Step | Why this is a loop, not a step | Where the substance lives |
|---|---|---|
| 1 → 4 → 1 | Step 4 (SIEM-side review check) often reveals a forwarder gap or a host-coverage gap; loop back to step 1 and re-run the smoke | ## test step 4 |
| 2 → ## debug | When the four-axis smoke produces a flood of findings or a complete absence of findings, the deployment is non-functional — escalate to ## debug layer 2 immediately, do not enable production alerting | ## debug |
| 3 → ## configure → 3 | When the SIEM does not receive the smoke event, the forwarder is wrong — loop back to ## configure step 4 and re-run | ## configure |
| Calibration tuning → 2 → calibration tuning | Every detection-policy tuning during the calibration period re-opens the false-positive baseline; re-walk the four-axis smoke after each tuning pass | ## debug layer 2 |
| 1..5 → ## run | Each loop iteration ends with a smoke; if all five pass AND the calibration period is over, hand off to live ## run alerting | ## run |
The agent's rule: every mutation re-opens BOTH the smoke sweep AND the calibration period. A configuration change followed by "it probably still works" is exactly the failure mode the iterative loop is here to prevent — and in security tooling, the silent failure mode means the channel goes blind in a way nobody notices until the first real event.
End-to-end smoke using a documented event. With Argus running and the forwarder wired, use a non-production monitored workload. Enable the public guide's documented Process Created event, record the local and receiver baselines, then start one harmless, pre-approved process. Confirm in order: (a) Argus container stdout shows the documented startup state with the configured detectors active and the forwarder handshake successful; (b) the corresponding Process Created event for the approved process appears in Argus's local event log; (c) that same event ID appears at the dedicated smoke receiver or tagged, non-alerting SIEM index the security ops team will review. Do not invent a detector, alert, or synthetic-event interface: process creation is the documented source-backed mechanism.
Four-axis smoke without disabling detection. Repeat the same release-matched Process Created smoke after each proposed detection-policy, forwarding, sampling, or host-coverage change, one axis at a time, on the non-production workload and smoke destination. Compare the identical local and receiver evidence against the baseline. Where the public guide documents a non-matching benign event, also confirm it does not produce that detector's alert while the container, other enabled detectors, and forwarder remain healthy. Do not deliberately misconfigure or disable an unspecified detector to manufacture a negative case.
Forwarder failure smoke (strictly gated). Prefer a dedicated test receiver whose reachability can be interrupted without affecting production. Inject an outage only there, or during an explicit owner-approved maintenance window for the real SIEM endpoint. Never stop or block a shared production SIEM merely for an Argus test. Confirm the documented forwarder error path, restore reachability, and account for queued findings per the public guide. If isolation is impossible, require SIEM-owner approval, a time-boxed maintenance window, production-alert suppression for the test stream, and a data-gap accounting plan; otherwise skip destructive fault injection and escalate to the SIEM owner. This validates the forwarder, not Argus.
Calibration-period triage. Run the deployment against the real workload, in a posture where findings flow to a smoke destination (or a tagged SIEM index that the security ops team is NOT yet alerting on). Triage the false-positive stream; tune the detection policy per the public guide; loop until the pre-recorded calibration exit criteria all hold and the security-ops owner signs off. Per the calibration-period rule in
CAPABILITIES.md ## Safety policy, early false positives are expected, not bugs; never silently disable a detector class to make the stream quieter.Capability snapshot. Save the as-deployed answer to: which Argus container tag is running, which detection policy / forwarder / sampling / host coverage are in effect, which SIEM the forwarder targets, what the steady-state finding baseline looks like at the end of calibration, and which detector classes (if any) are explicitly disabled and on what timeline they will be re-evaluated. This snapshot is the artifact that lets future debug sessions skip rediscovery — and the never-silently-disable rule says the disable list MUST be in the snapshot.
debug
Layered diagnosis. Walk the layers in this order; do not skip
down without clearing the layer above. The five layers match
CAPABILITIES.md ## Error taxonomy.
To "clear" a layer, capture the layer's named healthy evidence and
show that its listed symptoms are absent; applying a proposed
resolution alone does not clear it.
Container runtime layer. Is the Argus container actually running and not restart-looping? Symptoms: container exits immediately, image pull fails, restart count climbing. Resolution: confirm the image tag matches what the public guide names for the operator's DOCA release; confirm the config mount path matches what the public guide names; confirm BlueField has the runtime configured per the public Container Deployment Guide. This layer is owned by the container runtime, not by detection policy. Cleared when: the release-matched image is running, its restart count is stable across two reads, and the documented config mount is present.
Detection-policy layer. Container green; no findings arriving (false-negative posture) or far too many findings arriving (false-positive flood). Resolution: walk the detection-policy section of the public Argus Service Guide against the user's actual workload pattern. Per the calibration-period rule in
CAPABILITIES.md ## Safety policy, early-deployment false positives are expected and call for tuning, not for silently disabling detectors; sustained false negatives call for confirming the detection policy actually covers the classes of anomaly the user cares about. Do NOT recommend silently disabling a detector class to quiet the stream. Use the public guide's tuning surface or the sampling knob instead, and if a disable is truly needed, document it and time-box it. Cleared when: the required documented smoke detections pass, the recorded calibration budget holds for its observation window, and no detector is disabled outside the disable register.Forwarding-destination layer. Findings present in Argus's local finding feed; SIEM ingest empty. Resolution: walk the forwarder config in the Argus container, the network reachability from the BlueField to the SIEM endpoint, and the auth material the SIEM is configured to accept. This layer is owned by the forwarder and the SIEM-side ingest, not by the detection policy — re-tuning the detection policy here is wasted effort. Cleared when: the local finding and the same finding identifier appear at the intended SIEM destination, and the documented forwarder health signal remains green.
Sampling / performance layer. Argus healthy, findings correct, SIEM receiving — but the host workload's performance is noticeably impacted (CPU / latency) since Argus started. Resolution: the sampling knob is the first thing to re-tune per the public guide; lower the sampling tier to the production posture (it is a different posture from lab sampling). Do NOT respond to performance impact by disabling detector classes silently — re-tune sampling first, then re-tune detection policy if sampling alone is insufficient, and document any disable. Cleared when: the workload's pre-recorded CPU/latency budget holds during a representative observation window while required smoke detections still pass.
Host-coverage layer. Argus healthy, findings correct, SIEM receiving — but the findings are about the wrong host targets (silent about the workload the operator cared about, noisy about out-of-scope targets). Resolution: walk the host-coverage axis in the Argus config per the public guide and re-scope. The Argus container can be perfectly green and still be looking the wrong direction. Cleared when: documented smoke events from every intended target are observed and equivalent events from explicitly out-of-scope targets do not enter the review stream.
Version layer. When the public Argus Service Guide page appears to disagree with what the deployed container does, the docs version may not match the container tag. Walk
doca-version TASKS.md ## debug(doca-version/TASKS.md#debug) layer 2 (partial install / version mismatch) and apply the container-tag overlay fromCAPABILITIES.md ## Version compatibility. Cleared when: the running container tag, release-matched guide, and applicable DOCA/BFB anchors satisfy thedoca-versioncheck.Cross-cutting layer. For env-side and program-side debug that is not Argus-specific (host install, host kernel, DOCA library errors Argus may surface), drop to
doca-debug TASKS.md ## debug(doca-debug/TASKS.md#debug). Cleared when: the owning debug skill names and observes its green signal; Argus does not declare this layer clear on its behalf.
Command appendix
Argus-specific commands the verbs above reach for, grouped by
purpose so the agent picks the right family without searching
prose. Every row is a class — the agent must not invent flags
beyond what the row names; flag and command discovery is --help
on the installed tool or the public guide, not prose recall.
Infra-aware preamble (every row below). Per the bundle's
detect → prefer → fall back → report contract documented in
doca-structured-tools-contract ## The agent behavior contract (doca-structured-tools-contract/SKILL.md#the-agent-behavior-contract),
the agent should:
Probe for the matching structured helper FIRST (
doca-env --jsonfor version + devices + libraries + drivers + hugepages in one shot; the BlueField container manager's structured status output when available).If the probe succeeds, the structured tool's output is the authoritative answer and the agent SHOULD NOT also run the manual command in the row below. Report "using structured
<tool>".If the probe fails, fall back to the manual command in the row. Report "falling back to manual chain".
The schemas the structured tools emit are defined in
doca-structured-tools-contract ## Schemas(doca-structured-tools-contract/SKILL.md#schemas); the version-handling semantics (four-way match, NGC, headers-win) are owned bydoca-version/SKILL.md.
| Purpose | Command (class shape) | Owning step | Reads as healthy when … |
|---|---|---|---|
| Container lifecycle | The BlueField container manager's start / stop / status command for the Argus container, per the public Container Deployment Guide | ## run | Container running, restart count stable. |
| Container logs | The BlueField container manager's log-stream command for the Argus container | ## debug layer 1 + 2 | Documented startup banner + detector-activation lines + forwarder-handshake line visible; no documented error / warning lines repeating. |
| Finding feed (local) | The Argus container's documented finding-feed surface (per the public guide — API endpoint / dashboard / structured log) | ## test step 1; ## debug layer 2 | Findings emitted at the steady-state baseline established during calibration; smoke-event finding visible during the smoke. |
| Forwarder handshake | The documented forwarder-status line in the container log; cross-checked against the SIEM team's reception confirmation | ## run step 5; ## debug layer 3 | Forwarder handshake succeeded; the SIEM team confirms the heartbeat / handshake event. |
| SIEM-side ingest confirmation | The SIEM team's normal ingest-confirmation surface — Splunk search / Kibana dashboard / Sentinel data-connector status — for the index / data type Argus targets | ## test step 1 (d); ## debug layer 3 | Smoke event present in the SIEM review surface; steady-state findings flow visible at the expected rate. |
| Workload-CPU / latency baseline | The user's normal workload-performance measurement on the host (top / vmstat / application-side latency probe) before vs after Argus starts | ## debug layer 4 | Workload performance is within the production budget; no step-change since Argus started. |
| Container tag in use | The BlueField container manager's image-inspect command for the running Argus container | ## run step 1; ## debug layer 6 | Tag matches what the public Argus Service Guide names for the operator's DOCA release. |
| Disable register | The operator's own documented record of detector classes explicitly disabled, with reason and re-evaluation date | ## test step 5 | The register is current; no detector class is disabled without a documented reason and a re-evaluation date. |
Three cross-cutting rules for this appendix:
Never invent an Argus config key, container tag, detector name, or forwarder protocol detail. The public Argus Service Guide is the contract; the SIEM's own docs are the secondary source for the SIEM-side ingest. Prose-derived flags or detector names are the most common hallucination failure for this skill.
Container before findings. When triaging, confirm the container layer (running, not restart-looping, image tag correct, detectors activated, forwarder handshake) before reading any finding-layer or SIEM-layer command. A non-running container makes every downstream command meaningless.
Cross-link instead of duplicate. Cross-cutting env commands (port-state,
devlink,ip link,ethtool) live indoca-setup TASKS.md ## Command appendix(doca-setup/TASKS.md#command-appendix); this appendix names only the Argus-specific ones.
Deferred task verbs
Installing DOCA on the BlueField — out of scope here. Route to
doca-setup ## configure(doca-setup/TASKS.md#configure) for env preparation anddoca-setup ## test(doca-setup/TASKS.md#test) for install health verification, ordoca-setup ## no-install(doca-setup/TASKS.md#no-install) for the public NGC DOCA container path.Configuring the SIEM-side ingest (Splunk forwarder stanzas, Logstash pipelines, Sentinel data-connector blocks) — out of scope here. The Argus contract is that the forwarder must reach the SIEM and what the documented forwarder format is; the SIEM-side ingest body is the SIEM team's responsibility and lives in the SIEM's own documentation.
Designing the security posture (which classes of anomaly matter for a given workload, regulatory mappings, incident response runbooks) — out of scope here. That is a security-program / posture-design concern that the operator and the security ops team own; Argus only emits findings the posture has decided are worth emitting.
Building a custom DPU-side security tool — not an Argus question. That is the DOCA App Shield library, which is not covered by this bundle; route the user to the public docs via
doca-public-knowledge-map/SKILL.mdplusdoca-programming-guide ## build(doca-programming-guide/TASKS.md#build) for the canonical build pattern.Other DOCA services (DMS / DTS / Firefly / BlueMan / HBN / …) — not Argus. Route to doca-public-knowledge-map ## DOCA services (
doca-public-knowledge-map/SKILL.md#doca-services) for the routing table and the matchingservices/<service>skill when it exists (e.g.doca-dms ## configure(doca-dms/TASKS.md#configure) for device management, ordoca-firefly ## configure(doca-firefly/TASKS.md#configure) for PTP). The container-shaped deployment pattern is shared; the per-service domain is different.
Cross-cutting
The public DOCA Argus Service Guide is the single source of truth. Any config key, detector name, container tag, forwarder protocol detail, or observability output the agent quotes must come from there, not from generic security-tooling knowledge or memory from a previous Argus release.
Argus is END-TO-END. The container emits findings; the forwarder ships them to the SIEM; the SIEM ingests and presents; the security ops team reviews. All four legs are mandatory; naming only one is how the channel silently breaks.
Path-selection is mandatory up front. Argus (the packaged product) is the production default; the DOCA App Shield library (not covered by this bundle) is the right answer only when the user is genuinely building their own security product; observability questions go to DOCA Telemetry Service; no-security-concern cases get Argus not deployed.
Expect a calibration period; never silently disable findings. Initial false positives are tuning input, not bugs. A detector class that must be turned off is turned off explicitly, with a reason and a re-evaluation date — the silent disable is the failure mode this skill exists to prevent.
Smoke before bulk. One known-benign event must traverse the full Argus → forwarder → SIEM pipeline, with a baseline established, before the SIEM team's production alerting is enabled on the channel.
For URL routing to the Argus guide and other public DOCA documentation, see doca-public-knowledge-map ## DOCA services (
doca-public-knowledge-map/SKILL.md#doca-services).
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
The author says: BlueField-Arm-only DOCA service container; pulled from NVIDIA NGC and started under the BlueField OS container runtime per the public DOCA Container Deployment Guide. Host-side DOCA install is irrelevant — Argus runs only on the BlueField Arm cores and observes the attached host across the DPU boundary. The validation steps require a live DOCA install.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/doca-argus · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-argus.zip