7Block Labs
Blockchain Development

ByAUJay

Blockchain software development outsourcing: Security Clauses You Need in the MSA

Short Summary

When you're looking to outsource blockchain software, your master services agreement (MSA) is like your safety net. It's what keeps everything protected and running smoothly. This guide is your go-to resource for the most current and detailed information on different clauses. Plus, it shines a light on the latest security practices you need to know. Everything here is tailor-made for smart contracts, nodes, bridges, and zero-knowledge systems. This way, you can really weave security and accountability into your relationship with vendors from the get-go.


Why this matters now

A couple of things have shifted since 2024:

Nowadays, buyers want to see some solid proof of software supply chain security in their contracts. They're on the lookout for things like SSDF, SBOMs, and signed provenance to make sure everything’s on the up and up. Regulators and big buyers are beginning to view these things as must-haves. (csrc.nist.gov). You really want to get a handle on governance, third-party, and crypto-native risks right from the start. I’m talking about stuff like upgrade keys, MEV, finality/reorgs, bridges, and ZK ceremonies. It's crucial to address these issues early on to avoid headaches down the road! This is super important for financial services, especially with the EU DORA rolling out on January 17, 2025. (nist.gov).

Here’s a handy checklist that we at 7Block Labs like to use when we're helping startups and bigger companies with their blockchain projects. It’s all set and waiting for you to dive in!


1) Software supply chain security: non‑negotiable controls

Here's the deal: it's super important that your vendor stays sharp by using a solid software development framework. They should also be generating machine-readable Software Bill of Materials (SBOMs) and providing signed build attestations. It’s all about keeping things secure and transparent!

What to Include:

When you're assembling something, there are definitely a few must-have elements you don't want to skip. Here’s a super helpful list to kick things off:

1. Purpose: Let’s kick things off by sharing why I’m putting this together and what I’m hoping to get out of it.

2. Think About Your Audience: Always keep your readers or listeners in mind. Understanding your audience can totally transform the way you create content.

3. Main Point: It's super important to have a solid central idea that connects everything seamlessly.

4. Structure: Make sure to lay out your content in a clear and logical way. Having a clear structure really helps your readers stay on track.

5. Extra Info: Don’t forget to toss in some facts, data, or examples that really back up your main points! The stronger your information, the better off you'll be!

6. Visuals: Seriously, don’t overlook how impactful images, charts, and graphs can be! They can really make a difference in how we understand information. They really help make your content more interesting and easier to understand.

7. Call to Action: Alright, let’s bring this home! If you found this helpful, why not take a moment to put it into action? Whether it’s trying out a new tip or sharing your thoughts in the comments, I’d love to hear what you think. Go ahead and make a move - your next step starts now! Okay, here's what I need you to do next: Just take a moment to think about your next steps. Whether it's a project, a task, or something personal, figure out what feels right for you now. Don't stress too much, just let it flow. Once you have a clear idea, go ahead and make your plan. You got this!

8. References: Just a heads up--if you’ve pulled from any outside sources, make sure to give them a proper shout-out!

9. Feedback Mechanism: Make sure to set up a way for your audience to share their thoughts or ask any questions they might have. Interaction is key!.

10. Get in Touch: Don’t hesitate to reach out if you’d like to chat or connect more! I’m all ears and would love to hear from you.

If you keep these points in mind, you’ll end up creating something that’s not only informative but also really connects with your audience. Happy creating!.

  • Secure development framework
    The vendor really needs to start implementing the NIST SP 800-218 SSDF practices (or something along those lines). It’s also important for them to have a solid written record of their secure coding standards. Plus, they should be prepared to explain how their Software Development Life Cycle (SDLC) controls match up with the SSDF tasks if someone asks. " (csrc.nist.gov).

