Build pipeline (CI/CD): what it is and how it is attacked
The automated production line that turns written code into the software the business actually runs.
Also known as
- CI/CD
- Jenkins
- GitHub Actions
Typing any of them into the editor finds this object.
Why it matters on a security diagram
It holds credentials for production and can publish code, which makes it a route into everything it deploys to.
How it gets attacked, and what reduces it
How it gets attacked
- Secrets readable by any job that runs
- Dependencies pulled in without verification
What reduces it
- Scope secrets to the job that needs them rather than to every job
- Write the trust condition tightly, so a fork or an unowned repository cannot claim the cloud role
- Do not run code from a proposed change before it has been reviewed
- Use fresh machines per job, so one job cannot leave something for the next
Where it sits
- Group
- Servers · Machines that run something for other machines.
- Whose side, by default
- Ours · Belongs to the organisation the diagram is about.
- Catalogue identifier
- build-pipeline
Reviewed . CC BY 4.0.
Others in servers
- Serverhost · machineA computer that runs something for other computers.
- Web serverHTTP server · websiteThe computer that sends your website to anybody who visits it.
- Application serverbackend · business logic tierRuns the working parts of an application, behind the website.
- DatabaseDB · SQL server · data storeStores the organised information an application depends on.
- Mail serveremail server · Exchange · SMTPSends, receives and stores the organisation's email.
- Name serverDNS · domain name serverTranslates names like example.com into network addresses.
- File serverSMB server · network shareHolds shared documents everyone can reach over the network.
- Virtual machine hosthypervisor · ESXi · Hyper-VOne physical server pretending to be many.
- Jump hostbastion · jump box · hardened admin hostThe single controlled machine administrators go through to reach sensitive systems.
- Backup serverbackup · Veeam · backup controllerMakes and manages the spare copies of your data that let you recover after something goes wrong.
- Update serverWSUS · patch server · software distributionDistributes software updates to every machine.
- Phone systemVoIP · PBX · telephony serverRuns the organisation's telephone calls over the network.
The servers group lists all 13 of them side by side.
Build pipeline on your own diagram
Open the editor, press N, and type CI/CD. The object is placed and connected to whatever was selected, and Tab adds the next one already joined to it. Nothing is uploaded: the page is served with a Content Security Policy that forbids the browser from making any outbound request at all.
Open the diagram maker