Skip to content

Evidence request lists

NIST SP 800-218

Evidence request list. 42 controls, 42 carrying auditor artefact guidance. Generated from the compliance knowledge graph on 12 September 2026. Published by The Art of Service.

NIST SP 800-218: Access Control

SP800-218-PW.7.2
Perform Code Review and Analysis

Perform the code review and/or code analysis based on the organization's secure coding standards, and record and triage the discovered issues.

Artefacts an auditor will ask for
  • Code review/static analysis findings and triage
Where this commonly fails
  • No code review
  • Findings not triaged
SP800-218-PW.8.2
Execute Security Testing

Design, scope, execute, and document the testing of executable code (dynamic analysis), and record and triage the discovered issues.

Artefacts an auditor will ask for
  • Dynamic test plans, execution, and triaged results
Where this commonly fails
  • No dynamic/executable security testing
SP800-218-PW.9.2
Implement and Document Secure Defaults

Implement the default settings (or groups of settings), and document each setting for software administrators.

Artefacts an auditor will ask for
  • Documented and implemented secure default settings
Where this commonly fails
  • Insecure defaults shipped
  • Settings undocumented
SP800-218-RV.1.2
Review and Analyze Code for Vulnerabilities

Review, analyze, and/or test the software's code to identify or confirm the presence of previously undetected vulnerabilities.

Artefacts an auditor will ask for
  • Code review/test results identifying vulnerabilities
Where this commonly fails
  • No proactive vulnerability discovery
SP800-218-RV.1.3
Vulnerability Disclosure Policy

Have a policy that addresses vulnerability disclosure and remediation, and implement the roles, responsibilities, and processes needed to support it.

Artefacts an auditor will ask for
  • Vulnerability disclosure and remediation policy
Where this commonly fails
  • No disclosure policy or intake channel

NIST SP 800-218: Asset Management

SP800-218-PW.1.2
Track Security Requirements, Risks, and Decisions

Track and maintain the software's security requirements, risks, and design decisions.

Artefacts an auditor will ask for
  • Record of security requirements, risks, and design decisions
Where this commonly fails
  • Design decisions and risks not tracked
SP800-218-PW.1.3
Support Standardized Security Features

Where appropriate, build in support for using standardized security features and services rather than creating proprietary implementations.

Artefacts an auditor will ask for
  • Use of standardized security features/services
Where this commonly fails
  • Proprietary security implementations reinvented
SP800-218-PW.2.1
Qualified Review of Software Design

Have a qualified person who was not involved with the design review it to confirm it meets the security requirements and satisfactorily addresses identified risks.

Artefacts an auditor will ask for
  • Independent design review records
Where this commonly fails
  • Design not reviewed by an independent qualified person
SP800-218-PW.4.2
Maintain Well-Secured In-House Components

Create and maintain well-secured software components in-house following SSDF practices to meet common internal needs.

Artefacts an auditor will ask for
  • Inventory of well-secured in-house components
Where this commonly fails
  • Reused components not maintained to SSDF practices
SP800-218-PW.6.2
Configure Build Tool Security Features

Determine which compiler, interpreter, and build tool security features to use and how each should be configured, then implement the configurations.

Artefacts an auditor will ask for
  • Compiler/build tool security feature configuration
Where this commonly fails
  • Security flags/hardening not enabled in builds

NIST SP 800-218: Cryptography

SP800-218-RV.2.2
Develop and Implement Remediation Plans

Plan and implement risk responses for vulnerabilities, including remediation, mitigation, or acceptance with rationale.

Artefacts an auditor will ask for
  • Remediation plans and implementation records
Where this commonly fails
  • Vulnerabilities accepted without rationale
  • No remediation SLA
SP800-218-RV.3.2
Identify and Fix Similar Vulnerabilities

Analyze identified vulnerabilities to determine if there are systemic issues, and proactively fix similar vulnerabilities elsewhere in the software.

Artefacts an auditor will ask for
  • Analysis identifying and fixing similar vulnerabilities
Where this commonly fails
  • Similar vulnerabilities left unaddressed
SP800-218-RV.3.3
Review SDLC to Prevent Recurrence

Review the software development process and update it as appropriate to prevent the root causes of vulnerabilities from recurring in future releases.

Artefacts an auditor will ask for
  • SDLC process updates to prevent recurrence
Where this commonly fails
  • Root causes not fed back into the SDLC
SP800-218-RV.3.4
Document Lessons Learned

Document lessons learned from root cause analysis and the response to share within the organization and improve secure development practices.

Artefacts an auditor will ask for
  • Documented lessons learned shared across teams
Where this commonly fails
  • No lessons-learned capture or sharing

