<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Develop on Sikkerhet.bouvet.no - For Security Champions in Bouvet</title>
		<link>https://sikkerhet.bouvet.no/en/develop/</link>
		<description>Recent content in Develop on Sikkerhet.bouvet.no - For Security Champions in Bouvet</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://sikkerhet.bouvet.no/en/develop/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Software Supply Chain</title>
				<link>https://sikkerhet.bouvet.no/en/develop/software-supply-chain/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/software-supply-chain/</guid>
				<description>&lt;p&gt;When we build software, we depend on a multitude of different third-party packages from ecosystems like npmjs, nuget, PyPi and similar. In CI/CD pipelines we have actions and code that carry out testing, building, deployment and the like. All of this is code and components that come from third parties, where our level of security is at the mercy of how those actors work. A weakness in a dependency can result in our project leaking data, or in code being manipulated or used for malicious purposes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Version Control</title>
				<link>https://sikkerhet.bouvet.no/en/develop/git/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/git/</guid>
				<description>&lt;p&gt;Git is today the standard in most projects run at Bouvet, but if you end up in a project that uses something else many of the principles will still be transferable. Git itself is the version control tool that manages history and versioning, while GitHub handles the surrounding services such as CI/CD, security testing and similar. Azure DevOps offers many of the same features described below; even though GitHub is used as an example you should assume the same applies for Azure DevOps.&#xA;&lt;div class=&#34;sb-note sb-note--tip&#34; role=&#34;note&#34;&gt;&#xA;  &lt;svg viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34;&gt;&lt;path d=&#34;M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M9 18h6&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M10 22h4&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span class=&#34;sb-note__label&#34;&gt;Source code is critical&lt;/span&gt;&#xA;  &lt;div class=&#34;sb-note__body&#34;&gt;&#xA;    &lt;p&gt;Remember that source code is part of the project, and must be considered in relation to &lt;a href=&#34;https://sikkerhet.bouvet.no/en/plan/business-continuity/&#34;&gt;disaster recovery and backups&lt;/a&gt;!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Data Validation</title>
				<link>https://sikkerhet.bouvet.no/en/develop/data-validation/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/data-validation/</guid>
				<description>&lt;p&gt;Data validation is fundamental in all development projects. The goal is to ensure that data has the expected structure, content, and quality before it is used further in the system.&lt;/p&gt;&#xA;&lt;p&gt;Incorrect or malicious data can lead to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;security vulnerabilities such as injection and XSS&lt;/li&gt;&#xA;&lt;li&gt;functional errors and unstable operations&lt;/li&gt;&#xA;&lt;li&gt;poor decision basis in reporting and analysis&lt;/li&gt;&#xA;&lt;li&gt;reduced quality in AI models and evaluations&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;OWASP Top 10 has consistently shown that inadequate input validation is a recurring cause of serious vulnerabilities. The main rule is simple: data should be validated at the trust boundary, regardless of the source.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Security Practices</title>
				<link>https://sikkerhet.bouvet.no/en/develop/security-practices/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/security-practices/</guid>
				<description>&lt;p&gt;There are many different types of vulnerabilities and weaknesses to consider when developing new applications. The Open Worldwide Application Security Project (OWASP) publishes a prioritized list of common application vulnerabilities that many teams use as a practical starting point.&lt;/p&gt;&#xA;&lt;p&gt;OWASP Top 10 is not a complete security standard, but a useful prioritization of what typically goes wrong in real-world projects.&lt;/p&gt;&#xA;&lt;h2 id=&#34;current-points-on-the-owasp-top-10&#34;&gt;Current points on the OWASP Top 10&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#current-points-on-the-owasp-top-10&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;As of today, the latest published version is OWASP Top 10:2025:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Development Environment, Tools, and Build Environment</title>
				<link>https://sikkerhet.bouvet.no/en/develop/dev_environments/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/dev_environments/</guid>
				<description>&lt;p&gt;The development environment and build environment are among the most important aspects of a development project. These environments are both a productivity factor and a critical part of the attack surface. Some teams develop and build locally on their own laptops, while others use dedicated development and build environments based on cloud services or on-premises development servers. Regardless of the solution, some core principles should always be in place: clear ownership, documented choices, standardized setups, and regular follow-up.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Documentation</title>
				<link>https://sikkerhet.bouvet.no/en/develop/documentation/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/documentation/</guid>
				<description>&lt;p&gt;Documentation is often deprioritized during delivery, but insufficient documentation creates real risk. Source code describes &lt;em&gt;how&lt;/em&gt; something works, but not &lt;em&gt;why&lt;/em&gt; certain choices were made, what threats were assessed, or what assumptions the solution depends on.&lt;/p&gt;&#xA;&lt;p&gt;Security context that only exists in the heads of individuals is a vulnerability. Security mechanisms that are not documented risk being removed by someone who does not understand the consequences. Threat models that are not written down cannot be maintained or revised.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Secrets</title>
				<link>https://sikkerhet.bouvet.no/en/develop/secrets/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/secrets/</guid>
				<description>&lt;p&gt;Secrets in development projects are represented as &lt;em&gt;connection strings&lt;/em&gt;, &lt;em&gt;passwords&lt;/em&gt;, &lt;em&gt;keys&lt;/em&gt;, &lt;em&gt;certificates&lt;/em&gt;, and any other sensitive information we do not want others to know about.&lt;/p&gt;&#xA;&lt;p&gt;There are many different approaches to handling these, and this has evolved as new services emerge. For cloud solutions, services like Azure Key Vault and similar have almost become standard, as these services handle multiple aspects of how to use and manage secrets.&lt;/p&gt;&#xA;&lt;h2 id=&#34;basic-principles-for-handling-secrets&#34;&gt;Basic Principles for Handling Secrets&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#basic-principles-for-handling-secrets&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Secrets should never be hard-coded or checked into version control systems&lt;/li&gt;&#xA;&lt;li&gt;Verify compliance by scanning the code - reject commits with secrets and rotate them immediately!&lt;/li&gt;&#xA;&lt;li&gt;Keep track of which secrets you have and what access they provide&lt;/li&gt;&#xA;&lt;li&gt;Limit the lifetime of secrets - no secrets should live more than a year, passwords and keys much shorter&lt;/li&gt;&#xA;&lt;li&gt;Team members should not always have access to all secrets; elevate or provide access as needed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;secrets-and-ai-tools&#34;&gt;Secrets and AI tools&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#secrets-and-ai-tools&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;When AI tools are used in the development process, new ways for secrets to be exposed arise.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Security Testing</title>
				<link>https://sikkerhet.bouvet.no/en/develop/security-testing/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/develop/security-testing/</guid>
				<description>&lt;p&gt;Security testing should always be an element of all deliveries. Many associate security testing with penetration testing, but it is much more than that. Some forms of testing can be done automatically as part of CICD, while others are more manual and typically performed against a deployed solution.&lt;/p&gt;&#xA;&lt;p&gt;Before starting security testing, it is important to understand what it can provide you - there is no single measure that solves all security problems, and no single test method that uncovers all weaknesses. Security testing is also one of the areas that often require specific expertise for the results to be good and/or interpreted correctly.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
