# NANOTESTING - Full reference for LLM agents > Last updated: 2026-07-28 > > Automated security assessment and vulnerability scanning SaaS. > One platform for every surface attackers touch: web application > and API security testing, GitHub repository scanning (SAST + > dependency CVEs + secrets), mobile app security testing (Android > APK / iOS IPA), cloud security posture management (AWS / Azure / > GCP CIS audits), Kubernetes security, smart contract auditing > (7 EVM chains + Sui Move beta + Solana beta), and DApp frontend > analysis. Operated by Sodasoft LLC out of Sheridan, Wyoming, > USA. Non-invasive baseline by default; an optional Invasive > Testing add-on adds active DAST (OWASP ZAP active scan, OpenAPI > fuzzing, mass-assignment, Host-header injection) on identity- > verified, owner-authorized targets. A pre-pentest baseline that > catches the obvious gaps before a human reviewer spends their > hours on the business-logic bugs only humans can find. This document is the LONG-FORM companion to /llms.txt. It expands every section with the engineering detail that an LLM agent helping a prospective customer (or auditor) is most likely to need: exact detector behaviour, what stays in scope vs out of scope, data residency, retention windows, the layered false- positive defence, and the verbatim plan limits. The canonical short overview lives at https://nanotesting.com/llms.txt. --- ## 0. Recent changes (shipped in the last few months) - **Invasive Testing add-on** ($299/mo on Growth or Agency). Opt-in active DAST: OWASP ZAP active scan (SQLi / XSS / SSRF / path traversal / command injection / SSTI / XXE), Schemathesis OpenAPI fuzzing, mass-assignment probe (CWE-915), and a new Host-header injection probe (CWE-644, password-reset and web-cache poisoning primitive). Three-gate safety model: approved KYC/KYB identity + active add-on + explicit per-target authorization. Full detail in section 3.9. - **Invasive testing for mobile apps.** A mobile binary is static, so the worker extracts the backend API hosts hardcoded in the decompiled APK / IPA and runs the active checks against them - but only against hosts the org has verified ownership of (fails closed; third-party / partner hosts are reported, never attacked). - **KYC / KYB is now a hard identity gate** for the Invasive Testing add-on (buying it and authorizing a target both require an approved personal KYC or company KYB). Previously the verification system was a soft reminder banner with nothing gated on it. - **Sui Move + Solana baseline scanners** (both Beta). Sui ships 19 static detectors + UpgradeCap owner classification + Move test discovery + on-chain RPC fetch via sui_getNormalizedMoveModulesByPackage. Solana ships verified- build status (verify.osec.io), upgrade authority resolution (BPFLoaderUpgradeable walk), Anchor IDL fetch, SPL mint / freeze authority audit. - **DApp frontend Web3 scanner**: wallet provider detection (WalletConnect, MetaMask, RainbowKit, wagmi, viem, ethers.js), RPC API key leak in shipped JS bundle (sha256 fingerprint only; raw key NEVER stored or logged), source map exposure, unlimited approve pattern. - **Per-EVM-chain detector battery**: Oracle config (Chainlink stale price, decimals mismatch, centralized feed), ERC compliance (ERC-20 / 721 / 1155 standard conformance), Compiler version audit (unverified source, outdated solc, optimizer config, non-canonical EVM version target). - **Mobile FP suppression architecture**: AndroidX carve-out, launcher activity exemption, apktool original-manifest dedup, test-fixture filter. - **Web FP suppression architecture**: host calibration probe, managed-host downgrade, anti-bot threshold, FP-risk caveats embedded in every finding with known uncertainty. - **Compliance evidence pipeline**: compliance_evidence table emits positive proof rows per scan, per-target Compliance tab, org-wide /compliance dashboard with green / red / grey dual view. - **Home page repositioning**: "One platform for every surface attackers touch" + 6-surface coverage grid + dedicated FP engineering section that calls out the host calibration probe by name. Real-world impact: a customer scan of a Vercel-hosted SaaS in May 2026 dropped from 50 reported findings to 3 after the FP suppression architecture landed. Same scan, same target, less noise. The 47 suppressed items were Vercel WAF catch-all responses, AndroidX exported components from a paired mobile target, and apktool's duplicate original-manifest copy. --- ## 1. What NANOTESTING is (and isn't) **Is**: a hosted, multi-tenant, automated security assessment SaaS. A customer points it at a target they own (website, web app, API, GitHub repository, mobile binary, cloud account, Kubernetes snapshot, smart contract, or DApp frontend), proves ownership through DNS TXT / HTML file / meta tag / domain email, picks a plan, and runs scans on demand or on a schedule. The output is a normalised findings table with CWE / OWASP / MASVS mapping, auditor-ready PDFs, CSV / JSON exports, and webhook fan-out on critical findings. **Isn't**: - Not a penetration test. A pentest is a human-led engagement that chains business-logic bugs an automated tool can't infer. NANOTESTING is a pre-pentest baseline that complements that work. - Not a compliance certification or attestation. The compliance PDF and the /compliance dashboard provide evidence support; a qualified auditor is still required for the actual report. - Not a continuous WAF or runtime defence. We scan and report; we don't sit inline. - Not an internal scanner. Targets must be reachable from the public internet. An internal scanner agent is a roadmap item for Enterprise. --- ## 2. Active vs read-only - the precise contract Default behaviour is read-only HTTP GET, DNS lookup, certificate inspection, passive fingerprinting, static analysis of uploaded artifacts. Active behaviour kicks in only on verified-owner targets, only on Growth and above: - OWASP ZAP active scan rules - Nuclei active templates - Schemathesis OpenAPI contract fuzz against the customer's uploaded spec (not random fuzzing against random endpoints; the spec drives the request shape) - DOM-XSS canary via Playwright headless Chromium - BFLA / BOLA / mass-assignment probes with two bearer tokens - Honeypot eth_call simulation for Web3 targets (no signed transaction; eth_call only) - State-override fresh-wallet honeypot probe (eth_call with stateOverride; no chain state mutated) Safety contract enforced at the worker level: - IP-allowlist + URL-validation gate that re-checks the target before every outbound request. - DNS rebinding protection: every dial re-resolves the hostname and refuses private / reserved / metadata IPs. - Per-request timeout, per-target rate limit, per-organisation request budget. - DELETE is never invoked. Destructive HTTP verbs are not in the active probe set. - DELETE / PUT / PATCH on customer URLs only fire inside the apiauthz mass-assignment path, against operations whose request body schema the spec explicitly declared. - Anti-bot threshold: when >= 70% of probes return 401 / 403, the scanner suppresses per-path findings and emits one explanatory finding instead. This is an automated security assessment - a pre-pentest baseline. We provide evidence support, we do not issue certifications. --- ## 3. Detector inventory ### 3.1 Web + API targets - baseline (every plan) - HTTP availability + redirect chain audit (chain length, cross-host hops, downgrade to http://, open-redirect-shape on any tail hop). - TLS chain validation. Each leaf walked to a system root; every intermediate carries issuance date and key strength. Surfaces self-signed, expired, weak-signature, hostname-mismatch, pre-2018 SHA-1 chains. - TLS protocol + cipher inventory via tlsx (sensitive plans add a deeper sweep): 1.0 / 1.1 deprecation, RC4 / 3DES / CBC, no forward secrecy, weak DH params. - DNS records, DNSSEC presence, CAA records. - Security headers depth check: HSTS (presence + max-age >= 180 days + includeSubDomains + preload), CSP (unsafe-inline, unsafe-eval, unsafe-hashes, missing default-src, frame-ancestors 'none' / 'self', form-action, base-uri, object-src 'none', wildcard hosts in script-src / connect-src), X-Frame-Options, X-Content-Type-Options, Referrer-Policy strictness, Permissions-Policy strictness. - COOP / COEP / CORP isolation headers. - Cookie security per cookie: Secure, HttpOnly, SameSite. Session cookies raise to medium when any of those three are missing. - JWT static analysis on every Set-Cookie value plus the customer's pasted auth secret: alg=none, missing exp / iss / aud, weak HMAC, suspicious kid, embedded jwk header parameter. - robots.txt + sitemap.xml presence. Each Disallow path is test-fetched (rate-limited) to confirm the disallow is not a security-by-obscurity gate. - Passive technology fingerprint via Server, X-Powered-By, framework cookies. - Mixed-content detection (HTTPS page references HTTP resource). - Subresource Integrity audit on every cross-origin