Alright, let's break it down a bit. When we talk about SBOMs, we're really diving into things like their format, how often they're updated, and how thorough they are. It's all about making sure we have clear, well-organized information that keeps up with the times and covers all the bases! "With each release, the vendor will include a Software Bill of Materials (SBOM) in either SPDX format." 3 or CycloneDX 1. 6+ gives you the lowdown on package names, versions, licenses, hashes, and the way dependencies connect with each other.
So, these SBOMs need to be something we can easily recreate for every build. They should be pretty straightforward for machines to understand, and let’s make sure they get updated within 24 hours whenever there are any changes to the dependencies. " (spdx.github.io).

  • We've got signed provenance for builds, so you can rest easy knowing they’re tamper-evident! The vendor's got to supply SLSA v1. You’ve got zero provenance attestations for different artifacts such as containers, binaries, WASM, and smart contract bytecode. Make sure these are signed and that you can easily find them using Sigstore or Cosign. When you're putting together the attestations, make sure to include some important details. You’ll want to note things like the builder, the source repo, the specific commit, the parameters, and any dependencies. These bits and pieces are key to keeping everything clear and organized! ” (slsa.dev).
  • Toolchain transparency
    The vendor has to keep an eye on the compilers they're using, like the exact version of Solidity or any special flags. They also need to track linkers and the build systems they have in place. It's a good idea to pin and verify your build images, plus steer clear of creating release artifacts on your development machines. Trust me, it’ll save you a lot of headaches down the road! ”.

Why it matters

SSDF, SBOM, and SLSA team up to ensure there’s a solid and trustworthy journey from the source code all the way to the finished product. Plus, when you use Cosign and Sigstore, you get these cool public, verifiable attestations just as you're sharing your software. It’s a nice little bonus right when you need it! If you're looking to explore more, feel free to check out all the details here. It's a great resource!


2) Smart contract guarantees: audits, verification, and upgrade safety

Your MSA should take “audit and best practices” and turn them into real, actionable deliverables.

  • Basic requirements and standards. The vendor has to create and test everything based on the latest EEA EthTrust Security Levels (version 2 or later) and the OWASP SCSVS profiles. Once the SWC registry controls kick in, it would be great for the vendor to connect their findings back to the SWCs. This way, tracking everything becomes a breeze! Hey, just a quick note: the SWC registry is no longer being actively updated. So, for now, EthTrust v2 and OWASP SCSVS have stepped up as the main standards you’ll want to rely on. Take a look at this: GitHub link. It’s worth checking out!
  • Analyzing code can be done in two ways: static and dynamic analysis. Plus, there's also fuzzing to consider. “The vendor should definitely run Slither for some static analysis. They should also utilize property-based fuzzing with Echidna/Foundry invariants. Oh, and it’s super important to keep track of the coverage and the invariant goals too!” Hey, just a quick reminder to make sure you include the reports and seeds in the final deliverable! You can check it out here: github.com. Thanks!
  • Let's talk about the audit scope and keeping things independent. "Let's make sure we get at least one independent pre-mainnet audit from a firm that we can both agree on." We definitely need to go back and re-check any critical fixes. And don't forget, we have to re-test the vendor funds too! ".
  • Public source verification
    "Whenever you deploy a contract, make sure to verify it using the standard JSON input on the relevant explorers, like Etherscan." Make sure to include the optimization flags, any constructor arguments, and the libraries that are linked. ” (info.etherscan.com).
  • The ability to upgrade and manage admin settings. When it comes to using proxies, the vendor should really set up Transparent or UUPS proxies that are compatible with OpenZeppelin. They also need to follow the ERC-1967 storage slot standard. And don’t forget - any upgrades should come with a timelock and multi-sig governance to keep things secure. Hey, just a quick reminder--make sure to include an emergency pause feature, and don't forget to document it well. Plus, it should have a time-limited circuit breaker, too! ” (docs.openzeppelin.com).
  • On-chain governance hygiene
    "Admin roles, such as upgrading, pausing, and minting, should really be handled by a multi-signature wallet that the Client has control over." If you’re making any changes, be sure to run them through a TimelockController and keep in mind that there’s a minimum delay. Just make sure to document everything clearly! ” (docs.openzeppelin.com).

Concrete Acceptance Artifacts:

So, when you’re diving into acceptance testing, there are a few important things you should definitely keep on your radar. These artifacts are super handy for making sure everything is up to standard before you take the next step. Here’s a quick rundown:.

  1. Acceptance Criteria
    Here’s a straightforward rundown of what needs to be in place for a product or feature to be deemed complete. It breaks down what "done" actually means and lays the groundwork for your testing efforts.
  2. Test Cases
    Here are some examples that explain how to check if the acceptance criteria have been fulfilled. They really help testers figure out what to look for and keep the whole testing process on track.
  3. Test Results
    Once you’ve wrapped up your test runs, go ahead and jot down the results. This could cover whether the tests passed or failed, along with any key details about how they were conducted.
  4. User Feedback
    Hearing from real users is really important. Their feedback means a lot! Gathering this info can really shed light on things that you might not catch during the official tests.
  5. Bug Reports
    If we run into any hiccups during testing or hear back from users, it's super important to have detailed bug reports. They really help us keep track of the issues and fix them quickly!
  6. Sign-off Document
    This final document is just to let you know that we’ve met all the acceptance criteria, and the product is all set for release! Typically, it’ll have signatures from the main people involved.

