Grego Security OS
The same engine in a self-service continuous layer, with persistent memory carrying project context between runs.
Find critical vulnerabilities that tests, scanners, and auditors miss.
Grego’s AI security harness coordinates thousands of specialized agents to test hypotheses in parallel, from local logic to cross-component interactions and shared dependencies. Promising paths are challenged, refined, and consolidated into high-confidence findings.
A Grego run can start from a full system, repo, component, or diff. The code in scope defines what receives explicit coverage, not where an investigation must stop. Thousands of agents investigate different functions, call paths, and potential failure modes in parallel.
Every scoped function receives explicit coverage. Multiple agents investigate each one, pursuing hypotheses along different paths through the code rather than concentrating on obvious hotspots.
Agents do not stop at scope boundaries when behavior depends on code elsewhere. They follow paths into integrations and dependencies, looking for failures that emerge across those boundaries.
Supports any tech stack or language, from Solidity to DAML. Contracts to frontends and APIs are investigated as one system through code and its interactions across languages, repos, and runtimes.
The AI harness maps your scope, runs thousands of specialized investigations, challenges candidate paths, and consolidates the strongest findings into a final report.
The same engine in a self-service continuous layer, with persistent memory carrying project context between runs.
Grego fits around your security engagements like audits or competitions. Each run targets an exact commit and is tailored with your team around the architecture, invariants, and trust boundaries. Covers a full codebase, critical component, integration, or release, once or on an agreed cadence.
Find common vulnerability classes early. Your audit partners receive a clean base to review.
Review the same commit in parallel. Agents extend coverage beyond one team’s language and specialties.
Test residual risk across neglected surfaces, disputed assumptions, cross-component interactions, and dependencies.
Review releases and deltas as code changes. The diff is the starting point and agents follow its effects into wider code and dependencies.
A managed review powered by the Grego AI harness for a full codebase, critical component, integration, or release. Best suited to a new system, high-risk component, critical release, integration, or residual-risk review.
Book a scoping callThe Grego AI harness drives each review from initial codebase context through thousands of parallel investigations, evidence challenge, and final report assembly.
We map and scope your codebase.
We produce a scope report and gather your context.
We execute the tailored run across the agreed scope.
You receive a first-class report on the platform.
Each review produces a Grego report, a low-noise technical deliverable with findings you can act on. The harness favors signal over finding volume, challenges the strongest candidates, and follows promising paths further to uncover related vulnerabilities.
phi/phi-contracts
GitHub128 files 12,300 LOC2465e04
CreatorRoyaltiesControl _updateRoyalties Allows royaltyAmount Exceeding Sale Price
src/abstract/CreatorRoyaltiesControl.sol :: getRoyalties
The `CreatorRoyaltiesControl._updateRoyalties` function stores `royaltyBPS` without validating it against `ROYALTY_BPS_TO_PERCENT` (10,000).
PhiFactory _validateAndUpdateClaimState Missing PerMinter Replay Protection
src/abstract/Claimable.sol :: signatureClaim
The `_validateAndUpdateClaimState` function in `PhiFactory` writes `artMinted[artId_][minter_] = true` unconditionally without ever reading it as a precondition.
CuratorRewardsDistributor distribute Unbounded Iteration Locks Curator Funds
src/abstract/RewardControl.sol :: depositBatch
The `CuratorRewardsDistributor.distribute()` function iterates over an unbounded `EnumerableMap` in `Cred.sol` whose entries are never removed, processing every
PhiNFT1155 safeBatchTransferFrom Bypasses whenNotPaused Guard
src/art/PhiNFT1155.sol :: safeBatchTransferFrom
The `safeBatchTransferFrom` and `safeTransferFrom` functions in `PhiNFT1155.sol` lack the `whenNotPaused` lifecycle guard modifier, allowing any token holder to
Illustrative example. Representative of the engine's output.
You connect only the repositories you want Grego to review and can disconnect them through the platform at any time. We sign NDAs and do not use customer code, findings, or project context to train models.
The Grego AI harness drives discovery across the full scope, coordinating thousands of parallel investigations and producing the evidence behind each finding. Grego’s security researchers bring public records spanning protocol engineering, audit competitions, and bounty work across smart contracts and distributed systems.
1 / 6
These findings came from public codebases and were accepted through bounty or responsible-disclosure channels. Each entry names the failure path, its limits, and the public change that followed.
A permissionless caller could inject the Reality.eth field delimiter into a Zodiac proposal ID. The interface displayed a legitimate transaction hash while the module committed to attacker-controlled calls.
Once voters approved the legitimate-looking question, the hidden calls could execute with full Safe authority. One affected deployment was the GnosisDAO treasury, which held about $65 million at disclosure.
A new operator recorded the locked balance when deployed but did not resync when activated. An attacker could grow the lock under the old operator, trigger an NFT callback after rotation, and mint the full stale delta again as unbacked yYB.
The attacker could exchange unbacked yYB for YB up to available pool reserves. Exploitation required an operator rotation, a transferable veNFT, and the first callback after activation.
With EIP-8024 enabled, the DUPN, SWAPN, and EXCHANGE handlers advanced the program counter by two before the interpreter advanced it again. Bytecode using them skipped the following opcode, allowing exact layouts to bypass a state update and reach an external call first.
Low likelihood. EIP-8024 was experimental, feature-gated, and not enabled on Ethereum mainnet.
The MultiSend unwrapper bounded inner entries against padded outer calldata instead of the actual inner payload. A crafted final entry could make the permission checker approve attacker-controlled trailing bytes while MultiSend executed zeroes in their place.
Permission-boundary failure. Exploitation required an already assigned role and affected only the final 1 to 31 trailing bytes of the last transaction.
Grego Security OS extends the engine behind Grego Audits into a self-service continuous layer. Persistent memory carries your architecture, feedback, findings, and tested hypotheses from one run to the next. Fully self-serve and autonomous.
Join waitlistGrego can lead a security review or run before, alongside, or after another audit. Whether it replaces a traditional audit depends on the job and any external requirement for a specific provider.
Previous reviews are tied to a particular scope, commit, timeline, and set of hypotheses. Grego can target changed code, neglected surfaces, cross-component interactions, dependencies, or residual risk left by earlier work.
Internal security skills can be effective, especially for routine changes and known project risks. Grego adds an AI security harness that maps the scope, coordinates parallel investigations across the system, and returns evidence-backed findings in an accountable report without requiring your team to build and maintain the workflow.
Lower-cost scanners are useful for fast, routine checks. Grego maps an agreed scope, uses your architecture and invariants to coordinate thousands of specialized agents, and delivers findings that have been triaged and validated before they reach your team.
Grego is designed to be language- and stack-agnostic. Current experience spans Solidity, Rust, Go, C, CosmWasm, Move, and TypeScript; fit for each codebase is confirmed during scoping, and Solidity is strongest today.
Grego can review complex systems across frontends, backends, APIs, SDKs, distributed services, blockchain and DLT infrastructure, smart contracts, deployment code, and integrations when their source is in scope. It follows relevant interactions between these parts, but live configuration and deployed state are not implied by a source-code review.
Grego Audits are white-box source-code reviews, not outside-in penetration tests. They use repository access and project context to investigate code and relevant dependencies.
You share a repository, component, or diff at an exact commit. We map its components, call paths, dependencies, and SLOC, then review the breakdown with your team and quote the agreed scope. If the code or scope changes, we update both.
Timing depends on scope, system complexity, available context, and release deadline. We confirm the schedule after mapping the code and can plan the review before, alongside, or after another engagement.
Each finding includes remediation guidance, and your team can review proposed fixes with the lead researcher. We can retest the original failure path against a remediation commit, but targeted verification does not reassess the whole system.
You authorize only the repositories included in the review. Private repositories are accessed through short-lived GitHub App credentials limited to read-only contents access for the selected repository. Code is processed by Grego AI's authorized scanning infrastructure, researchers, and service providers solely to deliver the review. Customer code and reports are not used to train general-purpose models or shared with other customers.
Published bounty findings and responsible disclosures are available in the Public Reports directory. Each Grego AI report page preserves the failure path, impact, original public disclosure, and remediation evidence at a stable link that can be shared directly.