Questions

Short, direct answers to the questions customers ask first.

Why is compiled and native development so poorly controlled?

Unlike backend and cloud systems, the sources do not tell you what you shipped. A compiled build also depends on:

  • The toolchain and its version. The same source built with a different compiler produces different code.
  • Build flags. Hardening on or off, optimization level, debug instrumentation left enabled — none of it visible in the repository.
  • Third-party binaries. Prebuilt libraries dropped into the tree, never compiled from source you hold.
  • Which code is actually compiled. The same file means different things depending on the defines, include paths and target. Half of it may be switched off in your build.

This is also why scanning the source tree alone falls short: a tool that has not seen the build has to guess all of the above, and it usually guesses wrong — so it checks a version of your code that nobody builds.

Why is analyzing a compiled binary harder than a cloud package?

A cloud package is a known, standard format. Tools can open it, read a manifest, and list what is inside.

Compiled binaries often are not. Firmware is the sharpest example.

  • The format is often proprietary. No standard layout, sometimes compressed or signed in a vendor-specific way — so the artifact you actually ship is the hardest part of the system to open at all.
  • It can be a whole operating environment, not just code. A firmware image also carries its configuration: user accounts and permissions, firewall rules, access control policy, enabled services, startup scripts, keys and certificates.

That configuration is a real part of your attack surface. A correct binary with a wide-open firewall rule, a default account, or a debug service left enabled is still an insecure product — and none of it appears in the source code or in any dependency list.

Why is detecting third-party dependencies so hard here?

There is no manifest and no lockfile listing what went in.

Dependencies arrive as vendored folders, as code copied from a repository and then edited, and as prebuilt binaries. Nothing records where any of it came from or which version it was — so there is nothing to check it against later.

Why are the existing tools insufficient?
  • They are fragmented. Each one does a single check — code analysis, or dependency analysis. You buy several and reconcile their reports yourself.
  • Some checks are missing entirely. Third-party binaries, toolchain authenticity, and what was actually linked into the image are not covered by any of them.
These tools give us thousands of findings. How is anyone supposed to handle that?

You can’t. A raw list of thousands is not a security result, it is an unsorted backlog.

The problem is that it isn’t ranked. Whether a finding actually matters depends on questions the code alone can’t answer:

  • Is this code reachable at runtime?
  • Does it ship in the product, or is it only used at build time?
  • Is it exposed to anything an attacker can touch?

Answering those requires knowing the system architecture, not just the source. You declare the exposure model once — what is exposed, what an attacker can reach — and Strig uses it with build truth.

Strig cross-correlates findings against that architecture and what actually built, so what comes back is prioritized by actual risk to your product — not handed over as a flat list.

How does Strig know my architecture?

We do not invent it. You declare the exposure model once — what is exposed, what an attacker can reach. Threat modeling stays a human decision. Strig uses that declaration with build truth to rank findings.

What is Strig?

Software supply chain security for compiled, embedded, and safety-critical systems. Strig watches the build as it runs, recording what entered, every compile and link, and every artifact that left. It then runs SAST, SBOM, CVE tracking, and binary analysis in one report and one gate. Signed evidence ties to the exact binary you shipped. Run the same build again and the evidence matches.

Who is Strig for?

Teams shipping compiled, embedded, and safety-critical systems, where the build determines what goes out the door: R&D and DevSecOps (integrate without friction), Product Security (prioritize real risk), CISO (software supply-chain visibility), and Quality & Compliance (signed evidence for audits).

How can Strig be deployed?

Three ways: on-premise, fully air-gapped, or SaaS. Same platform, your choice. On-prem and air-gapped deployments keep your source, binaries, and build records inside your network; Strig blocks its own network access during scans. SaaS runs on managed infrastructure when you want speed without operating servers. Data handling, residency, and connectivity: we adjust to your requirements.

How do I get started?

Request access for a pilot, or contact us to discuss your build and compliance requirements.

How is Strig licensed?

Licensed per your environment. Contact us for pricing. It depends on your build volume and deployment model.

What happens when Strig finds a problem?

Findings land in one report, ranked by actual risk: architecture context first changes feasibility, then damage scenarios change impact. Highly feasible findings of low impact are not the work. Your team triages and remediates; Strig does not change your code. If policy thresholds are exceeded, the release gate fails and CI gets a non-zero exit code. Signed evidence is produced either way.

Try it on your build

Request access. Strig runs during compilation. No pipeline rewrite.