If you keep these artifacts organized and easy to find, you'll definitely make the acceptance testing process a lot easier for everyone involved!

  • Audit reports, which include finding IDs that are connected to SCSVS, EthTrust, or SWC when it's relevant.
  • You'll get outputs from both Slither and Echidna, plus the definitions for the invariants.
  • Checked out the source links and made sure the ABI addresses are all good.
  • Just a heads up, I’ve got the transaction hashes that show the Admin and Timelock setups.

3) Key management and custody controls

Even if you're not handing over custody to someone else, your vendor is still going to be dealing with some pretty sensitive information. This includes things like deployers, test accounts, and CI systems.

Clauses to Add:

Here are a few key clauses you might want to think about including:

1. Indemnification Clause

This clause is all about safeguarding against any losses or damages that might come from one party's actions. It's really there to protect everyone involved. It’s kind of like saying, “Hey, if I screw up, I’m here for you.” ”.

2. Confidentiality Clause

If there’s any sensitive info flying around, this clause makes sure that everything stays under wraps between everyone involved. It's all about keeping secrets under wraps!

3. Termination Clause

This part explains how and when either side can wrap things up and end the agreement. Having a solid exit plan is super important, just in case things don’t pan out the way you hoped.

4. Force Majeure Clause

This is all about those surprise situations that come out of nowhere--like natural disasters, pandemics, or anything else that’s just totally beyond anyone's control. So, it basically says, “Hey, if something major goes down, we totally get it if things take a little longer.” ”.

5. Dispute Resolution Clause

If there’s ever a disagreement, this clause lays out the steps to settle things--whether that means going through mediation, arbitration, or taking it to court. It’s usually a good idea to handle things calmly instead of letting them blow up.

6. Governing Law Clause

This part tells you which state or country’s laws will apply when interpreting the agreement. It's super important when the parties are in different jurisdictions.

7. Payment Terms Clause

It clearly explains when and how payments will be made. Being open and straightforward is really important to prevent any mix-ups later on.

8. Intellectual Property Clause

So, if you and your team come up with any new ideas or creations while working together, this part sort of lays out who gets to own what. It's all about keeping your ideas safe!

Go ahead and mix and match these clauses however you like, based on what you need! They can definitely help clear things up and make for a smoother relationship overall.

  • Crypto modules that have been validated by FIPS 140. If you're working with production deployers, relayers, guardians, or signers, make sure to generate your keys and store them in FIPS 140-3 validated modules or hardware security modules (HSMs). Keeping them secure is super important! You can still use FIPS 140-2 for now, but keep in mind that it’ll be considered outdated after September 22, 2026. So, it’s a good idea to start thinking about transitioning away from it before that date rolls around! ” (csrc.nist.gov).
  • Split-key/threshold ops
    If you're dealing with production admin keys, it's best to stick with threshold signatures, like MPC, or set up a multi-signature arrangement that involves different operators. So, just to keep things fair, no one person or vendor account should be able to handle upgrades or pauses on their own. It’s all about teamwork, right? ”.
  • We've got rotation and emergency playbooks ready to go. "We've put together a complete guide for our rotation procedures, and we've also got everything covered for logging ceremonies. Plus, we have a 24/7 emergency invalidation process in place just in case!" Also, we make sure to have fire drills on a regular basis to stay prepared and keep everyone on their toes. ”.
  • Access logging
    “Let’s make sure we keep a record of all key access, no matter if it’s coming from the CLI, API, or HSM.” Let's hang onto these logs for at least a year, and don’t worry--we’ll provide them to the Client anytime they request them! ”.

Why it matters

Having strong crypto boundary requirements, like FIPS 140-3 and split control, can seriously impact your security in a big way. They’re not just nice to have--they can really make the difference between being secure and being vulnerable. It’s all about finding that sweet spot between feeling “secure enough” and getting hit with the nightmare scenario where one compromised laptop sends everything tumbling down. If you want to dive deeper into this topic, check it out here. There's a lot of great info waiting for you!


4) Node and RPC reliability: how you turn uptime into a contract metric

