SC-18·high·Component: System and Communications ProtectionWhat this control requires
Define acceptable and unacceptable mobile code and mobile code technologies. Authorize, monitor, and control the use of mobile code within the system. Mobile code includes any program or content that can be transmitted across a network and executed on a remote system, such as Java applets, JavaScript, HTML5, WebGL, and VBScript. Guidelines ensure that mobile code does not cause damage to systems, including requiring digital signatures from trusted sources for code used within organizational systems. This control supports the Mobile Code Management System capability within the System and Communications Protection family.
In plain English
Define acceptable and unacceptable mobile code and mobile code technologies. In practice, this means you can prove you security management-level controls on a defined cadence.
Why it matters
SP 800-53 is the catalogue every U.S. federal authorisation (FedRAMP, FISMA, CMMC) and most regulated industries point at. A missing control surfaces as a Plan of Action & Milestones (POA&M) item that an Authorizing Official must approve before the Authority To Operate is granted or renewed.
This control is rated high. Auditors expect a named owner, a remediation SLA, and a tooling artefact that evidences continuous operation.
What an auditor looks for
A 3PAO (FedRAMP) or Independent Assessor (NIST RMF) tests against NIST SP 800-53A assessment procedures. For each control they expect a documented implementation that addresses every assessment objective (Examine, Interview, Test) and an implementation summary in the System Security Plan.
Within System and Communications Protection, the assessor will trace your implementation back to the catalogue reference (Control SC-18) and look for objective evidence on the latest two assessment cycles.
How to implement
Secure Development
Pipeline. Require code review, SAST (Semgrep / Snyk Code), SCA (Dependabot / Renovate), secret-scanning and IaC scanning in the merge pipeline.
Branch protection. Protected branches enforce reviews, signed commits and passing CI before merge; document the protection rules as the control evidence.
Code Review Testing
Pipeline. Require at least one human reviewer plus passing CI (lint, type, unit, security scan) before merge — protected branches enforce this.
Endpoint Protection
MDM. Make MDM enrollment a hard gate for device access (Intune compliance + Conditional Access, or Jamf + Okta device trust). Unmanaged devices simply don't get a session token.
EDR. Deploy CrowdStrike / SentinelOne / Defender for Endpoint to every server and laptop; alert on any host that stops sending telemetry for >24h.
Operational checklist
- Security. Document the trigger, the owner and the cadence.
- Authorize. Document the trigger, the owner and the cadence.
- Network. Document the trigger, the owner and the cadence.
- Review. Document the trigger, the owner and the cadence.
- Remote. Document the trigger, the owner and the cadence.
- Scope: management, system, application, protection, digital signatures, monitor, sources, review.
Evidence to collect
- Code Repo Scan. Source-control evidence — branch protection, required reviewers, CI status, SCA / SAST reports.
Source control pipelines (GitHub, GitLab) enforce SDLC guardrails. Focus: Mobile Code.
Common pitfalls
- CI security checks set to warn-only; the merge button is faster than the security feedback.
- Pilot MDM rollouts that quietly exclude executives or engineers; carving out the highest-risk users is the most common audit failure.
How it maps to other frameworks
Computed from shared tags, control component and key-operation subjects — handy when you are reconciling controls across an audit.
Related controls in NIST SP 800-53 Rev. 5
- Control SC-18(5) — Allow Execution Only In Confined Environments
- Control SC-7(9) — Restrict Threatening Outgoing Communications Traffic
- Control SI-7(6) — Cryptographic Protection
- Control SC-18(2) — Acquisition, Development, And Use
- Control SC-26 — Decoys
- Control SC-35 — External Malicious Code Identification
References
- NIST Computer Security Resource Center — NIST SP 800-53 Rev. 5
- Catalogue identifier:
Control SC-18
Topics: governance riskapplication securitysecure developmentcode review testingdevsecopsendpoint protection