NIST SP 800-218: Information Security Policies

SP800-218-PO.1.3
Communicate Requirements to Third-Party Providers

Communicate the organization's software security requirements to all third parties who provide commercial software components for reuse.

Artefacts an auditor will ask for
  • Security requirements communicated to third-party component providers
  • Contract/agreement clauses
Where this commonly fails
  • Third-party security expectations undocumented
SP800-218-PO.2.3
Obtain Management Commitment to Secure Development

Obtain upper management or authorizing official commitment to secure development, and convey that commitment to all personnel with software-development-related roles.

Artefacts an auditor will ask for
  • Management commitment statement
  • Communication to development staff
Where this commonly fails
  • No executive sponsorship of secure development
SP800-218-PO.3.3
Toolchain Generates Security Artifacts

Configure tools to generate artifacts of their support of secure software development practices.

Artefacts an auditor will ask for
  • Toolchain config that emits security artifacts/logs
Where this commonly fails
  • Tools do not produce evidence of secure practices
SP800-218-PO.4.2
Gather and Safeguard Security Check Information

Implement processes, mechanisms, etc. to gather and safeguard the necessary information in support of the criteria for software security checks.

Artefacts an auditor will ask for
  • Processes to gather and safeguard security-check information
Where this commonly fails
  • Security check data not captured or protected
SP800-218-PO.5.2
Harden Development Endpoints

Secure and harden development endpoints (the systems used to perform development) to perform development-related tasks with a reduced attack surface.

Artefacts an auditor will ask for
  • Development endpoint hardening standard and evidence
Where this commonly fails
  • Developer endpoints unhardened

Prepare the Organization

SP800-218-PO.1.1
Define Security Requirements for Software Development

Identify and document security requirements for developed software, considering customer obligations, regulatory expectations, internal policy, and known threats. Make the requirements accessible to development teams and update them as the threat landscape changes.

Artefacts an auditor will ask for
  • secure development policy
  • requirements traceability between policy and product backlog
  • annual review record of security requirements
  • examples of new requirements driven by emerging threats
Where this commonly fails
  • requirements live in security wiki but are never referenced in tickets
  • regulatory mapping not refreshed after new obligations apply
  • no mechanism for security to inject new requirements into backlogs
SP800-218-PO.1.2
Implement Security Requirements in the Toolchain

Configure development tools, source control, build systems, and artifact repositories to enforce the security requirements. Automate enforcement so that compliance is the default behavior rather than a manual checklist.

Artefacts an auditor will ask for
  • toolchain hardening baseline
  • policy as code in CI configuration
  • exception process for bypassing tool gates
  • monthly compliance metrics across repositories
Where this commonly fails
  • tool gates can be bypassed by anyone with admin in CI
  • no enforcement for legacy repositories
  • exception process exists but is rarely used because gates are weak
SP800-218-PO.2.1
Roles and Responsibilities for Secure Development

Define and assign roles and responsibilities for secure software development across product, engineering, security, and operations. Make the responsibilities measurable so that ownership for security work is clear.

Artefacts an auditor will ask for
  • RACI for SSDF practices
  • security champion programme charter
  • individual security objectives in performance management
  • annual review of role definitions
Where this commonly fails
  • security is responsible and accountable for everything in the RACI
  • no security champions assigned in product teams
  • performance objectives do not reflect security work
SP800-218-PO.2.2
Training and Skills Maintenance

Provide role appropriate secure development training and maintain skills through ongoing learning. Track completion and refresh training when standards or technologies change.

Artefacts an auditor will ask for
  • secure coding training catalog by role
  • completion records integrated with HR systems
  • annual refresh policy
  • metrics tying training to defect reduction
Where this commonly fails
  • training is the same one off course for every role
  • completion not enforced and not visible to managers
  • no measurement of training effectiveness
SP800-218-PO.3.1
Supporting Toolchain Selection

Select tools that meet the security needs of the development environment. Evaluate tools for their own security and for the assurance they provide about the software they process.

Artefacts an auditor will ask for
  • tool selection criteria document
  • vendor security assessments
  • configuration review for chosen tools
  • deprecation policy for unsupported tools
Where this commonly fails
  • tools selected on price without security review
  • vendor self attestations not validated
  • deprecated tools remain in pipelines
SP800-218-PO.3.2
Toolchain Configuration and Integration

Configure and integrate development tools so they enforce the secure development policy. Treat configuration as code and version control changes to it.

Artefacts an auditor will ask for
  • configuration repository for CI and security tools
  • drift detection alerts
  • change approval log for tool configuration
  • rollback procedure