Even the most secure smart contracts can fall short if the infrastructure that handles data reading and writing isn't great.

What to Require:

Whenever you jump into a new project or task, it's super important to know exactly what you're getting into. Here's a really useful list to help you out:

  1. Materials:
    Make sure to gather all your supplies ahead of time. It’ll save you a lot of hassle later on! This could include:.

    • Tools
    • Software
    • Reference materials
  2. Skills:
    Could you let me know what specific skills you’re looking for? Think about:.

    • Technical skills
  • Soft skills, such as communication and teamwork.
  • Do you have any certifications or qualifications?
  1. Timeframe:
    Set a realistic timeline. Consider:.
    • Project deadlines
  • Let's break down how much time we’ll need for each part of the project.
    • Potential delays
  1. Budget:
    Figure out a budget that includes all your expenses. Include:.

    • Material costs
    • Labor costs
    • Unexpected expenses
  2. Goals:
    Clearly outline your goals. Ask yourself:. So, what am I really aiming for here? So, how am I going to gauge my success?
  3. Support:
    Think about the kind of help you might need. This could be:.

    • Team members
    • Mentors or advisors
  • Check out online resources or communities.

If you keep these tips in mind, you'll definitely make your journey a lot smoother!

  • Multi-provider RPC that switches based on health checks. Vendors really ought to have at least two different RPC providers for every network they’re working with. Make sure to include some automated health checks and failover systems in this setup. Those are super important! Oh, and don't forget, they should definitely lay out their rate-limit and backoff strategies in writing. It’s super important to have that documented! The aim is to hit that sweet spot of 99. 99% RPC availability. Most top providers usually advertise a 99% uptime. We've got an impressive 99% uptime, so think of this as your service level objective (SLO). Definitely take a moment to check it out! ) (infura.io).
  • A mix of regions and availability zones. To keep things running smoothly, it’s a good idea to distribute stateful services across various regions and availability zones. Also, it’s really important to have those failover runbooks ready to go and to run canary checks. They're essential for keeping everything on track! ”.
  • So, let’s talk about MEV and how private transaction routing fits into the picture. If you’re handling transactions that are sensitive to price changes, it’s a good idea for the Vendor to provide support for private bundles or RPC endpoints, like Flashbots Protect. This can really help you avoid those pesky front-running and sandwich attacks! Hey, could you please ensure that we have some solid documentation on the privacy settings and how the mempool escalation works? It’ll really help keep everything organized! Thanks! " (docs.flashbots.net).
  • Understanding finality and managing reorganizations. When you're dealing with client-facing final statuses, it's super important to make sure they line up with network finality--like what you see with Ethereum's epochs and slots. Plus, you definitely want to have that reorg and backfill logic sorted out before any funds are actually released. ” (ethereum.org).

Operational example:

Alright, let’s dive into how everything fits together in a real-life situation.

Step 1: Setting the Stage

Picture this: you’re cozying up in a little coffee shop, the kind with mismatched chairs and the smell of fresh brews filling the air. The owner is really looking to make things better for customers by cutting down on wait times. So, they’ve chosen to roll out a new order system.

Step 2: The Plan

So, the owner of the coffee shop has decided to go ahead and implement a digital ordering system. This cool new feature allows customers to place their orders right through an app! This really helps make everything flow better and gets things moving more quickly. Here’s the breakdown:.

  • Get the App: So, the first step is for customers to grab the app. It’s super easy, just head over to iOS or Android, and you're all set!
  • Place an Order: Customers can choose their go-to drink and tweak it to their heart's content.
  • Payment: Customers can easily pay right through the app, making the whole payment thing super smooth and hassle-free.

Step 3: Implementation

Now that the app is live, the coffee shop team is diving into some training on how to handle incoming orders like pros. Here’s how it works:.

1. Order Alert: Whenever someone places an order, the barista gets a quick ping on their tablet. 2. Getting Started: They jump right in and start whipping up the drink without any delay. 3. Pickup: You can either swing by to grab your order or have it brought right to your table. Whatever works best for you!

Step 4: Results

Just a month into using the new system, the coffee shop started to see some pretty amazing results:

  • Customer Satisfaction: According to recent surveys, a whopping 90% of customers think the new system is super convenient!
  • Shorter Wait Times: We’ve really cut down on how long you have to wait--average times went from 10 minutes to just 4 minutes!
  • Boosted Sales: The store has seen a 20% jump in daily sales!

Conclusion

