Daily Security – Telegram
🟢What is Circom-Mutator?
It is a mutation testing tool designed for the circom programming language.
This tool primarily revolves around the source-based rewrite of circom code lines to generate mutations.

🟢How does it work?
Currently, it operates by utilizing regular expressions to treat the code as text. This methodology may evolve in the future, potentially incorporating the transpiling of circom circuits into an intermediate representation to enable deeper analyses.

The majority of mutators are based on:
- 0xPARC's ZK Bug Tracker
- Circomspect's analysis passes
- yAcademy ZK Fellowship audits

🔴Note: This tool may generate numerous false positives. Not all circuits will check for every possible constraint, as some are expected to be implemented at the application layer.

For instance, certain circuits may permit an attacker to create fake witnesses by randomly selecting edge cases (such as zero point, points at infinity, or additions with p & -p). These circuits will expect app developers to perform these verifications.

Nevertheless, it remains important to verify that failures detected by circom-mutator are indeed false positives, rather than a result of insufficient test coverage

@ethers_security

https://github.com/aviggiano/circom-mutator#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
3
What is Caracal?
Caracal is a static analyzer tool over the SIERRA representation for Starknet smart contracts.

What about its Features?
👉Detectors to detect vulnerable Cairo code
👉Printers to report information
👉Taint analysis
👉Data flow analysis framework
👉Easy to run in Scarb projects

Any overview of its detectors?

1) controlled-library-call
Library calls with a user controlled class hash

2) unchecked-l1-handler-from
Detect L1 handlers without from address check

3) reentrancy
Detect when a storage variable is read before an external call and written after

4) unused-events
Events defined but not emitted

5) unused-return
Unused return values

6) unenforced-view
Function has view decorator but modifies state

7) unused-arguments
Unused arguments

8) reentrancy-benign
Detect when a storage variable is written after an external call but not read before

9) reentrancy-events
Detect when an event is emitted after an external call leading to out-of-order events

10) dead-code
Private functions never used


More info on how to install it and its limitations can be found in the repo below 👇
https://github.com/crytic/caracal

@ethers_security
Some people are still unaware of this masterpiece. Hopefully, you ain't one of them. If you are, it's not too late to start using it 🙏

https://medium.com/cyfrin/the-best-security-education-tool-in-web3-dd23717fbe58

@ethers_security
Forwarded from Vladimir S. | Officer's Channel (officercia)
👍3
🧐
Take a look, guys🙏
Check it out
🤯1