CollectAWS overlay v3.0.0, pipeline overlay v0.8.0
Draw a controlOne numbered security requirement — AC-02, “account management” — from NIST SP 800-53, the catalogue FedRAMP draws its baselines from. family or a control id and this narrows to the AWS and pipeline calls that fetch its evidence, with one script for the whole scope. Every recipeThis product’s unit of collection, and its own coinage: an authored command, plus what one pass of it proves and how often to re-run it. carries the command, the cadenceHow often the rules require a piece of evidence to be refreshed. The clock on an obligation, not the command that satisfies it., and the indicators and controls a pass proves. The readings below count the whole Rev5 baselineThe set of controls one impact level requires. FedRAMP Rev5 publishes three, and which one binds you is the whole question of scope. union: what a recipe reaches, what only a Key Security Indicator (KSI)FedRAMP 20x’s unit of assurance: a question asked of the running system — “is MFA enforced?” — that a machine can answer, grouped into themes. reaches, and what is narrativeNo AWS or pipeline API answers this — it is a document you write. — a document somebody writes rather than a command anybody runs.
Corpusrecipes in the authored overlay
- authored
- 64
- automatable
- 0 of 64
- partial
- 63 of 64
- narrative
- 1 of 64
Authored opinion, versioned separately from the dataset. The upstream FedRAMP rules name no vendor and no product.
Every baselinecontrols in the Rev5 baseline union
- have a recipe
- 94 of 409
- KSI only, no recipe
- 105 of 409
- orphan — narrative only
- 210 of 409
KSI only means no recipe fetches it — which is our backlog for some and a document you owe for others; the automation register says which. orphan is permanent — no telemetry will ever prove it. Same join as the catalog.
Control scope
94 / 409 controls across every Rev5 baseline have one — draw a family to scope the corpus to it
- recipe— an authored recipe collects evidence for this control
- KSI only— a Key Security Indicator reaches it, but no recipe is authored yet
- orphan— no Key Security Indicator reaches it — a person writes it up instead
The call
tool— 64 in the corpus
- automatable
- partial — needs judgement
- narrative — no API proves this
- partialAccount-wide credential report proving MFA is active per principal and that passwords/access keys are rotated within policyAWSmonthlycliKSI-IAM-APM KSI-IAM-ELP2 controlsIAM
- partialFull snapshot of every IAM user, group, role, and attached/inline policy with their relationships, used to review that granted permissions match least-privilege intentAWSquarterlycliKSI-IAM-ELP KSI-IAM-AAM3 controlsIAM
- partialActive unused-access findings identifying IAM roles, access keys, console passwords, and service/action-level permissions that have not been used within the configured age, driving right-sizing and removalAWScontinuouscliKSI-IAM-ELP KSI-IAM-JIT2 controlsIAM Access Analyzer
- partialAWS Config compliance result for the managed rule proving every IAM user with a console password has MFA enabledAWScontinuousconfig-ruleKSI-IAM-APM1 controlAWS Config · IAM
- partialAWS Config compliance result proving long-lived IAM access keys (including those used by service/non-user identities) are rotated within the maximum ageAWScontinuousconfig-ruleKSI-IAM-SNU KSI-IAM-APM1 controlAWS Config · IAM
- partialAWS Config compliance result proving no customer-managed IAM policy grants full administrative access (Allow Action:* on Resource:*)AWScontinuousconfig-ruleKSI-IAM-ELP1 controlAWS Config · IAM
- narrativeDocumented just-in-time / break-glass privilege-elevation process backed by IAM Identity Center permission sets and account assignments, showing privileged access is role/attribute-based, time-bound, and approval-gated rather than standingAWSquarterlycliKSI-IAM-JIT KSI-IAM-AAM3 controlsIAM Identity Center
- partialGuardDuty IAM/credential-abuse findings (detection) paired with CloudTrail records of the responsive action taken to disable or secure the affected privileged principalAWScontinuouscliKSI-IAM-SUS3 controlsGuardDuty · CloudTrail · IAM
- partialAWS Config compliance results across the storage services proving customer data is encrypted at rest — S3 buckets with default server-side encryption, EBS volumes encrypted, and RDS storage encrypted, all backed by KMSAWScontinuousconfig-ruleKSI-SVC-SIN1 controlAWS Config · Amazon S3 · Amazon EBS · Amazon RDS · AWS KMS
- partialAWS Config compliance results proving data in transit is protected by TLS — S3 bucket policies denying non-TLS requests, load-balancer listeners restricted to SSL/HTTPS, and Redshift clusters requiring SSLAWScontinuousconfig-ruleKSI-SVC-SIN1 controlAWS Config · Amazon S3 · Elastic Load Balancing · Amazon Redshift
- partialAWS Config compliance results proving KMS customer-managed keys are lifecycle-managed — automatic annual rotation enabled and no active key scheduled for deletion — the key-hygiene half of the cryptographic-protection controlAWScontinuousconfig-ruleKSI-SVC-SIN KSI-SVC-VRI1 controlAWS Config · AWS KMS
- partialAWS Config compliance results proving the network boundary is controlled — no security group exposes SSH to the internet, groups open to 0.0.0.0/0 only allow authorized ports, and every VPC's default security group denies all trafficAWScontinuousconfig-ruleKSI-CNA-ULN KSI-SVC-EIS1 controlAWS Config · Amazon VPC · Amazon EC2
- partialAWS Config compliance results proving the audit trail exists and is protected — CloudTrail enabled and multi-region so management events are captured account-wide, log-file validation on so records are tamper-evident, and SSE-KMS encryption on so the logs themselves are protected at restAWScontinuousconfig-ruleKSI-MLA-OSM KSI-MLA-LET3 controlsAWS Config · AWS CloudTrail · AWS KMS
- partialAWS Config compliance results proving continuous security monitoring is switched on account-wide — GuardDuty threat detection enabled (optionally centralized to a delegated admin) and Security Hub aggregating control findingsAWScontinuousconfig-ruleKSI-MLA-RVL KSI-SVC-EIS1 controlAWS Config · Amazon GuardDuty · AWS Security Hub
- partialAWS Config compliance results proving system data is backed up on a defined schedule — RDS automated backups enabled with a minimum retention, and AWS Backup plans meeting a minimum frequency and retentionAWScontinuousconfig-ruleKSI-RPL-ABO1 controlAWS Config · Amazon RDS · AWS Backup
- partialAWS Config compliance results plus the State Manager association list proving a defined configuration is actually applied and re-applied to every managed node — instances are under SSM management, and the associations that carry your baseline report COMPLIANT on a schedule rather than driftingAWScontinuouscliKSI-SVC-ACM KSI-CMT-RMV KSI-MLA-EVC KSI-CNA-IBP2 controlsAWS Config · AWS Systems Manager
- partialPatch Manager compliance state plus Amazon Inspector scan status and coverage — proving flaws are being found continuously (Inspector enabled and actually covering your resources) and that the fixes landed (per-node missing/failed patch counts and the time of the last scan or install)AWSdailycliKSI-CMT-VTD KSI-SCR-MON2 controlsAWS Config · AWS Systems Manager Patch Manager · Amazon Inspector
- partialThe metric filters that turn audit log events into metrics, the alarms built on them, and Config's confirmation that those alarms actually notify someone — the automated-mechanism half of audit reviewAWSweeklycliKSI-MLA-RVL2 controlsAmazon CloudWatch Logs · Amazon CloudWatch · AWS Config
- partialThe machine-maintained component inventory — Config's recorder status and discovered-resource counts proving supported resources are tracked continuously and the list stays current without anyone editing a spreadsheet, plus Systems Manager Inventory's node and installed-application metadata for what runs inside themAWSdailycliKSI-PIY-GIV KSI-CMT-RMV KSI-SVC-ACM3 controlsAWS Config · AWS Systems Manager Inventory
- partialWho changed what, when, and from which state to which — CloudTrail's record of every mutating API call and Config's per-resource configuration history, plus, where Change Manager is in use, the change-request executions that carry the approvalAWSweeklycliKSI-CMT-LMC KSI-CMT-RVP KSI-CMT-RMV KSI-CMT-VTD1 controlAWS CloudTrail · AWS Config · AWS Systems Manager Change Manager
- partialConfig compliance results proving the ports you declared unnecessary are not reachable from the internet and the software you declared prohibited is not installed, plus the actual installed-application set a periodic review has to readAWSmonthlycliKSI-CMT-RMV KSI-SVC-EIS KSI-CNA-RNT2 controlsAWS Config · AWS Systems Manager Inventory · Amazon EC2
- partialRestore jobs that actually ran — the schedule they ran on, whether each one completed, how long it took, and what it produced — plus the point-in-time recovery window that makes transaction-level recovery possibleAWSmonthlycliKSI-RPL-ABO KSI-RPL-ARP KSI-RPL-RRO KSI-RPL-TRC2 controlsAWS Backup · AWS Config · Amazon RDS · Amazon DynamoDB
- partialHow long audit records are kept, how much space they occupy, and whether the pipeline that delivers them is currently failing — retention settings on every log group and log bucket, the storage they consume, and the trail's own delivery-error fieldsAWSdailycliKSI-MLA-OSM3 controlsAmazon CloudWatch Logs · Amazon S3 · AWS CloudTrail · AWS Config · Amazon CloudWatch
- partialEvery route in or out of the boundary, named and counted — internet gateways, NAT gateways, VPC endpoints and Site-to-Site VPN tunnels — alongside what each boundary device does with traffic that matched no rule: the network ACL entries, the closed default security group, subnets that hand out public IPs, and the firewall policy's stateless and stateful default actionsAWSweeklycliKSI-CNA-MAT KSI-CNA-RNT3 controlsAmazon VPC · Amazon EC2 · AWS Network Firewall · AWS Config
- partialThe denial-of-service defences that are actually attached to the internet-facing resources — the Shield Advanced subscription and the list of resources it protects, the web ACL's rate-based rules and their limits, whether web ACL logging is on — plus what those defences observed: the attacks Shield recorded over the period and the CloudWatch detection and block counts underneath themAWSdailycliKSI-CNA-RVP1 controlAWS Shield Advanced · AWS WAF · Amazon CloudWatch · AWS Config
- partialWhat each instance's clock is actually locked to and how far off it is right now — the chrony daemon's reference source, offset and leap status collected fleet-wide through Run Command — together with the configured time source in chrony.conf and the UTC time stamps CloudTrail already writes on every audit recordAWSdailycliKSI-MLA-OSM1 controlAmazon EC2 · AWS Systems Manager · AWS CloudTrail
- partialCryptographic proof that the audit trail CloudTrail delivered has not been altered or deleted, plus the compliance state of the write-once controls that make stored records and container images tamper-evidentAWSweeklycliKSI-SVC-VRI KSI-SVC-VCM KSI-SCR-MIT2 controlsAWS CloudTrail · AWS Config · Amazon S3 · AWS Backup · Amazon ECR
- partialEvery running instance built from an image you never approved and every node carrying denylisted software, together with proof that an automated action was configured for those findings and a record of what it did when one firedAWScontinuouscliKSI-CMT-LMC KSI-SVC-VRI1 controlAWS Config · AWS Systems Manager Automation · AWS Systems Manager Inventory · Amazon EC2
- partialA Region-by-Region inventory of the resources that can hold information, the classification tags you asserted on them, and — where Macie exists — a sampled machine judgement about which S3 buckets actually contain sensitive dataAWSmonthlycliKSI-PIY-GIV KSI-SVC-EIS2 controlsAWS Config · AWS Resource Groups Tagging API · Amazon Macie · Amazon S3
- partialHow operators actually reach the environment from outside it: the managed access paths that exist, the logging and encryption configured on them, the session-by-session record of who used them, and the negative check that no instance is directly reachable insteadAWSweeklycliKSI-IAM-ELP KSI-MLA-LET KSI-SVC-ASM KSI-CNA-ULN4 controlsAWS Systems Manager Session Manager · AWS Client VPN · AWS Config · Amazon EC2
- partialWhether malware scanning is switched on for compute and for the buckets that accept uploads, plus the scan-by-scan record of what was actually examined and what came back INFECTEDAWSweeklycliKSI-CNA-DFP KSI-CMT-RMV1 controlAmazon GuardDuty · Amazon EC2 · Amazon S3 · AWS Config
- partialA demonstration run against the live log estate that audit records can be reduced, sorted and searched on demand by event criteria — the standing saved queries, the query that ran, and the report it returnedAWSquarterlycliKSI-MLA-OSM KSI-MLA-LET2 controlsAmazon CloudWatch Logs · AWS CloudTrail · Amazon Athena · Amazon S3
- partialGuardDuty findings and Security Hub insight summaries that were reviewed, together with evidence that the findings fed into an after-action review cycle — AAR documents stored as versioned S3 objects with the incident IDs they referenceAWSquarterlycliKSI-INR-AAR4 controlsAmazon GuardDuty · AWS Security Hub · Amazon S3
- partialSecurity Hub finding workflow status plus GuardDuty detection coverage, showing incident response procedures are exercised: enabled insights, automated response actions routed through EventBridge, automated notifications, and Systems Manager Automation documents that encode response stepsAWSmonthlycliKSI-INR-RIR10 controlsAWS Security Hub · Amazon GuardDuty · AWS Systems Manager · Amazon CloudWatch
- partialRecurring GuardDuty finding types and patterns queried across a multi-quarter window, plus Athena SQL over CloudTrail data, surfacing whether the same attack vectors repeat and whether the same misconfigurations are reintroduced after remediationAWSquarterlycliKSI-INR-RPI5 controlsAmazon GuardDuty · AWS CloudTrail · AWS Security Hub · Amazon Athena · Amazon S3
- partialDNSSEC signing status of every public hosted zone, with the key-signing key state and the DS record that carries the chain of trust to the parentAWSweeklycliKSI-SVC-SIN1 controlAmazon Route 53 · AWS KMS
- partialPer-VPC DNSSEC validation status of the Route 53 Resolver, joined against the full VPC inventory so that a VPC which never enabled validation is visible rather than absentAWSweeklycliKSI-SVC-SIN1 controlAmazon Route 53 · Amazon VPC
- partialEvery way a workforce user can authenticate into the account, counted and named in one pass — how many IAM users and federated trusts exist, which SAML and OIDC providers are registered, whether an IAM Identity Center instance is the workforce entry path — together with the state of the two credentials that belong to no person: the root user's access key and the account's X.509 signing certificateAWSmonthlycliKSI-IAM-APM KSI-IAM-ELP1 controlAWS IAM · AWS IAM Identity Center · AWS Config
- partialFor every Amazon Cognito directory that fronts non-organizational users: the user pool's multi-factor configuration, and every identity pool's guest-access flag together with the named external providers it will exchange a token forAWSweeklycliKSI-IAM-APM1 controlAmazon Cognito · AWS IAM
- partialThe configured ceiling on how long any credential stays valid before its holder must present an authenticator again — MaxSessionDuration on every IAM role, SessionDuration on every IAM Identity Center permission set, and the aws:MultiFactorAuthAge conditions in policy that expire an MFA-backed session independently of the session itselfAWSquarterlycliKSI-IAM-ELP1 controlAWS IAM · AWS IAM Identity Center · AWS STS
- partialThe mechanism that ends a temporary or emergency account without anyone deciding to: the AWS Config rule that measures how long an IAM credential has gone unused, the period it is configured with, the remediation configuration proving the revocation fires automatically, and an empty non-compliant set showing nothing has outlived the periodAWScontinuousconfig-ruleKSI-IAM-AAM KSI-IAM-SNU1 controlAWS Config · AWS IAM · AWS Systems Manager Automation
- partialThe machine-generated inventory of every resource an external entity can reach — IAM Access Analyzer's active ExternalAccess findings — read against the declared zone of trust, so the terms-and-conditions review has a list to work from rather than a memoryAWSquarterlycliKSI-SCR-MIT KSI-IAM-ELP1 controlAWS IAM Access Analyzer · AWS Organizations · AWS Config
- partialEvery place a client session terminates, with the protocol and negotiated policy it terminates under: listener protocol and SslPolicy on each load balancer, HTTP listeners that redirect rather than serve, an ACM certificate behind each one, and CloudFront viewer policies that refuse plain HTTPAWSquarterlycliKSI-SVC-SIN KSI-SVC-VCM1 controlElastic Load Balancing · Amazon CloudFront · AWS Certificate Manager · AWS Config
- partialThe enforced half of who may change what: the service control policy type actually enabled in the organization root, the customer-authored SCPs and the roots, OUs and accounts each one is attached to, and the permissions boundary carried by every principal your own tagging marks as a change authorityAWScontinuouscliKSI-CMT-RMV KSI-IAM-JIT1 controlAWS Organizations · AWS IAM
- partialThe machine-generated inventory of every plane on which one part of the system reaches another — VPC peering connections, Transit Gateway attachments, the interface and gateway endpoints this account consumes, the endpoint connections other accounts have made INTO your endpoint service, and the security-group rules that name another group rather than a CIDR — each narrowed to the states that are actually liveAWScontinuouscliKSI-CNA-ULN1 controlAmazon VPC · AWS Transit Gateway · AWS PrivateLink
- partialEvery identifier the account has issued, with the date it was assigned and the AWS-generated unique id behind it; the workforce identifiers issued through IAM Identity Center and the external issuer each one came from; and the CloudTrail record of identifiers being deleted, which is the only dated evidence of a name becoming free to reuseAWScontinuouscliKSI-IAM-ELP KSI-IAM-JIT1 controlAWS IAM · AWS IAM Identity Center · AWS CloudTrail
- partialThe state of every credential in the account as of a stated moment, the enabled-or-disabled status of every workforce identity in the identity store, and the CloudTrail record of the revocations themselves — the five API calls that actually revoke standing access, each with the time it happened and the administrator who did itAWScontinuouscliKSI-IAM-ELP1 controlAWS IAM · AWS IAM Identity Center · AWS CloudTrail
- partialThe hosted zones that serve name resolution, each marked private or public so internal and external resolution can be shown to be served by separate zones, and the Resolver endpoints that carry queries across the VPC boundary with their direction and operational statusAWScontinuouscliKSI-SVC-SIN1 controlAmazon Route 53 · Amazon Route 53 Resolver
- partialThe advisories AWS itself has issued against this account — operational issues, scheduled changes and account notifications, each dated and scoped — together with the subscribers on the topic those alerts are published to and the confirmation state of each subscription, which is the difference between an address that was entered and an address that receivesAWScontinuouscliKSI-SCR-MON1 controlAWS Health · Amazon SNS
- partialWhat a transferred individual can still reach, and what they have actually used: the reassignment events themselves from CloudTrail (group membership, attached policy, and Identity Center account-assignment changes, each with its time and the administrator who made it), the current Identity Center assignments per permission set, and IAM's service-last-accessed report for the identities involved — a per-principal view of which services the identity is permitted to reach and which of those it has never authenticated to. `iam-access-analyzer-unused-access` answers the same question estate-wide from findings; this answers it for the named principal a transfer is about.AWScontinuouscliKSI-IAM-ELP1 controlAWS IAM · AWS IAM Identity Center · AWS CloudTrail
- partialWhether the tooling that examines acquired software is switched on and covering the estate, and what it found: Inspector's per-account enablement state for each scanned resource type, the registry-wide ECR scanning configuration (scan type and frequency, and the repository filters that decide which repositories it applies to), Inspector's own coverage statistics, and a CycloneDX 1.4 or SPDX 2.3 SBOM exported per monitored resource — the component-level inventory of what was actually acquired.AWScontinuouscliKSI-SCR-MIT KSI-SCR-MON1 controlAmazon Inspector · Amazon ECR
- partialWhether Dependabot alerting is configured in this organization and which repositories it actually reaches, together with the alerts themselves — each carrying the advisory that raised it, the package, ecosystem and manifest path it was found in, the reason a human gave for closing it, and, for a remediated one, the date it was fixed. The first half is the population; the second half is what was found in it, and the second half means nothing without the first.pipelinecontinuousapiKSI-SCR-MON KSI-SCR-MIT1 controlGitHub Dependabot · GitHub code security configurations
- partialThe organization's webhook configuration — which endpoints are subscribed to the supply-chain alert event, whether each is switched on, and where it points — together with the platform's own record of what it actually delivered to them and with what response code. Configuration says a path exists; the delivery log says the path carried something.pipelinecontinuousapiKSI-SCR-MON1 controlGitHub webhooks · GitHub Dependabot
- partialWhether secret scanning, push protection and validity checking are switched on in this organization and which repositories those settings actually reach, together with the alerts themselves — each carrying the kind of credential found, whether the credential was confirmed to still work, how it was closed and by whom, and whether a push containing it was blocked or waved through. The settings are the population; the alerts are what was found in it, and an alert list read without the settings beside it cannot be told apart from a list produced by scanning nothing.pipelinecontinuousapiKSI-SVC-ASM1 controlGitHub secret scanning · GitHub code security configurations
- partialFor each artifact actually running in the boundary, the cryptographic answer to whether it came from the build this provider claims built it: the signed provenance statement, the certificate identifying the workflow that produced it, and the transparency-log timestamps that make the signature checkable later. Collected alongside the two things that decide whether that answer can be trusted at all — the version of the verifying client, and the record of which deployed artifacts were submitted for verification in the first place.pipelineon-changecliKSI-MLA-EVC1 controlGitHub artifact attestations
- partialWhether static analysis is configured in this organization and which repositories it actually reaches; for each of those repositories, which query suite ran over which languages, whether the recurring schedule is still alive, when the analysis last ran and with how many rules in the run; and what the analysis found, split into what is still open and what a person closed by hand — each closure carrying who closed it, which of four fixed reasons they chose, and whatever they wrote down. The first two halves are the population and the proof that testing happened; the third is the half an assessment asks for, and read without the other two it cannot be told apart from the output of a scanner that never ran.pipelinecontinuousapiKSI-SCR-MIT1 controlGitHub code scanning · GitHub CodeQL · GitHub code security configurations
- partialWhich taint-tracking ruleset actually ran over this repository — the query suite, the languages selected, and the threat model that decides what counts as an untrusted source — together with whether the recurring scan is still scheduled, when it last ran per analysed language, and how many rules were in the run; and then the open findings in the injection families SI-10 is about, identified by the CWE tags the queries carry. The ruleset and the freshness are the load-bearing half: a finding names a sink that exists, but only the run record says the absence of findings means anything at all.pipelinecontinuousapiKSI-CNA-MAT1 controlGitHub code scanning · GitHub CodeQL
- partialFor every change that reached the assessed branch, the automated verification that ran against it — which workflows ran, on which commit, and what each concluded — together with the two things that decide whether those runs were a condition of the change or merely adjacent to it: the rule that made the checks required, and the platform's own per-push record of whether that rule held, failed, or was bypassed. The runs alone are activity; the rule and the per-push record are what make them a gate.pipelineweeklyapiKSI-CMT-VTD KSI-CMT-LMC1 controlGitHub Actions · GitHub repository rulesets
- partialThe rules that made every change to the mainline arrive through a reviewed pull request, as a signed commit, onto a history that cannot be rewritten — together with the record of when those rules themselves last changed and who changed them, and the platform's own per-push record of any change that got past them.pipelineweeklyapiKSI-SCR-MIT1 controlGitHub repository rulesets · GitHub pull requests
- partialThe rule requiring the designated owners of the changed code to approve before it merges, the file that names who those owners are, the platform's own report of whether that file actually parses — and, per change, who approved, on which commit, and when.pipelinecontinuousapiKSI-CMT-RVP KSI-PIY-RSD1 controlGitHub code owners · GitHub repository rulesets · GitHub pull requests
- partialThe exact component-and-version inventory the boundary's repositories build from — every package the dependency graph resolved, carrying the version string that is the only thing SA-22's question can be asked about — together with whether that graph is switched on across the boundary at all, and then the open advisories for which the ecosystem offers no patched version, which is the closest thing a pipeline emits to a component nobody maintains any more. The inventory is the load-bearing half and it is why this recipe exists separately from the vulnerability one: "is this component past end of support" is a question about a name and a version, and a check that cannot produce the version has not asked it.pipelinemonthlyapiKSI-SCR-MIT1 controlGitHub dependency graph · GitHub Dependabot · GitHub code security configurations
- partialWhether the queries that find information disclosure through an error message or a stack trace ran over this part of the boundary — which languages were selected, whether the recurring scan is still scheduled and when it last completed — and then the open findings those queries produced, identified by the CWE tags the queries carry rather than by their names. The run record is the load-bearing half here as it is on every scanning recipe: a finding names a leak that exists, and only the record of a scan having run over a selected language makes the absence of findings a statement about anything.pipelinecontinuousapiKSI-CNA-MAT1 controlGitHub code scanning · GitHub CodeQL · GitHub code security configurations
- partialWhich policy decisions were actually enforced against the infrastructure definitions the boundary deploys from: that a policy scan ran, on which branch, how many rules it applied and when it last ran, together with the failures still open and the record of which were dismissed and with what justification. The load-bearing half is the scan record rather than the findings. SA-08 asks whether security engineering principles were applied, and a clean findings list is the same output whether every principle held or the scan applied no rules, ran last quarter, or parsed nothing — so the count of rules run and the date it ran are the part of this evidence that makes the rest of it mean anything.pipelinecontinuouscliKSI-PIY-RSD1 controlCheckov · GitHub code scanning
- partialFor a service that ships code to a browser, the two things a pipeline can say about the mobile code it delivers: what was allowed INTO it, and whether what shipped is what this pipeline built. The first is the dependency diff for the change — every component added, its ecosystem, its version, its licence and any advisory against it, separated by whether it reaches the runtime or stops at the build — and the gate that makes the check mandatory rather than advisory. The second is a provenance attestation over the built bundle, verified against the repository and workflow that are supposed to have produced it. Neither is a statement about which mobile code technologies the organization decided to permit, and that is the control's first limb.pipelineon-changeapiKSI-PIY-RSD KSI-SCR-MIT1 controlGitHub dependency review · GitHub artifact attestations · GitHub repository rulesets