Where this commonly fails
  • configuration drifts because changes are made in the UI
  • no drift detection in place
  • rollback procedure untested
SP800-218-PO.4.1
Criteria for Software Security

Define criteria for assessing the security characteristics of software before release. Tie criteria to risk and to customer commitments so that release decisions are explicit.

Artefacts an auditor will ask for
  • release security criteria document
  • risk acceptance workflow
  • release readiness review records
  • metrics on releases with open critical findings
Where this commonly fails
  • release criteria exist but releases ship regardless of criteria
  • no risk acceptance workflow tied to release
  • criteria not differentiated by product risk tier
SP800-218-PO.5.1
Secure Development Environment Implementation

Implement and maintain secure environments for software development including source code repositories, build systems, and developer endpoints. Apply the same controls expected of production where the data sensitivity warrants.

Artefacts an auditor will ask for
  • developer endpoint hardening standard
  • build environment isolation design
  • source control access review records
  • monitoring coverage for development infrastructure
Where this commonly fails
  • developer laptops less monitored than production
  • build agents share network space with corporate IT
  • code signing keys held on developer endpoints

Produce Well Secured Software

SP800-218-PW.1.1
Design Software to Meet Security Requirements

Design software so that it meets security requirements and mitigates known risks from the start. Use threat modelling to identify how an attacker could abuse the system and feed mitigations back into the design.

Artefacts an auditor will ask for
  • threat model artifacts per significant feature
  • design review records
  • linkage between threat model findings and code changes
  • training records for threat modelling facilitators
Where this commonly fails
  • threat models produced once at feature start, never updated
  • no linkage from threat model findings to backlog tickets
  • only the security team performs modelling
SP800-218-PW.4.1
Reuse Trusted Software Components

Acquire and reuse well secured software components rather than creating new ones for common functions. Track the origin and version of each component and verify its provenance.

Artefacts an auditor will ask for
  • approved component catalog
  • component intake review process
  • provenance verification logs
  • deprecation process for risky components
Where this commonly fails
  • no central catalog of approved components
  • intake review skipped under time pressure
  • components remain in use after the upstream project is abandoned
SP800-218-PW.4.4
Verify Acquired Components Meet Security Requirements

Verify that third party and open source components meet the same security requirements applied to in house code. Use static analysis, dependency analysis, and known vulnerability databases to support the decision.

Artefacts an auditor will ask for
  • Software Composition Analysis configuration
  • vulnerability database integration
  • component approval workflow records
  • license compliance checks
Where this commonly fails
  • vulnerability scans run but findings never break the build
  • license risks not assessed
  • newly added dependencies bypass review
SP800-218-PW.5.1
Secure Coding Practices

Follow secure coding practices for input validation, output encoding, authentication, session management, error handling, and use of secure defaults. Apply practices consistently across languages used in the organization.

Artefacts an auditor will ask for
  • secure coding standard per language
  • linter or analyzer configuration to enforce standard
  • training tied to standard
  • examples of code review feedback citing standard
Where this commonly fails
  • standard exists for one language but not the rest of the stack
  • linters disabled because they slow builds
  • training not refreshed when standard changes
SP800-218-PW.6.1
Configure Compilation and Build Processes Securely

Configure compilers, linkers, and interpreters to use security focused options including stack protection, position independent code, and warnings as errors where feasible. Persist these options as part of the build configuration.

Artefacts an auditor will ask for
  • compiler flag catalog by language
  • build configuration committed to source control
  • warnings as errors policy
  • exception register for legacy components
Where this commonly fails
  • compiler flags vary across services with no central guidance
  • warnings ignored to keep builds green
  • interpreters run in unsafe modes for performance
SP800-218-PW.7.1
Code Review

Review the human readable source code to identify vulnerabilities. Use a combination of manual code review and automated static analysis tools tuned to the language and framework.

Artefacts an auditor will ask for
  • code review policy
  • static analysis tool inventory with tuning notes
  • false positive triage process
  • metrics on findings closed per release
Where this commonly fails
  • static analysis runs but findings are never triaged
  • code review approval limited to functional concerns
  • false positive rate so high that engineers ignore reports
SP800-218-PW.8.1
Executable Testing for Security

Test executable software to detect vulnerabilities using dynamic application security testing, fuzz testing, and penetration testing on a defined cadence. Tie test scope to risk and feature changes.

Artefacts an auditor will ask for
  • DAST integration in CI or scheduled scans
  • fuzz testing harnesses for critical parsers
  • annual penetration test reports
  • remediation tracker tied to test findings
Where this commonly fails
  • DAST run only against pre production with no realistic data
  • no fuzz testing despite parsing untrusted input
  • penetration test findings tracked separately from product backlog