This example really shows how using technology can boost efficiency and make things better for customers. If businesses start using straightforward tools like a digital ordering system, they can really make a difference.

If you’re looking for some in-depth insights, don’t miss out on the full guide about boosting operational efficiency. It’s packed with useful tips!

So, whenever a transaction happens, it kicks off by attempting to go through a private relay first. If they don't get picked up within 25 blocks, they'll head over to the public mempool. Oh, and just a friendly reminder--it's probably best to avoid posting transactions with a 0-tip.
When you're dealing with signed nonce queries, don't forget to use authenticated headers. This is super important to keep everything secure and avoid any potential leaks. Stay safe out there! ” (docs.flashbots.net).


5) Cross‑chain and bridge risk: elevated controls

Cross-chain connectivity is definitely still a big target for hackers. Back in 2022, bridge exploits led to a massive amount of stolen cryptocurrency, and it seems like these multi-billion dollar heists just keep happening every year. It's really important to make sure your contract covers this risk. (chainalysis.com).

Hey there! I noticed you didn't include the text you want me to revise. Could you send it my way? Just share whatever you need help with, and I’d be more than happy to pitch in!

  • Clear bridge approval
    "Before we can move forward with any bridge integrations, we really need to get the Client's written approval and make sure we do a complete risk assessment. It's super important to have those steps in place!" The Vendor needs to break down the trust model, whether it’s a light-client setup, multi-signature process, or an external verifier. They should also explain who’s in the validator set and how the upgrade controls work. ".
  • Isolation and Kill Switches.

So, let’s chat about isolation and kill switches. These are super important features when it comes to safety and control, especially in tech and machinery. Basically, they help keep things contained and prevent accidental mishaps. Think of it this way: if something goes wrong, you want the ability to shut it down ASAP, right? That’s where the kill switch comes in. It’s like your emergency button, helping to keep everything safe and sound. "Let’s make sure we keep our bridged assets and handlers apart. Circuit breakers should kick in to prevent any cross-domain transfers, but they need to still let us run operations on the same chain." ".

  • Observability and Throttles
    "We’re really focusing on anomaly detection right now. It helps us keep an eye on things like volume and speed, spot any unusual routes, and monitor how validators are behaving." We've got automatic throttles set up, so if anything goes wrong, you should hear from us within an hour. ".
  • Third-party disclosures
    The vendor should definitely stay on top of and share details about the upstream bridge libraries, as well as their SBOM entries. If there are any high-risk changes, we definitely need the Client's approval before moving forward. ”.

6) Zero‑knowledge systems: setup and parameter ceremonies

When your vendor is supplying ZK circuits, it’s super important to make sure your MSA lays out the trust setup and what kind of evidence you’ll need.

  • Ceremony model
    If the vendor needs a trusted setup, they should opt for a public multi-party computation. You can think of it like the Powers of Tau phase 1 combined with a circuit-specific phase 2. They really need to get those transcripts out there, stay on top of where the entropy comes from, and stick to air-gapped procedures. When you can, it's a good idea to go for clear setups like Halo 2, as long as your performance can handle it. ” (zfnd.org).
  • Important Stuff About Custody and Retirement. When it comes to proving and verifying keys, it’s super important to keep all the steps in check--things like generation, distribution, rotation, and retirement need to be documented clearly. Don't forget to hash and sign all your artifacts! It's super important to keep everything secure. Oh, and just a heads up--try not to use the same keys for different circuits unless you’ve got a really good reason documented for it. ”.
  • Attestation bundles
    Make sure you’ve got your transcripts, signatures, and scripts all set for the independent verification process.
    ”.

7) Incident response, disclosure, and patch SLAs

Timelines and Channels: Making It Contractual

To really nail down a great framework for our projects, we should definitely include timelines and communication channels right in the contract. Alright, here’s how we can tackle that:

1. Define Timelines Clearly

Let's make sure we set clear deadlines for each part of the project. It'll help keep us on track! This means:.

  • Start and End Dates: Let’s nail down when the project is set to begin and when we'll be wrapping things up.
  • Milestones: It's super helpful to split everything into smaller, manageable goals, each with its own deadline. This way, you can keep track of your progress and celebrate those little victories along the way! This really helps everyone keep tabs on things and see how we're doing.

2. Establish Communication Channels

