Code ships faster than it is secured.
An AI assistant generates a working feature in minutes. The auth check it skipped, the query it left open, the secret it hardcoded · those ship at the same speed. Velocity is the new attack surface.
Maru Systems · the security practice
Every build we ship carries a written security audit. We also run that assessment on its own, against software we did not write. A 136-control methodology aligned to OWASP, tested by hand rather than by scanner, delivered as a report precise enough for your engineers to close every finding and credible enough for your customers and insurers.
The problem
We are living through the fastest change in how software gets built in a generation. That is a good thing. It is also a security problem that almost nobody is positioned to catch, because the tooling that writes the code does not stop to ask whether it is safe.
An AI assistant generates a working feature in minutes. The auth check it skipped, the query it left open, the secret it hardcoded · those ship at the same speed. Velocity is the new attack surface.
Broken access control is the number one category in the OWASP Top 10. One object ID swapped in a URL, one missing tenant check, and one customer is reading another's data. It rarely shows up in a demo. It always shows up in a breach.
Solo founders and lean teams ship to real users with no second set of eyes. Established teams move too fast to slow down for security. The gap between live and reviewed is exactly where incidents are born.
Coverage
This is the actual methodology, not a marketing list. Sixteen phases run in order, every control tested and recorded with a pass, a fail, or a documented reason it does not apply. The two phases marked live are where most real breaches begin.
Signed scope, rules of engagement, data handling. No test runs without it.
Subdomains, exposed files, leaked secrets, the full attack surface mapped.
TLS, security headers, cookies, CORS, source maps, preview exposure.
Brute force, MFA bypass, password reset, OAuth, JWT forgery.
Token entropy, fixation, logout invalidation, CSRF.
IDOR, privilege escalation, multi-tenant isolation, row-level access rules.
SQL, XSS, SSRF, command, template, path traversal, prototype pollution.
Rate limiting, BOLA, excessive data exposure, webhook verification.
Price tampering, race conditions, workflow bypass, refund abuse.
DOM XSS, clickjacking, secrets in the bundle, postMessage origins.
Webshells, SVG XSS, traversal, signed-URL scope, metadata leakage.
Password hashing, secrets in git, weak algorithms, data at rest.
Webhook signatures, price authority, entitlement, idempotency, PCI scope.
Env var exposure, cron auth, edge bypass, WAF, monitoring.
Known CVEs, outdated frameworks, lockfile integrity, third-party scripts.
Reproducible findings, CVSS, business impact, remediation, retest.
The deliverable
No vague scanner output. Every finding in the report is written so an engineer who has never met us can reproduce it, understand the business risk, and close it. This is one of them.
▸ Reproduction steps and raw request / response are included in the full report and redacted here.
Impact
Any authenticated customer can read another customer's orders, including names, addresses, line items, and totals, by changing the numeric ID in the request. This is a confidentiality breach affecting every tenant on the platform and is directly reportable under most privacy regimes.
Evidence
A token issued to tenant_a returned order records owned by tenant_b. The endpoint authenticates the user but never checks that the requested order belongs to them.
Remediation
Scope the query by the authenticated tenant rather than the URL parameter, and enforce it at the database with a row-level security policy: USING (tenant_id = auth.tenant()). Apply the same object-ownership check to every /api/:id route, not just this one.
The report
The audit is only as good as what you can do with it. Every engagement ends with a structured report built to be handed straight to your engineers, and a summary built to be handed straight to whoever needs assurance.
One page. Overall posture, the top risks in plain business language, and what to fix first. The page your buyer, board, or insurer reads.
Every issue, ranked worst-first, each with reproduction steps, evidence, affected endpoints, and a CVSS score.
Exactly how your engineers close each finding, with the specific fix and code or config example. Written to be actioned, not admired.
After your team fixes, we re-run the affected controls and mark each finding verified-fixed, so you have proof it is actually closed.
Severity model
Every finding is rated by real impact and scored with CVSS 3.1, so you triage by risk, not by guesswork.
Full compromise: RCE, auth bypass, cross-tenant access, payment forgery.
Account takeover, stored XSS, IDOR, secret exposure. Fix before release.
CSRF, weak config, info leak, missing rate limits. Should fix.
Minor hardening: missing headers, verbose errors, metadata leak.
Observation or process note. No direct exploit.
Sample report
The audit is only as good as the report it produces. So here is a full one. This is a complete, redacted sample assessment against a fictional health platform, the exact deliverable your engineers would receive, down to the severity scoring and remediation.


Independence
We do not touch your codebase, and that is deliberate. The auditor who also writes the patch has a reason to look the other way. Staying strictly third-party means our only job is to tell you the truth about your security, and our report carries the weight of a genuinely independent assessment.
We are paid to find problems, not to minimize the work of fixing them. The incentive points one way: at the truth.
We never commit, deploy, or alter a line. You keep full control and a clean separation of duties.
An independent report is what an enterprise customer, a partner, or a cyber-insurer will actually accept.
Method
We agree the targets, the rules of engagement, and the test window in writing. A signed authorization is the first artifact of every engagement. No permission, no testing, ever.
Recon the full surface: subdomains, endpoints, inputs, integrations, exposed files. You cannot test what you have not mapped, so we map all of it first.
We work the 136-control methodology by hand, the way a real attacker would: chaining small flaws into real impact, probing the logic a scanner can never understand.
We reproduce each issue and discard anything we cannot demonstrate. A confident false positive wastes your engineers' time and costs us your trust. Only confirmed findings make the report.
A structured report with an executive summary, prioritized findings, CVSS scores, and exact remediation guidance. Your team fixes on your timeline, in your codebase.
After remediation we re-run the affected controls and mark each finding verified-fixed, so you finish with proof, not a hope that the patch worked.
Intelligence
The same forensic discipline as our security work, pointed at the people and companies behind a deal. Open-source intelligence and due diligence: every claim sourced and confidence-graded, every gap disclosed, nothing overstated.
Before you sign with a partner, distributor, supplier, or operator: who they actually are, assembled from the public record.
Deal & investor diligence
Reputational and integrity diligence on a target, investor, or acquirer before a deal closes, structured as a decision-support brief a board can act on.
Background and reputational research on a senior hire or a critical vendor, drawn strictly from public and authorized sources.
▸ Public and authorized sources only. Every finding graded and sourced · reported matters flagged as allegations, never conclusions.
Accepting engagements
Tell us what you have built and where it lives. We reply within one business day with a scope, a timeline, and a price. The first step is always a short conversation, never a scan.
Direct
security@marusystems.devCoverage
Serving companies across the United States
▸ No testing of any kind begins until a written authorization and scope are signed by the system owner.