ancilar (ancilar)

ancilar

Your Trusted Web3 Consulting & Development Partner Blockchain, Smart Contracts, dApps, DeFi, NFTs, RWAs, DAOs, and Tokenization 100% In-House Team

6 Followers

Recent casts

An agent read a message from an untrusted feed, treated it as an instruction, and moved funds it should not have. There was no line inside the system between data the agent reads and commands the agent follows. Everything arrived as text. Everything was treated as authority. A crafted string in an input nobody considered adversarial became an instruction with a wallet behind it. Prompt injection stopped being a content problem the moment agents got spending power. It is a payments bug now. We surfaced it by planting an instruction inside a data source the agent routinely ingested and watching it act. The fixes are architectural, not prompt engineering: → treat every string an agent reads as attacker input, including onchain data, casts, tool output, files → separate the instruction channel from the data channel → gate spending behind checks the prompt cannot reason around You cannot prompt your way out of this. The guardrail has to sit where the model cannot argue with it.

  • 0 replies
  • 0 recasts
  • 0 reactions

A freshly launched token was blacklistable from the first block. The launcher template shipped a transfer hook that let a single address freeze any holder. Buyers could get in. Some could never get out. The mint was clean, the liquidity was real, and the exit was the trap. The team did not put it there deliberately. They used a template, did not read the hook, and did not know the power existed. That is the honest version of most of these findings. What we look for before a token is worth touching: → transfer hooks and the conditions they enforce → freeze, blacklist, pause, any function that can block a transfer → who holds that authority and whether it is renounceable A token you cannot sell is not a token. It is a receipt.

  • 0 replies
  • 0 recasts
  • 0 reactions

A team migrating off Farcaster sign in shipped SIWE with no nonce validation. The message was signable. It was also replayable, and not bound to their domain. One captured signature was a reusable session, indefinitely. This will be a common finding this year. The Base App no longer surfaces FID based identity, so teams that leaned on Farcaster auth are rebuilding their front door under time pressure. The rebuild is where shortcuts get taken. We surfaced it by capturing a signature from one session and using it to open another, on a different origin, days later. The fixes are standard, which is why they get skipped: → server side nonce per attempt, invalidated on use → bind domain and chain id, verify both server side → set issuedAt and expirationTime, reject anything stale SIWE is your front door now. A replayable login is a lock painted onto an open door.

  • 0 replies
  • 0 recasts
  • 0 reactions

Top casts

Our team flagged it on the first review pass. Three changes: - removed the mint function, which the project did not need - moved the owner key to a multisig - added a hard supply cap in code so no single error can inflate supply

  • 1 reply
  • 0 recasts
  • 0 reactions

Two hours of work, and the relaunch went out clean the next day. Speed at launch is fine. Shipping privileged functions a team does not fully understand is where the risk lives. If you are unsure what your owner key can actually do, that is the first thing worth reviewing. We are happy to take a look.

  • 0 replies
  • 0 recasts
  • 0 reactions

A yield vault passed every test and still would have lost user funds on its first volatile day. The logic was sound. The price feed was the weak point. The rebalancer trusted the oracle without checking whether the data was current, so a lagging feed meant exits on stale prices.

  • 2 replies
  • 0 recasts
  • 0 reactions

A token launched straight from a cast came close to being drained in its first hour. The flaw was not exotic. The owner key could mint unlimited supply, and that same key was sitting in the launch bot's hot wallet. One compromise away from infinite inflation.

  • 1 reply
  • 0 recasts
  • 0 reactions

Onchain profile

Ethereum addresses