code-intelligence.com/cifuzz@v0.40.0/docs/Configuration.md (about) 1 # cifuzz configuration 2 3 You can change the behavior of **cifuzz** both via command-line flags 4 and via settings stored in the `cifuzz.yaml` config file. Flags take 5 precedence over the respective config file setting. 6 7 ## cifuzz.yaml settings 8 9 [build-system](#build-system) <br/> 10 [build-command](#build-command) <br/> 11 [seed-corpus-dirs](#seed-corpus-dirs) <br/> 12 [dict](#dict) <br/> 13 [engine-args](#engine-args) <br/> 14 [timeout](#timeout) <br/> 15 [use-sandbox](#use-sandbox) <br/> 16 [print-json](#print-json) <br/> 17 [no-notifications](#no-notifications) <br/> 18 [server](#server) <br/> 19 [project](#project) <br/> 20 [style](#style) <br/> 21 22 <a id="build-system"></a> 23 24 ### build-system 25 26 The build system used to build this project. If not set, cifuzz tries 27 to detect the build system automatically. 28 Valid values: "bazel", "cmake", "maven", "gradle", "other". 29 30 #### Example 31 32 ```yaml 33 build-system: cmake 34 ``` 35 36 <a id="build-command"></a> 37 38 ### build-command 39 40 If the build system type is "other", this command is used by 41 `cifuzz run` to build the fuzz test. 42 43 #### Example 44 45 ```yaml 46 build-command: "make all" 47 ``` 48 49 <a id="seed-corpus-dirs"></a> 50 51 ### seed-corpus-dirs 52 53 Directories containing sample inputs for the code under test. 54 See https://llvm.org/docs/LibFuzzer.html#corpus. 55 56 #### Example 57 58 ```yaml 59 seed-corpus-dirs: 60 - path/to/seed-corpus 61 ``` 62 63 <a id="dict"></a> 64 65 ### dict 66 67 A file containing input language keywords or other interesting byte 68 sequences. 69 See https://llvm.org/docs/LibFuzzer.html#dictionaries. 70 71 #### Example 72 73 ```yaml 74 dict: path/to/dictionary.dct 75 ``` 76 77 <a id="engine-args"></a> 78 79 ### engine-args 80 81 Command-line arguments to pass to libFuzzer or Jazzer for running fuzz tests. 82 Engine-args are not supported for running `cifuzz coverage` on JVM-projects 83 and are not supported for Node.js projects. 84 85 For possible libFuzzer options see https://llvm.org/docs/LibFuzzer.html#options. 86 87 For advanced configuration with Jazzer parameters see https://github.com/CodeIntelligenceTesting/jazzer/blob/main/docs/advanced.md. 88 89 Fuzzer customization for Node.js projects can be specified in `.jazzerjsrc.json` 90 in the root project directory. See https://github.com/CodeIntelligenceTesting/jazzer.js/blob/main/docs/jest-integration.md 91 for further information. 92 93 #### Example Libfuzzer 94 95 ```yaml 96 engine-args: 97 - -rss_limit_mb=4096 98 - -timeout=5s 99 ``` 100 101 #### Example Jazzer 102 103 ```yaml 104 engine-args: 105 - --instrumentation_includes=com.** 106 - --keep_going 107 ``` 108 109 <a id="timeout"></a> 110 111 ### timeout 112 113 Maximum time in seconds to run the fuzz tests. The default is to run 114 indefinitely. 115 116 #### Example 117 118 ```yaml 119 timeout: 300 120 ``` 121 122 <a id="use-sandbox"></a> 123 124 ### use-sandbox 125 126 By default, fuzz tests are executed in a sandbox to prevent accidental 127 damage to the system. Set to false to run fuzz tests unsandboxed. 128 Only supported on Linux. 129 130 #### Example 131 132 ```yaml 133 use-sandbox: false 134 ``` 135 136 <a id="print-json"></a> 137 138 ### print-json 139 140 Set to true to print output of the `cifuzz run` command as JSON. 141 142 #### Example 143 144 ```yaml 145 print-json: true 146 ``` 147 148 ### no-notifications 149 150 Set to true to disable desktop notifications 151 152 #### Example 153 154 ```yaml 155 no-notifications: true 156 ``` 157 158 ### server 159 160 Set URL of the CI App 161 162 #### Example 163 164 ```yaml 165 server: https://app.code-intelligence.com 166 ``` 167 168 ### project 169 170 Set the project name of the CI App project 171 172 #### Example 173 174 ```yaml 175 project: my-project-1a2b3c4d 176 ``` 177 178 ### style 179 180 Choose the style to run cifuzz in 181 182 - `pretty`: Colored output and icons (default) 183 - `color`: Colored output 184 - `plain`: Pure text without any styles 185 186 #### Example 187 188 ```yaml 189 style: plain 190 ```