Assess Juniper SRX evidence against the source-pinned DISA STIG and produce conservative rule-level findings. Use when reviewing NDM, ALG, IDPS, or VPN profiles, CAT I/II/III results, CKL preparation, evidence gaps, Junos compatibility, remediation plans, or assessor-ready SRX STIG reports. Parse raw configs first.
Use this skill to assess Juniper SRX evidence against the pinned DISA Y25M01
benchmark at rule level. It selects the applicable SRX component catalogs,
preserves V-ID/SV-ID/JUSX identifiers and CAT severity, distinguishes four
evidence classes, and produces conservative STIG Viewer statuses.
This is assessment support, not a certification or authorization decision. Never
state that an SRX, enclave, or organization is DISA compliant. Say which selected
Y25M01 rules the supplied evidence supports, which are Open, and which remain Not
Reviewed. Final scope, applicability, risk acceptance, and authorization belong
to the assessor and Authorizing Official (AO).
Runtime intake
Before starting the workflow, inspect the request, supplied artifacts, and
available approved read-only evidence. If unresolved facts could materially
change safety, scope, correctness, confidence, or the requested output, read
references/runtime-intake.md.
For each unresolved material fact whose catalog condition is true, invoke Claude AskUserQuestion or Codex request_user_input before continuing or issuing an open-ended request.
Ask at most three single-select catalog questions per round. After each response, ask another round whenever any unresolved material catalog condition remains true; continue only when none remain. Do not repeat answered questions or show the full catalog.
Without a native tool, present each selected catalog question with its 2-3 labeled choices and a free-text Other path in concise plain text; do not substitute a generic checklist.
Never request secrets or unredacted customer data. Treat intake answers as task
context, not approval for a live change; obtain separate explicit approval
before configuration, commit, upgrade, reboot, delete, or failover actions.
Source lock
Read references/source-pin.md before assessment. Version 1.0.0 uses only NIST
NCP checklist 657 / DISA Y25M01 with the recorded SHA-256. Report the release and
checksum in every result.
Fail closed if the supplied checklist, CKL, XCCDF, or source metadata has another
release or checksum. Do not mix identifiers, severities, checks, or fixes across
revisions. A different source requires the documented refresh and reconciliation
process before evaluation.
Scope intake
Collect and label these facts before assigning status:
Device model, Junos release, FIPS mode where relevant, serial/asset identifier
or a safe pseudonym, and assessment date.
Root, logical-system, tenant, routing-instance, cluster-node, and management
scope represented by each input.
Device roles: firewall, IDPS, network IPsec VPN, router, switch, remote access,
or another function.
Input inventory: raw configuration, normalized parse, operational commands,
diagrams/authorized-flow records, policy/process evidence, and collection
timestamps.
Whether each evidence source is complete and current for its claimed scope.
Do not infer that an unmentioned role is unused. Record unknown role evidence as
a scope gap.
Profile routing
Read references/profile-router.md and select components before loading rule
catalogs:
Always select NDM and ALG for an SRX firewall assessment.
Add IDPS when the SRX supplies the IDPS function.
Add VPN when it supplies network IPsec VPN.
Load only the selected files:
references/profiles/ndm.md
references/profiles/alg.md
references/profiles/idps.md
references/profiles/vpn.md
Report router, switching, remote-access, or other applicable STIGs as an
out-of-scope handoff; do not pretend this package covers them.
Omit an evidenced-unused component from selected scope. Do not populate an
unselected component with mass Not Applicable results.
Evidence contract
Read references/status-evidence-model.md before evaluating rules. Evidence is
classified as:
N — normalized configuration: facts represented by the shared parser.
R — raw configuration: syntax or semantics not fully normalized.
O — operational evidence: running release, licenses, state, counters,
packages, logs, alerts, sessions, or health.
M — manual/environment evidence: roles, topology, approvals, authorized
flows, organization-defined values, retention, recipients, processes, or AO
decisions.
Record evidence identifier, provenance, device/context scope, collection time,
freshness, and completeness. Parse raw configuration with
parsing-srx-configs, but retain raw and operational evidence separately.
Never equate missing input with missing configuration. Parser-generated values,
including _implicit: true defaults, do not independently prove an explicit
STIG requirement.
Status contract
Use only these statuses:
Not Reviewed — default for missing, partial, ambiguous, stale, unsupported,
or unobservable evidence required by a selected rule. This does not authorize
results for an unselected component.
Open — complete applicable evidence proves the rule is not satisfied.
Not a Finding — complete applicable evidence proves every required
predicate is satisfied.
Not Applicable — the rule explicitly permits N/A and complete evidence
proves its applicability condition false.
Do not use N/A as a substitute for missing evidence. Do not change CAT or status
because of mitigation, POA&M entry, compensating control, or risk acceptance;
record those separately.
Assessment workflow
Pin the source. Verify Y25M01 and the recorded digest.
Establish scope. Record device/context identity, roles, inputs,
completeness, and collection dates.
Parse without discarding provenance. Use parsing-srx-configs for
normalized facts and keep raw/residual evidence visible.
Select profiles. Route NDM+ALG and conditional IDPS/VPN.
Load selected catalogs. Preserve source order and all three identifiers.
Evaluate required evidence. Apply each row's applicability, evidence,
decision, and compatibility fields.
Assign conservative status. Incomplete proof remains Not Reviewed.
Separate compatibility. Read references/junos-compatibility.md; formal
STIG status and current Junos support are different axes.
Prepare remediation only. Hand configuration design to the relevant SRX
skill after target release/platform verification. Use the catalog's
component/V-ID source pointer to locate exact check/fix prose in the pinned
XCCDF; the catalog summary is not a substitute for that source.
Report and self-check. Use references/reporting.md and the checklist
below.
Compatibility and remediation boundary
The benchmark includes legacy, inconsistent, or release-sensitive guidance.
verification_required means preserve the formal rule outcome while requiring
current primary Juniper evidence before recommending syntax. Never silently
modernize the benchmark or treat a stronger vendor recommendation as a different
formal status.
Default operations are read-only: read, parse, analyze, report, plan, and
dry-run. Do not configure, commit, upgrade, reboot, delete, fail over, or clear
device state. A later device change requires explicit approval, exact target
validation, a reviewed diff, rollback protection, and post-change verification.
Do not expose credentials, PSKs, private keys, customer configuration, or
unredacted assessment evidence.
Output contract
Use the templates and field definitions in references/reporting.md. Every
assessment must include:
benchmark release/checksum and selected component releases;
device/context and role scope;
evidence inventory and completeness/freshness limitations;
totals by component, CAT, and status;
one result per selected rule with V-ID, SV-ID, JUSX ID, CAT, status, evidence,
rationale, and compatibility;
Not Reviewed/evidence-gap and unsupported queues;
remediation candidates and assessor/AO decisions kept separate from status;
and
the explicit compliance nonclaim.
Common failure modes
Treating a clean config review as proof of operational or manual controls.
Marking missing configuration when only the input is missing.
Marking entire unused profiles N/A instead of excluding them from scope.
Applying N/A without the rule's explicit condition and proof.
Mixing Y25M01 identifiers with another CKL or XCCDF release.
Copying legacy fix examples to a modern SRX without release validation.
Letting _implicit: true or a Junos default satisfy an explicit/logged rule.
Collapsing logical systems, tenants, nodes, or roles into one evidence scope.
Changing severity or status because a risk was accepted.
Claiming that the device or environment is compliant.
Pre-Return Self-Check
Source is NIST checklist 657 / DISA Y25M01 and checksum matches the pin.
Device/context, release, roles, evidence dates, and completeness are stated.
NDM+ALG are selected; IDPS/VPN selection is supported by role evidence.
Rule counts match the selected component catalogs.
Every result preserves V-ID, SV-ID, JUSX ID, and CAT.
Missing, stale, ambiguous, unsupported, or partial evidence is Not Reviewed.
Open and Not a Finding use complete proof; N/A follows the rule condition.
Formal status is separate from compatibility, mitigation, POA&M, and AO decisions.
No legacy remediation syntax is presented as current without verification.
No secrets or sensitive raw evidence appear in the output.
The report does not claim device, environment, authorization, or product compliance.
1---2name: srx-disa-stig-compliance3description: Assess Juniper SRX evidence against the source-pinned DISA STIG and produce conservative rule-level findings. Use when reviewing NDM, ALG, IDPS, or VPN profiles, CAT I/II/III results, CKL preparation, evidence gaps, Junos compatibility, remediation plans, or assessor-ready SRX STIG reports. Parse raw configs first.4license: MIT5---67# SRX DISA STIG Compliance89## Purpose and nonclaim1011Use this skill to assess Juniper SRX evidence against the pinned DISA Y25M0112benchmark at rule level. It selects the applicable SRX component catalogs,13preserves V-ID/SV-ID/JUSX identifiers and CAT severity, distinguishes four14evidence classes, and produces conservative STIG Viewer statuses.1516This is assessment support, not a certification or authorization decision. Never17state that an SRX, enclave, or organization is DISA compliant. Say which selected18Y25M01 rules the supplied evidence supports, which are Open, and which remain Not19Reviewed. Final scope, applicability, risk acceptance, and authorization belong20to the assessor and Authorizing Official (AO).2122## Runtime intake2324Before starting the workflow, inspect the request, supplied artifacts, and25available approved read-only evidence. If unresolved facts could materially26change safety, scope, correctness, confidence, or the requested output, read27`references/runtime-intake.md`.2829For each unresolved material fact whose catalog condition is true, invoke Claude `AskUserQuestion` or Codex `request_user_input` before continuing or issuing an open-ended request.30Ask at most three single-select catalog questions per round. After each response, ask another round whenever any unresolved material catalog condition remains true; continue only when none remain. Do not repeat answered questions or show the full catalog.31Without a native tool, present each selected catalog question with its 2-3 labeled choices and a free-text `Other` path in concise plain text; do not substitute a generic checklist.3233Never request secrets or unredacted customer data. Treat intake answers as task34context, not approval for a live change; obtain separate explicit approval35before configuration, commit, upgrade, reboot, delete, or failover actions.3637## Source lock3839Read `references/source-pin.md` before assessment. Version 1.0.0 uses only NIST40NCP checklist 657 / DISA Y25M01 with the recorded SHA-256. Report the release and41checksum in every result.4243Fail closed if the supplied checklist, CKL, XCCDF, or source metadata has another44release or checksum. Do not mix identifiers, severities, checks, or fixes across45revisions. A different source requires the documented refresh and reconciliation46process before evaluation.4748## Scope intake4950Collect and label these facts before assigning status:51521. Device model, Junos release, FIPS mode where relevant, serial/asset identifier53 or a safe pseudonym, and assessment date.542. Root, logical-system, tenant, routing-instance, cluster-node, and management55 scope represented by each input.563. Device roles: firewall, IDPS, network IPsec VPN, router, switch, remote access,57 or another function.584. Input inventory: raw configuration, normalized parse, operational commands,59 diagrams/authorized-flow records, policy/process evidence, and collection60 timestamps.615. Whether each evidence source is complete and current for its claimed scope.6263Do not infer that an unmentioned role is unused. Record unknown role evidence as64a scope gap.6566## Profile routing6768Read `references/profile-router.md` and select components before loading rule69catalogs:7071- Always select NDM and ALG for an SRX firewall assessment.72- Add IDPS when the SRX supplies the IDPS function.73- Add VPN when it supplies network IPsec VPN.74- Load only the selected files:75 - `references/profiles/ndm.md`76 - `references/profiles/alg.md`77 - `references/profiles/idps.md`78 - `references/profiles/vpn.md`79- Report router, switching, remote-access, or other applicable STIGs as an80 out-of-scope handoff; do not pretend this package covers them.8182Omit an evidenced-unused component from selected scope. Do not populate an83unselected component with mass Not Applicable results.8485## Evidence contract8687Read `references/status-evidence-model.md` before evaluating rules. Evidence is88classified as:8990- **N — normalized configuration:** facts represented by the shared parser.91- **R — raw configuration:** syntax or semantics not fully normalized.92- **O — operational evidence:** running release, licenses, state, counters,93 packages, logs, alerts, sessions, or health.94- **M — manual/environment evidence:** roles, topology, approvals, authorized95 flows, organization-defined values, retention, recipients, processes, or AO96 decisions.9798Record evidence identifier, provenance, device/context scope, collection time,99freshness, and completeness. Parse raw configuration with100`parsing-srx-configs`, but retain raw and operational evidence separately.101102Never equate missing input with missing configuration. Parser-generated values,103including `_implicit: true` defaults, do not independently prove an explicit104STIG requirement.105106## Status contract107108Use only these statuses:109110- **Not Reviewed** — default for missing, partial, ambiguous, stale, unsupported,111 or unobservable evidence required by a selected rule. This does not authorize112 results for an unselected component.113- **Open** — complete applicable evidence proves the rule is not satisfied.114- **Not a Finding** — complete applicable evidence proves every required115 predicate is satisfied.116- **Not Applicable** — the rule explicitly permits N/A and complete evidence117 proves its applicability condition false.118119Do not use N/A as a substitute for missing evidence. Do not change CAT or status120because of mitigation, POA&M entry, compensating control, or risk acceptance;121record those separately.122123## Assessment workflow1241251. **Pin the source.** Verify Y25M01 and the recorded digest.1262. **Establish scope.** Record device/context identity, roles, inputs,127 completeness, and collection dates.1283. **Parse without discarding provenance.** Use `parsing-srx-configs` for129 normalized facts and keep raw/residual evidence visible.1304. **Select profiles.** Route NDM+ALG and conditional IDPS/VPN.1315. **Load selected catalogs.** Preserve source order and all three identifiers.1326. **Evaluate required evidence.** Apply each row's applicability, evidence,133 decision, and compatibility fields.1347. **Assign conservative status.** Incomplete proof remains Not Reviewed.1358. **Separate compatibility.** Read `references/junos-compatibility.md`; formal136 STIG status and current Junos support are different axes.1379. **Prepare remediation only.** Hand configuration design to the relevant SRX138 skill after target release/platform verification. Use the catalog's139 component/V-ID source pointer to locate exact check/fix prose in the pinned140 XCCDF; the catalog summary is not a substitute for that source.14110. **Report and self-check.** Use `references/reporting.md` and the checklist142 below.143144## Compatibility and remediation boundary145146The benchmark includes legacy, inconsistent, or release-sensitive guidance.147`verification_required` means preserve the formal rule outcome while requiring148current primary Juniper evidence before recommending syntax. Never silently149modernize the benchmark or treat a stronger vendor recommendation as a different150formal status.151152Default operations are read-only: read, parse, analyze, report, plan, and153dry-run. Do not configure, commit, upgrade, reboot, delete, fail over, or clear154device state. A later device change requires explicit approval, exact target155validation, a reviewed diff, rollback protection, and post-change verification.156Do not expose credentials, PSKs, private keys, customer configuration, or157unredacted assessment evidence.158159## Output contract160161Use the templates and field definitions in `references/reporting.md`. Every162assessment must include:163164- benchmark release/checksum and selected component releases;165- device/context and role scope;166- evidence inventory and completeness/freshness limitations;167- totals by component, CAT, and status;168- one result per selected rule with V-ID, SV-ID, JUSX ID, CAT, status, evidence,169 rationale, and compatibility;170- Not Reviewed/evidence-gap and unsupported queues;171- remediation candidates and assessor/AO decisions kept separate from status;172 and173- the explicit compliance nonclaim.174175## Common failure modes1761771. Treating a clean config review as proof of operational or manual controls.1782. Marking missing configuration when only the input is missing.1793. Marking entire unused profiles N/A instead of excluding them from scope.1804. Applying N/A without the rule's explicit condition and proof.1815. Mixing Y25M01 identifiers with another CKL or XCCDF release.1826. Copying legacy fix examples to a modern SRX without release validation.1837. Letting `_implicit: true` or a Junos default satisfy an explicit/logged rule.1848. Collapsing logical systems, tenants, nodes, or roles into one evidence scope.1859. Changing severity or status because a risk was accepted.18610. Claiming that the device or environment is compliant.187188## Pre-Return Self-Check189190- [ ] Source is NIST checklist 657 / DISA Y25M01 and checksum matches the pin.191- [ ] Device/context, release, roles, evidence dates, and completeness are stated.192- [ ] NDM+ALG are selected; IDPS/VPN selection is supported by role evidence.193- [ ] Rule counts match the selected component catalogs.194- [ ] Every result preserves V-ID, SV-ID, JUSX ID, and CAT.195- [ ] Missing, stale, ambiguous, unsupported, or partial evidence is Not Reviewed.196- [ ] Open and Not a Finding use complete proof; N/A follows the rule condition.197- [ ] Formal status is separate from compatibility, mitigation, POA&M, and AO decisions.198- [ ] No legacy remediation syntax is presented as current without verification.199- [ ] No secrets or sensitive raw evidence appear in the output.200- [ ] The report does not claim device, environment, authorization, or product compliance.
Run npx skillmds@latest add fastrevmd-lab/srx-disa-stig-compliance in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Assess Juniper SRX evidence against the source-pinned DISA STIG and produce conservative rule-level findings. Use when reviewing NDM, ALG, IDPS, or VPN profiles, CAT I/II/III results, CKL preparation, evidence gaps, Junos compatibility, remediation plans, or assessor-ready SRX STIG reports. Parse raw configs first. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
fastrevmd-lab (@fastrevmd-lab) published this skill. Their other Agent Skills are listed on their SkillMD profile.