Let's figure out how we're going to keep in touch during the project. This includes:.

  • Preferred Platforms: Let’s pick which platforms work best for us. Are we thinking email, Slack, Zoom, or maybe something else entirely?
  • Check-In Frequency: Let’s figure out a good rhythm for our catch-ups--should we touch base every day, every week, or maybe every other week?

3. Include Everything in the Contract

It's super important to make sure all these details are included in the contract. That way, we can all be on the same wavelength. We should cover:.

  • What Happens If We Miss a Deadline: So, what are the repercussions if we don’t hit our deadlines? Let’s break down those possibilities.
  • Timeline Adjustments: If we ever need to change things up, let’s make sure we have a straightforward way to handle that.

4. Review and Revise Regularly

Let’s make sure we have regular check-ins to go over our timelines and how we’re communicating. It’ll help us stay on the same page! This keeps us on the same page and lets us tweak things if we need to.

If we turn timelines and channels into contracts, we can really boost our organization and efficiency at work. This way, everyone benefits and things run more smoothly for all of us.

  • Notification Clocks
    The vendor will reach out to the client within 24 hours if they suspect any security incidents that might affect client systems or on-chain deployments. They'll keep you in the loop with updates every 12 hours until everything is under control. After that, you can expect a detailed root cause analysis within 10 business days. ”.
  • Coordinated vulnerability disclosure
    The vendor's got your back with a public security.txt file, so anyone can access it easily. They’re also open to receiving encrypted reports, which is great for keeping things secure. Plus, they’ll follow the ISO/IEC 29147 and 30111 guidelines when it comes to triaging and resolving any issues that come up. When there’s a risk to client assets, it’s really up to the client to choose when they want to share that information. " (iso.org).
  • Hotfix Authority
    If there’s a sudden threat to the funds, the Vendor can step in and take quick action--like hitting pause on activities or putting some protective measures in place. They just need to make sure they stick to the guidelines we’ve all agreed on. No need to stress! We'll make sure everything's logged and reported, so you can see it all clearly.
    ”.
  • Handling backports and chatting with users. Let's make sure we backport those security patches to the versions we're still supporting. Also, if there are any major issues, we should get user notifications ready within 48 hours. ".

8) Regulatory alignment you can actually verify

Even if you’re not a regulated financial institution, having a solid framework for borrowing can really enhance your credibility with boards and auditors. It shows that you take financial responsibilities seriously!

  • NIST CSF 2. 0 Governance and Third-Party Risk.

Let's talk about governance and what it means when it comes to third-party risks. It's all about understanding how to manage risks that come from working with outside vendors or partners. We need to make sure that we have solid guidelines in place to keep everything running smoothly and safely. This way, we can protect ourselves and our organization from any potential pitfalls that might arise from these external relationships. "Vendors are going to link their controls to the Govern function and share the outcomes of third-party risks that are connected to software and infrastructure." " The CSF 2. The update from October 2023 rolled out a clear Govern function, which is pretty cool. It also shifted the spotlight onto supply-chain challenges for 2024, making it even more relevant. (nist.gov).

  • ISO/IEC 27001:2022 alignment
    Make sure the vendor's ISMS has the latest Annex A controls in place. This should definitely include things like threat intelligence, secure coding practices, and cloud services. Hey, just a quick reminder--if you’re certified, make sure to include the scope and your certificate! The 2022 update really cleaned up the controls and brought in some exciting new topics! (blog.ansi.org).
  • EU DORA (this one's for anyone diving into EU financials). When putting together contracts, it’s super important to include everything that DORA requires. That means making sure you’ve got things like incident reporting cooperation, rights for testing and audits, details on where the data is stored, guidelines for how to terminate or exit the contract, and clear transparency about any subcontracting involved. If you have any older contracts lying around, make sure to tidy them up during the transition period! DORA is set to roll out on January 17, 2025, and it brings along some specific rules that ICT third-party providers need to follow when it comes to contracts. Take a look at this: (eba.europa.eu). It’s worth checking out!
  • Making sure we follow OFAC sanctions (U.S.) Exposure). The vendor should set up sanctions screening and use IP geo-fencing when it makes sense. Plus, they need to have a solid OFAC compliance program that clearly covers virtual currency. ” (ofac.treasury.gov).
  • SOC 2, if that's something your board is interested in. If the vendor is providing managed services, make sure you grab a SOC 2 Type II report that includes the Security and Availability sections. Oh, and don’t forget to share that report under an NDA to keep everything confidential! ” (mossadams.com).

9) On‑chain operational safety: runtime protections