SP800-218-PW.9.1
Configure Software to Have Secure Settings by Default

Ship software with secure default configuration so that customers receive a secure posture out of the box. Document the security implications of any settings that customers can change.

Artefacts an auditor will ask for
  • default configuration review
  • documentation of security implications of settings
  • telemetry on customer adoption of insecure settings
  • deprecation plan for unsafe defaults
Where this commonly fails
  • secure defaults rolled back after customer complaint
  • documentation does not call out security implications
  • no measurement of how customers configure the product

Protect the Software

SP800-218-PS.1.1
Protect All Forms of Code from Unauthorized Modification

Apply controls to source code, infrastructure as code, and build scripts so that only authorized contributors can change them and all changes are reviewed and logged. Protect main branches and require pull request reviews.

Artefacts an auditor will ask for
  • branch protection configuration
  • code review policy and tool enforcement
  • audit log retention for source control
  • exception register for direct pushes
Where this commonly fails
  • main branch protection disabled in many repositories
  • code review can be self approved
  • audit logs lost when repositories migrate
SP800-218-PS.2.1
Provide a Mechanism for Verifying Software Release Integrity

Sign software releases and provide a mechanism for consumers to verify integrity. Publish hashes and signatures over a separate channel from the release artifact where possible.

Artefacts an auditor will ask for
  • signing key custody documentation
  • release signing pipeline step
  • publication of verification instructions to consumers
  • test that verification fails when artifact is altered
Where this commonly fails
  • signing keys held in CI environment variables
  • consumers given no clear verification path
  • signatures generated but never verified internally
SP800-218-PS.3.1
Archive and Protect Released Software

Archive each release along with its source, build metadata, and dependencies. Retain the archive long enough to support incident response, customer support, and regulatory obligations.

Artefacts an auditor will ask for
  • release archive policy
  • storage layout for archived artifacts
  • retention schedule by product
  • demonstration of restoring a historical build
Where this commonly fails
  • only the binary archived without the corresponding source state
  • retention shorter than support obligations
  • no test of restoration
SP800-218-PS.3.2
Software Bill of Materials

Produce a software bill of materials for each release in a machine readable format. Make it available to customers and use it internally to triage component vulnerabilities.

Artefacts an auditor will ask for
  • SBOM generation in the build pipeline
  • SBOM publication or delivery process
  • internal SBOM index for vulnerability lookups
  • SBOM format choice document (e.g. CycloneDX, SPDX)
Where this commonly fails
  • SBOM generated but never consumed for vulnerability triage
  • no SBOM provided for legacy releases still under support
  • SBOM does not include transitive dependencies

Respond to Vulnerabilities

SP800-218-RV.1.1
Identify and Confirm Vulnerabilities on an Ongoing Basis

Continuously identify vulnerabilities in released software using internal testing, external reports, and intelligence from component upstreams. Confirm reproducibility and severity before treating findings.

Artefacts an auditor will ask for
  • vulnerability disclosure policy and intake channel
  • internal validation workflow
  • severity rating model
  • metrics on time from receipt to triage
Where this commonly fails
  • no published vulnerability disclosure channel
  • researchers redirected to general support inbox
  • validation backlog grows because triage is undertasked
SP800-218-RV.2.1
Assess, Prioritize, and Remediate Vulnerabilities

Assess each vulnerability against business risk, exploitability, and customer impact, then prioritize remediation accordingly. Track remediation against agreed service level objectives by severity.

Artefacts an auditor will ask for
  • vulnerability SLA matrix by severity
  • remediation tracker with aging report
  • exception process for accepted risk
  • executive view of overdue vulnerabilities
Where this commonly fails
  • SLAs defined but routinely missed without escalation
  • exceptions never expire
  • no visibility into customer exposure when prioritizing
SP800-218-RV.3.1
Analyze Vulnerabilities to Identify Root Causes

Perform root cause analysis on confirmed vulnerabilities so that systemic weaknesses are identified and remediated, not just individual instances. Feed the lessons back into design, coding, and testing practices.

Artefacts an auditor will ask for
  • root cause analysis template
  • log of systemic improvements driven by RCA
  • training updates citing RCA outcomes
  • metrics on recurrence of similar findings
Where this commonly fails
  • RCA performed only on incidents that draw external attention
  • lessons not propagated to other teams
  • training and standards never updated based on RCA
Assembled from the framework's own control set. Every line traces to a control in the graph, so this pack is regenerated rather than written, and stays current as the graph does.

Assembled from the framework’s own control set, so this list is regenerated rather than written and stays current as the graph does. See the NIST SP 800-218 framework page.