Short, direct answers to the questions customers ask first.
Unlike backend and cloud systems, the sources do not tell you what you shipped. A compiled build also depends on:
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.
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.
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.
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.
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:
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.
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.
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.
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).
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.
Request access for a pilot, or contact us to discuss your build and compliance requirements.
Licensed per your environment. Contact us for pricing. It depends on your build volume and deployment model.
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.
None of this is in your source tree, and none of it survives in the finished binary. It exists while the build runs:
A tool can be wired into a compiler to watch some of this. The hard part is not connecting. It is producing a complete record, hashed at capture, signed at capture, that an auditor accepts and a release decision can rest on. That record is what Strig hands you, and it is what any analysis, human or machine, needs in order to reason about the product you are actually shipping.
We do not run a general model over your build. The checks that produce evidence are deterministic lookups against reference data we maintain: component fingerprints, known binaries, CVE and advisory feeds. Five reasons that matters.
A general model sits only in the advisory layer, where it explains and ranks findings. It never touches the gate.
All of it. This is exactly where an AI-first approach falls apart and ours does not.
Deploy on-premise, fully air-gapped, or as SaaS. Same platform, same results.
More accurate, because we only analyze what is actually built.
Regulations like the CRA and sector frameworks turned software inventory from good practice into an obligation, including for products you already sold.
Most supply chain tools trust a lockfile from npm, PyPI, or a container image. Compiled, low-level languages do not have a lockfile that matches what linked. Vendored copies, static libraries, and the toolchain decide the inventory at compile and link. Strig watches that moment, then still runs SAST, SBOM, CVE tracking, and a release gate on what actually built.
Evidence for programs across automotive, medical, industrial, rail, and embedded, including ISO 26262, IEC 62304, IEC 62443, EU CRA, FDA cybersecurity guidance, MISRA, and CWE, among others. We produce evidence for your assessor; we do not certify you. Don't see your framework? Tell us. Adding coverage is routine engineering work.
It is a holistic solution, so it can replace a fragmented stack, or it can be integrated alongside the tools you already run.
Three shifts at once:
No. Strig watches the build and records what happens. It does not change compiler flags, sources, or build steps.
Yes. The output is unchanged, with the same artifact hash. Strig observes and does not rewrite. We produce evidence that the observed build yielded the same artifact as the unobserved one.
Major C and C++ toolchains today. Other compiled languages as your builds need them. Tell us what you compile with and we will confirm.
Any build system that invokes real compiler and linker commands, including Make, CMake, Bazel, Yocto, Ninja, and the rest. Strig captures what actually runs during the build. It does not care how those commands were orchestrated.
Seconds of overhead in the worst case. Strig records while your build runs; it does not add build steps.
No. Strig runs in parallel with your existing CI/CD, with no conflict and no intrusion into your process. You run the same build command under Strig: strig <build command>. No pipeline rewrite. Seconds of overhead in the worst case. Your pipeline gets a pass/fail exit code.
Yes. Strig fuzzes the binaries your build actually produces, not a source-level approximation. Crash results feed the same report and gate as SAST, SCA, and SBOM findings.
These have no source-only or binary-only equivalent. The evidence exists for one moment, while the build runs, and is gone afterward.
Everything else — source scanning, manifest parsing, secret detection, finding modified vendored code — can be done without the build. It is just less accurate.
Depends on how you deploy. On-prem and air-gapped: everything stays in your network. SaaS: processed in Strig-managed infrastructure, configured to your requirements. Tell us your constraints and we will match them.
On-prem and air-gapped: nothing leaves your environment by design. SaaS: governed by your deployment agreement. We adjust to your requirements.
Yes, that is the design intent. The operational details (how vulnerability data updates arrive and how licensing is handled offline) are being finalized. We will confirm those specifics rather than guess at them.
Not only. If you still have the source and the toolchain for a past release, that release can be rebuilt under observation and produce evidence for the image that actually shipped. Where source or toolchain is gone, the value is forward-looking, from the next maintenance release onward.
An inventory of what is genuinely inside the shipped image, the known vulnerabilities affecting it, and a comparison against whatever inventory you hold today.
Request access. Strig runs during compilation. No pipeline rewrite.