Here are the "sharp edge" clauses that can help you steer clear of those common production bumps along the way:

  • Check the gas, upgrade what needs it, and make sure the proxies are safe. So, the vendor takes care of a gas budget and runs regression tests. When it comes to proxy upgrades, it’s super important to make sure that the storage layout is all in sync and that the ERC-1967 events are being emitted just right. Oh, and make sure you jot down the invariants both before and after the upgrade. It’ll be super helpful! ” (eips.ethereum.org).
  • Timelocks and guardians
    "For any non-emergency changes, we have this cool time lock feature that adds a little bit of a waiting period." In emergency situations, guardians have pretty limited powers, and those powers only stick around for a certain period of time. If the folks in charge don’t renew them, they’re just going to run out on their own. " (docs.openzeppelin.com).
  • Finality Buffers
    Off-chain systems, like payouts, usually wait for N blocks or a few finalized epochs before they go ahead and settle everything. You can find the value of N for each chain in the documentation. Just take a look there! " (ethereum.org).
  • MEV policies
    Whenever you're handling sensitive transactions, it's a good idea to stick with private routing. It just adds that extra layer of security you need. Just a heads up--let's make sure we have some clear guidelines in place for when it's alright to switch back to the mempool. Oh, and make sure you jot down the Protect RPC settings too! Things like privacy hints, builder multiplexing, and refunds are all important to keep track of. ” (docs.flashbots.net).

10) Evidence, acceptance, and ongoing assurance

Instead of just throwing out a list of controls, take a moment to really consider how you're going to handle them in practice.

Hey there! It looks like your request is missing some details. Can you give me a bit more info? Thanks! Sure! Can you share a bit more about what you're looking for or how I can help you? Just let me know what you need, and I'll do my best to assist!

  • Every release includes a “security delivery package,” which comes with: So, we're looking at SBOM, which stands for Software Bill of Materials. This can come in formats like SPDX or CycloneDX. Plus, we’ve got SLSA provenance, and that's signed using Cosign.
  • We’ve got the results from our static analysis and fuzzing, including the seeds we used and the coverage targets we aimed for.
  • Details about the deployed addresses, links to verified sources, compiler settings, and bytecode hashes.
  • You'll need some solid proofs for the governance setups, like timelock delays and multi-signature signers. Plus, don't forget to include a map of the admin roles!
  • Quarterly attestation
    Every quarter, the vendor touches base to make sure they're on track with the SSDF guidelines. They keep an eye on those dependency patch SLAs, handle key rotations, and take a look at the results from the tabletop exercises. The client has the option to request audits or inspections for any critical systems, following DORA-style guidelines. ” (trowers.com).

Example “Security Schedule” language you can lift

Alright, so here’s the deal: the vendor won’t be pushing any upgradeable contracts into production unless a few key things are sorted out first. First off, the implementation and proxy need to stick to the ERC‑1967 standards. Then, any upgrades have to go through the TimelockController with a delay of at least X hours. We also need the Client to give a thumbs-up on any changes to the storage layout. And lastly, we’ve got to make sure that a post-upgrade invariant test suite runs successfully on a fork that’s got at least N finalized epochs. Simple, right? ” (eips.ethereum.org).

Every time the Vendor sends over an image or artifact, they also provide a Cosign-verified SLSA v1. 0 provenance. This covers stuff like the commit SHA, builder ID, build parameters, and any dependencies that have been sorted out. If artifacts aren't backed up by valid attestation, they won't get the green light for deployment. ” (slsa.dev).

Hey there! Just wanted to give you a quick heads up--make sure to verify all smart contracts on Etherscan (or something similar) using the standard JSON input. It's super important! If you don’t verify, we won’t be able to accept the blocks unless you send us a written waiver. ” (docs.etherscan.io).

Vendors should automatically send any price-sensitive transactions through private relays, such as Flashbots Protect. It’s also important for them to keep a log of when they switch things up and use the public mempool instead, along with the reasons behind those choices. ” (docs.flashbots.net).

When it comes to using ZK trusted setups, the Vendor will usually choose to go with multi-party ceremonies and make sure to share the transcripts. Plus, they'll try to stick with transparent systems like Halo 2 whenever they can. ” (zfnd.org).


11) Emerging best practices we’re now adding by default

  • CycloneDX 1. Hey, guess what? Version 6+ is finally here, and it comes with this pretty awesome feature called a cryptographic BOM (CBOM). It makes it super easy to declare your cryptographic assets and settings across all your stacks. How cool is that? This is really helpful for those PQ-readiness audits! Take a look at it over here: cyclonedx.org. You might find it pretty interesting!

Lately, we're really focusing on builder-level hardening! It's pretty cool because you can now achieve SLSA Build L3 for your CI platforms. Just a little reminder: always make sure to toss out any artifacts that lack proper provenance. It's all about keeping things secure! Check out all the nitty-gritty details over at slsa.dev.

Hey there! If you're interested in smart contracts, I've got some exciting news for you. The OWASP SCSVS v2024 profiles just dropped, and they come with some solid test suites--think Foundry and Echidna--that you can use as acceptance criteria. Happy coding! Hey, make sure to check out the info at owasp.org. It's definitely worth a look!

  • Finally, it’s super important to have those documented bridge risk registers all set up. Don't forget to keep in mind your trust model, upgrade keys, and oracle dependencies. And hey, make sure you’ve got those kill-switch drills down too! Feel free to check out more details over at chainalysis.com. It's definitely worth a look if you're curious about the topic!

Putting it together: a minimal MSA security checklist

  • Frameworks and Artifacts
    We're diving into some cool stuff like SSDF mapping, SBOMs--think SPDX and CycloneDX--and checking out SLSA along with Cosign attestations. If you want to dive deeper into it, feel free to check it out here.
  • Smart Contracts
    Alright, think of it this way: we're talking about EthTrust v2 and those OWASP SCSVS controls. So, when we talk about security and tools, we can't forget about Slither and Echidna/Foundry. They're pretty essential, right? Plus, we should also consider things like source verification, ERC-1967 proxies, timelocks, multi-sig setups, and pause functions. All of these elements work together to keep everything running smoothly and securely! If you want to dive deeper, you can check out more details here. It’s got everything you need to know!
  • Keys and Custody
    We're getting into the nitty-gritty of FIPS 140-3 HSMs, exploring things like threshold operations, rotation, and logging. Let’s break it all down! If you're curious to dive deeper into this topic, just click here to check it out!
  • Nodes/RPC and Runtime
  • So, when we’re talking about the latest in tech, multi-provider RPC and MEV-aware routing--especially with a focus on privacy--are pretty hot topics right now. And let’s not overlook those finality buffers; they’re definitely important too! If you’re interested in diving deeper into this topic, check out this link. It’s got some great info that you might find helpful!
  • Cross-Chain & ZK
    So, let's dive into the nitty-gritty of bridge approvals, isolation, and throttles. We're also touching on some cool stuff like MPC ceremonies and transparent ZK. If you want to dig a little deeper into the topic, you might want to take a look at this article. It's got some really interesting insights!
  • Regulation and Assurance
  • You might want to dive into subjects like CSF 2. So, when we're talking about this stuff, we've got to keep in mind a few key things: ISO 27001:2022, those DORA contracts, the OFAC program, and SOC 2 if it's relevant. They all play a big role in what we're doing here. If you're curious to dive deeper, check it out here!
  • Incident Response
    Hey, let’s remember some important points like giving a 24-hour heads-up, following the ISO 29147/30111 process, and keeping our emergency guidelines in check. If you want to dive deeper into the details, just check this out here.

Final thought

Security isn't just something we say; it's really about having clear commitments that you can actually verify. Every time we roll out a new update, you should be able to see the evidence backing it up. If you're currently working through an outsourcing deal, make sure your Master Service Agreement (MSA) touches on key points like supply chain attestations, on-chain governance, and operations that are aware of miner extractable value (MEV). It’s important to have those bases covered! This way, you can steer clear of any potential arguments later on, and even better, it ensures that user funds stay safe and sound.

Hey there! If you're on the hunt for a customized red-lined Security Schedule that meshes well with your tech stack and meets your jurisdiction requirements, look no further than 7Block Labs! We can whip one up for you in just a day, and we’ll even include some handy acceptance checklists that your engineering team will definitely appreciate.

Like what you're reading? Let's build together.

Get a free 30-minute consultation with our engineering team.

7BlockLabs

Full-stack blockchain product studio: DeFi, dApps, audits, integrations.

7Block Labs is a trading name of JAYANTH TECHNOLOGIES LIMITED.

Registered in England and Wales (Company No. 16589283).

Registered Office address: Office 13536, 182-184 High Street North, East Ham, London, E6 2JA.

© 2026 7BlockLabs. All rights reserved.