SHA256
1
0
forked from pool/afl
Commit Graph

88 Commits

Author SHA256 Message Date
9d4f843ab9 Accepting request 921492 from home:msmeissn:branches:devel:tools
- enable gcc-plugin on factory
- build with 32bit plugins on x86_64

OBS-URL: https://build.opensuse.org/request/show/921492
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=144
2021-09-26 11:20:54 +00:00
c1a3bf576f Accepting request 907257 from home:msmeissn:branches:devel:tools
- updated to 3.14c
  - afl-fuzz:                                                                                                                                                                                
    - fix -F when a '/' was part of the parameter                                                                                                                                            
    - fixed a crash for cmplog for very slow inputs                                                                                                                                          
    - fix for AFLfast schedule counting                                                                                                                                                      
    - removed implied -D determinstic from -M main                                                                                                                                           
    - if the target becomes unavailable check out out/default/error.txt                                                                                                                      
      for an indicator why                                                                                                                                                                   
    - AFL_CAL_FAST was a dead env, now does the same as AFL_FAST_CAL                                                                                                                         
    - reverse read the queue on resumes (more effective)                                                                                                                                     
    - fix custom mutator trimming                                                                                                                                                            
  - afl-cc:                                                                                                                                                                                  
    - Update to COMPCOV/laf-intel that speeds up the instrumentation                                                                                                                         
      process a lot - thanks to Michael Rodler/f0rki for the PR!                                                                                                                             
    - Fix for failures for some sized string instrumentations                                                                                                                                
    - Fix to instrument global namespace functions in c++                                                                                                                                    
    - Fix for llvm 13                                                                                                                                                                        
    - support partial linking                                                                                                                                                                
    - do honor AFL_LLVM_{ALLOW/DENY}LIST for LTO autodictionary and DICT2FILE                                                                                                                
    - We do support llvm versions from 3.8 to 5.0 again                                                                                                                                      
  - frida_mode:                                                                                                                                                                              
    - several fixes for cmplog                                                                                                                                                               
    - remove need for AFL_FRIDA_PERSISTENT_RETADDR_OFFSET                                                                                                                                    
    - less coverage collision                                                                                                                                                                
    - feature parity of aarch64 with intel now (persistent, cmplog,                                                                                                                          
      in-memory testcases, asan)                                                                                                                                                             
  - afl-cmin and afl-showmap -i do now descend into subdirectories                                                                                                                           
    (like afl-fuzz does) - note that afl-cmin.bash does not!                                                                                                                                 
  - afl_analyze:                                                                                                                                                                             
    - fix timeout handling

OBS-URL: https://build.opensuse.org/request/show/907257
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=143
2021-07-20 08:02:42 +00:00
c272e473dd Accepting request 906530 from home:peace:branches:openSUSE:Factory:zSystems
- s390x added to the compiler files

OBS-URL: https://build.opensuse.org/request/show/906530
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=142
2021-07-16 07:16:11 +00:00
93d5768cee Accepting request 898298 from openSUSE:Factory:RISCV
- Fix filelist for riscv64

OBS-URL: https://build.opensuse.org/request/show/898298
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=140
2021-06-08 09:11:00 +00:00
adf510cb7f Accepting request 896670 from home:msmeissn:branches:devel:tools
- updated to 3.13c
  - Note: plot_data switched to relative time from unix time in 3.10
  - frida_mode - new mode that uses frida to fuzz binary-only targets,
    it currently supports persistent mode and cmplog.
    thanks to @WorksButNotTested!
  - create a fuzzing dictionary with the help of CodeQL thanks to
    @microsvuln! see utils/autodict_ql
  - afl-fuzz:
    - added patch by @realmadsci to support @@ as part of command line
      options, e.g. `afl-fuzz ... -- ./target --infile=@@`
    - add recording of previous fuzz attempts for persistent mode
      to allow replay of non-reproducable crashes, see
      AFL_PERSISTENT_RECORD in config.h and docs/envs.h
    - fixed a bug when trimming for stdin targets
    - cmplog -l: default cmplog level is now 2, better efficiency.
      level 3 now performs redqueen on everything. use with care.
    - better fuzzing strategy yield display for enabled options
    - ensure one fuzzer sync per cycle
    - fix afl_custom_queue_new_entry original file name when syncing
      from fuzzers
    - fixed a crash when more than one custom mutator was used together
      with afl_custom_post_process
    - on a crashing seed potentially the wrong input was disabled
    - added AFL_EXIT_ON_SEED_ISSUES env that will exit if a seed in
      -i dir crashes the target or results in a timeout. By default
      afl++ ignores these and uses them for splicing instead.
    - added AFL_EXIT_ON_TIME env that will make afl-fuzz exit fuzzing
      after no new paths have been found for n seconds
    - when AFL_FAST_CAL is set a variable path will now be calibrated
      8 times instead of originally 40. Long calibration is now 20.

OBS-URL: https://build.opensuse.org/request/show/896670
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=138
2021-06-01 11:48:26 +00:00
9f12f136dc Accepting request 884046 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Fix packaging for aarch64 and %arm

OBS-URL: https://build.opensuse.org/request/show/884046
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=136
2021-04-09 14:34:50 +00:00
3fd6880c95 Accepting request 882850 from home:haasn:branches:devel:tools
- install `afl-clang-lto`, recommended by upstream as the best variant
  - add dependency on `lld`
  - bump llvm-devel up to >= 11.0.0
- fix /usr/bin/env path in afl.cmin scripts
- prevent stripping of runtime objects (fix bug 1184324)

OBS-URL: https://build.opensuse.org/request/show/882850
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=134
2021-04-04 08:47:30 +00:00
a720af564d Accepting request 881925 from home:Guillaume_G:branches:devel:tools
- Fix packaging on aarch64 and %{arm}

OBS-URL: https://build.opensuse.org/request/show/881925
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=132
2021-03-29 12:32:54 +00:00
75bd0dc93e Accepting request 881188 from home:msmeissn:branches:devel:tools
- updated to 3.12c
  - afl-fuzz:
    - added AFL_TARGET_ENV variable to pass extra env vars to the target
      (for things like LD_LIBRARY_PATH)
    - fix map detection, AFL_MAP_SIZE not needed anymore for most cases
    - fix counting favorites (just a display thing)
  - afl-cc:
    - fix cmplog rtn (rare crash and not being able to gather ptr data)
    - fix our own PCGUARD implementation to compile with llvm 10.0.1
    - link runtime not to shared libs
    - ensure shared libraries are properly built and instrumented
    - AFL_LLVM_INSTRUMENT_ALLOW/DENY were not implemented for LTO, added
    - show correct LLVM PCGUARD NATIVE mode when auto switching to it
      and keep fsanitize-coverage-*list=...
      Short mnemnonic NATIVE is now also accepted.
  - qemu_mode (thanks @realmadsci):
    - move AFL_PRELOAD and AFL_USE_QASAN logic inside afl-qemu-trace
    - add AFL_QEMU_CUSTOM_BIN
  - unicorn_mode
    - accidently removed the subfolder from github, re-added
  - added DEFAULT_PERMISSION to config.h for all files created, default
    to 0600

OBS-URL: https://build.opensuse.org/request/show/881188
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=130
2021-03-24 17:12:34 +00:00
e7828fd91b Accepting request 879398 from home:msmeissn:branches:devel:tools
- updated to 3.11c
  - afl-fuzz:
    - better auto detection of map size
    - fix sanitizer settings (bug since 3.10c)
    - fix an off-by-one overwrite in cmplog
    - add non-unicode variants from unicode-looking dictionary entries
    - Rust custom mutator API improvements
    - Imported crash stats painted yellow on resume (only new ones are red)
  - afl-cc:
    - added AFL_NOOPT that will just pass everything to the normal
      gcc/clang compiler without any changes - to pass weird configure
      scripts
    - fixed a crash that can occur with ASAN + CMPLOG together plus
      better support for unicode (thanks to @stbergmann for reporting!)
    - fixed a crash in LAF transform for empty strings
    - handle erroneous setups in which multiple afl-compiler-rt are
      compiled into the target. This now also supports dlopen()
      instrumented libs loaded before the forkserver and even after the
      forkserver is started (then with collisions though)
    - the compiler rt was added also in object building (-c) which
      should have been fixed years ago but somewhere got lost :(
    - Renamed CTX to CALLER, added correct/real CTX implementation to
      CLASSIC
  - qemu_mode:
    - added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks!
    - if no new/updated checkout is wanted, build with:
      NO_CHECKOUT=1 ./build_qemu_support.sh
    - we no longer perform a "git drop"
  - afl-cmin: support filenames with spaces
- afl-3.0c-fix-paths.patch: refreshed

OBS-URL: https://build.opensuse.org/request/show/879398
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=128
2021-03-16 11:48:35 +00:00
d09fbad8e4 OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=126 2021-03-02 07:55:14 +00:00
9800576a91 - update to 3.10c
- Mac OS ARM64 support                                                                                                                                                                     
  - Android support fixed and updated by Joey Jiaojg - thanks!                                                                                                                               
  - New selective instrumentation option with __AFL_COVERAGE_* commands                                                                                                                      
    to be placed in the source code.                                                                                                                                                         
    Check out instrumentation/README.instrument_list.md                                                                                                                                      
  - afl-fuzz                                                                                                                                                                                 
    - Making AFL_MAP_SIZE (mostly) obsolete - afl-fuzz now learns on                                                                                                                         
      start the target map size                                                                                                                                                              
    - upgraded cmplog/redqueen: solving for floating point, solving                                                                                                                          
      transformations (e.g. toupper, tolower, to/from hex, xor,                                                                                                                              
      arithmetics, etc.). This is costly hence new command line option                                                                                                                       
      `-l` that sets the intensity (values 1 to 3). Recommended is 2.                                                                                                                        
    - added `AFL_CMPLOG_ONLY_NEW` to not use cmplog on initial seeds                                                                                                                         
      from `-i` or resumes (these have most likely already been done)                                                                                                                        
    - fix crash for very, very fast targets+systems (thanks to mhlakhani                                                                                                                     
      for reporting)                                                                                                                                                                         
    - on restarts (`-i`)/autoresume (AFL_AUTORESUME) the stats are now                                                                                                                       
      reloaded and used, thanks to Vimal Joseph for this patch!                                                                                                                              
    - changed the meaning of '+' of the '-t' option, it now means to                                                                                                                         
      auto-calculate the timeout with the value given being the max                                                                                                                          
      timeout. The original meaning of skipping timeouts instead of                                                                                                                          
      abort is now inherent to the -t option.                                                                                                                                                
    - if deterministic mode is active (`-D`, or `-M` without `-d`) then                                                                                                                      
      we sync after every queue entry as this can take very long time                                                                                                                        
      otherwise                                                                                                                                                                              
    - added minimum SYNC_TIME to include/config.h (30 minutes default)                                                                                                                       
    - better detection if a target needs a large shared map                                                                                                                                  
    - fix for `-Z`                                                                                                                                                                           
    - fixed a few crashes

OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=125
2021-03-01 09:51:20 +00:00
fde72092cc Accepting request 855999 from home:msmeissn:branches:devel:tools
- updated to 3.0c
  - llvm_mode/ and gcc_plugin/ moved to instrumentation/
  - examples/ renamed to utils/
  - moved libdislocator, libtokencap and qdbi_mode to utils/
  - all compilers combined to afl-cc which emulates the previous ones
  - afl-llvm/gcc-rt.o merged into afl-compiler-rt.o
  - afl-fuzz
    - not specifying -M or -S will now auto-set "-S default"
    - deterministic fuzzing is now disabled by default and can be enabled with
      -D. It is still enabled by default for -M.
    - a new seed selection was implemented that uses weighted randoms based on
      a schedule performance score, which is much better that the previous
      walk the whole queue approach. Select the old mode with -Z (auto enabled
      with -M)
    - Marcel Boehme submitted a patch that improves all AFFast schedules :)
    - the default schedule is now FAST
    - memory limits are now disabled by default, set them with -m if required
    - rpc.statsd support, for stats and charts, by Edznux, thanks a lot!
    - reading testcases from -i now descends into subdirectories
    - allow the -x command line option up to 4 times
    - loaded extras now have a duplication protection
    - If test cases are too large we do a partial read on the maximum
      supported size
    - longer seeds with the same trace information will now be ignored
      for fuzzing but still be used for splicing
    - crashing seeds are now not prohibiting a run anymore but are
      skipped - they are used for splicing, though
    - update MOpt for expanded havoc modes
    - setting the env var AFL_NO_AUTODICT will not load an LTO autodictionary
    - added NO_SPLICING compile option and makefile define

OBS-URL: https://build.opensuse.org/request/show/855999
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=123
2020-12-15 13:57:19 +00:00
2427a0aecf Accepting request 832521 from home:msmeissn:branches:devel:tools
- updated to 2.68c
  - added the GSoC excellent afl++ grammar mutator by Shengtuo to our                                                                                                                        
    custom_mutators/ (see custom_mutators/README.md) - or get it here:                                                                                                                       
    https://github.com/AFLplusplus/Grammar-Mutator                                                                                                                                           
  - a few QOL changes for Apple and its outdated gmake                                                                                                                                       
  - afl-fuzz:                                                                                                                                                                                
    - fix for auto dictionary entries found during fuzzing to not throw out                                                                                                                  
      a -x dictionary                                                                                                                                                                        
    - added total execs done to plot file                                                                                                                                                    
    - AFL_MAX_DET_EXTRAS env variable added to control the amount of                                                                                                                         
      deterministic dict entries without recompiling.                                                                                                                                        
    - AFL_FORKSRV_INIT_TMOUT env variable added to control the time to wait                                                                                                                  
      for the forkserver to come up without the need to increase the overall                                                                                                                 
      timeout.                                                                                                                                                                               
    - bugfix for cmplog that results in a heap overflow based on target data                                                                                                                 
      (thanks to the magma team for reporting!)                                                                                                                                              
    - write fuzzing setup into out/fuzzer_setup (environment variables and                                                                                                                   
      command line)                                                                                                                                                                          
  - custom mutators:                                                                                                                                                                         
    - added afl_custom_fuzz_count/fuzz_count function to allow specifying                                                                                                                    
      the number of fuzz attempts for custom_fuzz                                                                                                                                            
  - llvm_mode:                                                                                                                                                                               
    - ported SanCov to LTO, and made it the default for LTO. better                                                                                                                          
      instrumentation locations                                                                                                                                                              
    - Further llvm 12 support (fast moving target like afl++ :-) )                                                                                                                           
    - deprecated LLVM SKIPSINGLEBLOCK env environment

OBS-URL: https://build.opensuse.org/request/show/832521
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=121
2020-09-05 17:30:51 +00:00
98dbb3897e Accepting request 827912 from home:msmeissn:branches:devel:tools
- updated to 2.67c
  - Support for improved afl++ snapshot module:                                                                                                                                              
    https://github.com/AFLplusplus/AFL-Snapshot-LKM                                                                                                                                          
  - Due to the instrumentation needing more memory, the initial memory sizes                                                                                                                 
    for -m have been increased                                                                                                                                                               
  - afl-fuzz:                                                                                                                                                                                
     - added -F option to allow -M main fuzzers to sync to foreign fuzzers,                                                                                                                  
       e.g. honggfuzz or libfuzzer                                                                                                                                                           
     - added -b option to bind to a specific CPU                                                                                                                                             
     - eliminated CPU affinity race condition for -S/-M runs                                                                                                                                 
     - expanded havoc mode added, on no cycle finds add extra splicing and                                                                                                                   
       MOpt into the mix                                                                                                                                                                     
     - fixed a bug in redqueen for strings and made deterministic with -s                                                                                                                    
  - llvm_mode:                                                                                                                                                                               
     - now supports llvm 12                                                                                                                                                                  
     - support for AFL_LLVM_ALLOWLIST/AFL_LLVM_DENYLIST (previous                                                                                                                            
       AFL_LLVM_WHITELIST and AFL_LLVM_INSTRUMENT_FILE are deprecated and                                                                                                                    
       are matched to AFL_LLVM_ALLOWLIST). The format is compatible to llvm                                                                                                                  
       sancov, and also supports function matching :)                                                                                                                                        
     - added neverzero counting to trace-pc/pcgard                                                                                                                                           
     - fixes for laf-intel float splitting (thanks to mark-griffin for                                                                                                                       
       reporting)                                                                                                                                                                            
     - fixes for llvm 4.0                                                                                                                                                                    
     - skipping ctors and ifuncs for instrumentation                                                                                                                                         
     - LTO: switch default to the dynamic memory map, set AFL_LLVM_MAP_ADDR                                                                                                                  
            for a fixed map address (eg. 0x10000)                                                                                                                                            
     - LTO: improved stability for persistent mode, no other instrumentation                                                                                                                 
            has that advantage                                                                                                                                                               
     - LTO: fixed autodict for long strings                                                                                                                                                  
     - LTO: laf-intel and redqueen/cmplog are now applied at link time

OBS-URL: https://build.opensuse.org/request/show/827912
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=119
2020-08-19 14:45:08 +00:00
8461a2362c Accepting request 818318 from home:msmeissn:branches:devel:tools
- updated to 2.66c
  - renamed blacklist/whitelist to ignorelist/instrumentlist ->
    AFL_LLVM_INSTRUMENT_FILE and AFL_GCC_INSTRUMENT_FILE
  - warn on deprecated environment variables
  - afl-fuzz:
     - -S secondary nodes now only sync from the main node to increase
       performance, the -M main node still syncs from everyone. Added checks
       that ensure exactly one main node is present and warn otherwise
     - Add -D after -S to force a secondary to perform deterministic fuzzing
     - If no main node is present at a sync one secondary node automatically
       becomes a temporary main node until a real main nodes shows up
     - Fixed a mayor performance issue we inherited from AFLfast
     - switched murmur2 hashing and random() for xxh3 and xoshiro256**,
       resulting in an up to 5.5% speed increase
     - Resizing the window does not crash afl-fuzz anymore
     - Ensure that the targets are killed on exit
     - fix/update to MOpt (thanks to arnow117)
     - added MOpt dictionary support from repo
     - added experimental SEEK power schedule. It is EXPLORE with ignoring
       the runtime and less focus on the length of the test case
  - llvm_mode:
    - the default instrumentation is now PCGUARD if the llvm version is >= 7,
      as it is faster and provides better coverage. The original afl
      instrumentation can be set via AFL_LLVM_INSTRUMENT=AFL. This is
      automatically done when the instrument_file list feature is used. 
    - PCGUARD mode is now even better because we made it collision free - plus
      it has a fixed map size, so it is also faster! :)
    - some targets want a ld variant for LD that is not gcc/clang but ld,
      added afl-ld-lto to solve this
    - lowered minimum required llvm version to 3.4 (except LLVMInsTrim, which

OBS-URL: https://build.opensuse.org/request/show/818318
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=117
2020-07-02 13:33:33 +00:00
91b06c1c62 Accepting request 805785 from home:msmeissn:branches:devel:tools
- updated to 2.65c
  - afl-fuzz:
     - AFL_MAP_SIZE was not working correctly
     - better python detection
     - an old, old bug in afl that would show negative stability in rare
       circumstances is now hopefully fixed
     - AFL_POST_LIBRARY was deprecated, use AFL_CUSTOM_MUTATOR_LIBRARY
       instead (see docs/custom_mutators.md)
  - llvm_mode:
     - afl-clang-fast/lto now do not skip single block functions. This
       behaviour can be reactivated with AFL_LLVM_SKIPSINGLEBLOCK
     - if LLVM 11 is installed the posix shm_open+mmap is used and a fixed
       address for the shared memory map is used as this increases the
       fuzzing speed
     - InsTrim now has an LTO version! :-) That is the best and fastest mode!
     - fixes to LTO mode if instrumented edges > MAP_SIZE
     - CTX and NGRAM can now be used together
     - CTX and NGRAM are now also supported in CFG/INSTRIM mode
     - AFL_LLVM_LAF_TRANSFORM_COMPARES could crash, fixed
     - added AFL_LLVM_SKIP_NEVERZERO to skip the never zero coverage counter
       implementation. For targets with few or no loops or heavily called
       functions. Gives a small performance boost.
  - qemu_mode:
    - add information on PIE/PIC load addresses for 32 bit
    - better dependency checks
  - gcc_plugin:
    - better dependency checks
  - unicorn_mode:
    - validate_crash_callback can now count non-crashing inputs as crash as well
    - better submodule handling

OBS-URL: https://build.opensuse.org/request/show/805785
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=115
2020-05-15 09:56:41 +00:00
d98ffdeac5 Accepting request 795493 from home:msmeissn:branches:devel:tools
- updated to 2.64c
  - llvm_mode LTO mode:
    - now requires llvm11 - but compiles all targets! :)
    - autodictionary feature added, enable with `AFL_LLVM_LTO_AUTODICTIONARY`
    - variable map size usage
  - afl-fuzz:
    - variable map size support added (only LTO mode can use this)
    - snapshot feature usage now visible in UI
    - Now setting `-L -1` will enable MOpt in parallel to normal mutation.
      Additionally, this allows to run dictionaries, radamsa and cmplog.
    - fix for cmplog/redqueen mode if stdin was used
    - fix for writing a better plot_data file
  - qemu_mode: fix for persistent mode (which would not terminate or get stuck)
  - compare-transform/AFL_LLVM_LAF_TRANSFORM_COMPARES now transforms also
    static global and local variable comparisons (cannot find all though)
  - extended forkserver: map_size and more information is communicated to
    afl-fuzz (and afl-fuzz acts accordingly)
  - new environment variable: AFL_MAP_SIZE to specify the size of the shared map
  - if AFL_CC/AFL_CXX is set but empty afl compilers did fail, fixed
    (this bug is in vanilla afl too)
  - added NO_PYTHON flag to disable python support when building afl-fuzz
  - more refactoring

OBS-URL: https://build.opensuse.org/request/show/795493
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=113
2020-04-19 12:08:15 +00:00
ba968407c1 Accepting request 793419 from home:msmeissn:branches:devel:tools
- updated to 2.63c
  - all:
    - big code changes to make afl-fuzz thread-safe so afl-fuzz can spawn
      multiple fuzzing threads in the future or even become a library
    - afl basic tools now report on the environment variables picked up
    - more tools get environment variable usage info in the help output
    - force all output to stdout (some OK/SAY/WARN messages were sent to
      stdout, some to stderr)
    - uninstrumented mode uses an internal forkserver ("fauxserver")
    - now builds with `-D_FORTIFY_SOURCE=2`
    - drastically reduced number of (de)allocations during fuzzing
  - afl-fuzz:
    - python mutator modules and custom mutator modules now use the same
      interface and hence the API changed
    - AFL_AUTORESUME will resume execution without the need to specify `-i -`
    - added experimental power schedules (-p):
      - mmopt: ignores runtime of queue entries, gives higher weighting to
               the last 5 queue entries
      - rare: puts focus on queue entries that hits rare branches, also ignores
              runtime
  - llvm_mode: 
    - added SNAPSHOT feature (using https://github.com/AFLplusplus/AFL-Snapshot-LKM)
    - added Control Flow Integrity sanitizer (AFL_USE_CFISAN)
    - added AFL_LLVM_INSTRUMENT option to control the instrumentation type
      easier: DEFAULT, CFG (INSTRIM), LTO, CTX, NGRAM-x (x=2-16)
    - made USE_TRACE_PC compile obsolete
  - LTO collision free instrumented added in llvm_mode with afl-clang-lto -
    note that this mode is amazing, but quite some targets won't compile
  - Added llvm_mode NGRAM prev_loc coverage by Adrean Herrera
    (https://github.com/adrianherrera/afl-ngram-pass/), activate by setting

OBS-URL: https://build.opensuse.org/request/show/793419
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=111
2020-04-12 15:41:48 +00:00
11a958b307 Accepting request 780290 from home:msmeissn:branches:devel:tools
- updated to 2.62c
  - Important fix for memory allocation functions that result in afl-fuzz not identifying crashes - UPDATE!
  - Small fix for -E/-V to release the CPU
  - CmpLog does not need sancov anymore

OBS-URL: https://build.opensuse.org/request/show/780290
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=109
2020-02-28 14:23:24 +00:00
3d0ea97f77 Accepting request 779147 from home:msmeissn:branches:devel:tools
- updated to 2.61c
  - use -march=native if available                                                                                                                                                           
  - most tools now check for mistyped environment variables                                                                                                                                  
  - gcc 10 is now supported                                                                                                                                                                  
  - the memory safety checks are now disabled for a little more speed during                                                                                                                 
    fuzzing (only affects creating queue entries), can be toggled in config.h                                                                                                                
  - afl-fuzz:                                                                                                                                                                                
     - MOpt out of bounds writing crash fixed                                                                                                                                                
     - now prints the real python version support compiled in                                                                                                                                
     - set stronger performance compile options and little tweaks                                                                                                                            
     - Android: prefer bigcores when selecting a CPU                                                                                                                                         
     - CmpLog forkserver                                                                                                                                                                     
     - Redqueen input-2-state mutator (cmp instructions only ATM)                                                                                                                            
     - all Python 2+3 versions supported now                                                                                                                                                 
     - changed execs_per_sec in fuzzer_stats from "current" execs per second                                                                                                                 
       (which is pointless) to total execs per second                                                                                                                                        
     - bugfix for dictionary insert stage count (fix via Google repo PR)                                                                                                                     
     - added warning if -M is used together with custom mutators with _ONLY option                                                                                                           
     - AFL_TMPDIR checks are now later and better explained if they fail                                                                                                                     
  - llvm_mode                                                                                                                                                                                
     - InsTrim: three bug fixes:                                                                                                                                                             
        1. (minor) no pointless instrumentation of 1 block functions                                                                                                                         
        2. (medium) path bug that leads a few blocks not instrumented that                                                                                                                   
           should be                                                                                                                                                                         
        3. (major) incorrect prev_loc was written, fixed!                                                                                                                                    
  - afl-clang-fast:                                                                                                                                                                          
     - show in the help output for which llvm version it was compiled for                                                                                                                    
     - now does not need to be recompiled between trace-pc and pass                                                                                                                          
       instrumentation. compile normally and set AFL_LLVM_USE_TRACE_PC :)                                                                                                                    
     - LLVM 11 is supported

OBS-URL: https://build.opensuse.org/request/show/779147
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=107
2020-02-25 16:42:55 +00:00
835eff2d8b Accepting request 772507 from home:msmeissn:branches:devel:tools
- added radamsa mutator

OBS-URL: https://build.opensuse.org/request/show/772507
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=105
2020-02-09 16:19:53 +00:00
Martin Pluskal
a353a5b02f Accepting request 760413 from home:msmeissn:branches:devel:tools
- updated to 2.60c
  - fixed a critical bug in afl-tmin that was introduced during ++2.53d
  - added test cases for afl-cmin and afl-tmin to test/test.sh
  - added ./experimental/argv_fuzzing ld_preload library by Kjell Braden
  - added preeny's desock_dup ld_preload library as
    ./experimental/socket_fuzzing for network fuzzing
  - added AFL_AS_FORCE_INSTRUMENT environment variable for afl-as - this is
    for the retrorewrite project
  - we now set QEMU_SET_ENV from AFL_PRELOAD when qemu_mode is used

OBS-URL: https://build.opensuse.org/request/show/760413
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=103
2020-01-02 17:52:13 +00:00
6c27ae7bd0 Accepting request 759706 from home:msmeissn:branches:devel:tools
- updated to 2.59c
  - qbdi_mode: fuzz android native libraries via QBDI framework
  - unicorn_mode: switched to the new unicornafl, thanks domenukk
                  (see https://github.com/vanhauser-thc/unicorn)
  - afl-fuzz:
     - added radamsa as (an optional) mutator stage (-R[R])
     - added -u command line option to not unlink the fuzz input file
     - Python3 support (autodetect)
     - AFL_DISABLE_TRIM env var to disable the trim stage
     - CPU affinity support for DragonFly
  - llvm_mode:
     - float splitting is now configured via AFL_LLVM_LAF_SPLIT_FLOATS
     - support for llvm 10 included now (thanks to devnexen)
  - libtokencap:
     - support for *BSD/OSX/Dragonfly added
     - hook common *cmp functions from widely used libraries
  - compcov:
     - hook common *cmp functions from widely used libraries
     - floating point splitting support for QEMU on x86 targets
  - qemu_mode: AFL_QEMU_DISABLE_CACHE env to disable QEMU TranslationBlocks caching
  - afl-analyze: added AFL_SKIP_BIN_CHECK support
  - better random numbers for gcc_plugin and llvm_mode (thanks to devnexen)
  - Dockerfile by courtesy of devnexen
  - added regex.dictionary
  - qemu and unicorn download scripts now try to download until the full
    download succeeded. f*ckin travis fails downloading 40% of the time!
  - more support for Android (please test!)
  - added the few Android stuff we didnt have already from Google afl repository
  - removed unnecessary warnings

OBS-URL: https://build.opensuse.org/request/show/759706
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=101
2019-12-27 16:48:56 +00:00
6bb4e5f8dd OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=99 2019-11-25 18:08:57 +00:00
f670fb818a Accepting request 747174 from home:msmeissn:branches:devel:tools
- updated to 2.58c
  - reverted patch to not unlink and recreate the input file, it resulted in performance loss of ~10%
  - added test/test-performance.sh script
  - (re)added gcc_plugin, fast inline instrumentation is not yet finished, however it includes the whitelisting and persistance feature! by hexcoder-
  - gcc_plugin tests added to testing framework
- jump to 2.57 instead of 2.55 to catch up with Google's versioning
  - persistent mode for QEMU (see qemu_mode/README.md)
  - custom mutator library is now an additional mutator, to exclusivly use it
  - add AFL_CUSTOM_MUTATOR_ONLY (that will trigger the previous behaviour)
  - new library qemu_mode/unsigaction which filters sigaction events
  - afl-fuzz: new command line option -I to execute a command on a new crash
  - no more unlinking the input file, this way the input file can also be a
  - FIFO or disk partition
  - setting LLVM_CONFIG for llvm_mode will now again switch to the selected
  - llvm version. If your setup is correct.
  - fuzzing strategy yields for custom mutator were missing from the UI, added them :)
  - added "make tests" which will perform checks to see that all functionality
  - is working as expected. this is currently the starting point, its not complete :)
  - added mutation documentation feature ("make document"), creates afl-fuzz-document
  - and saves all mutations of the first run on the first file into out/queue/mutations
  - libtokencap and libdislocator now compile to the afl_root directory and are
  - installed to the .../lib/afl directory when present during make install
  - more BSD support, e.g. free CPU binding code for FreeBSD (thanks to devnexen)
  - reducing duplicate code in afl-fuzz
  - added "make help"
  - removed compile warnings from python internal stuff
  - added man page for afl-clang-fast[++]
  - updated documentation
  - Wine mode to run Win32 binaries with the QEMU instrumentation (-W)
  - CompareCoverage for ARM target in QEMU/Unicorn

OBS-URL: https://build.opensuse.org/request/show/747174
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=98
2019-11-10 10:24:08 +00:00
Martin Pluskal
d32720677e Accepting request 739427 from home:RBrownSUSE:branches:devel:tools
Remove obsolete Groups tag (fate#326485)

OBS-URL: https://build.opensuse.org/request/show/739427
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=96
2019-10-17 13:04:22 +00:00
Martin Pluskal
380046e33c Accepting request 711570 from home:msmeissn:branches:devel:tools
- updated to afl++ 2.52c version, community fork. It integrates 
  various community patches.
  - community patches to make llvm_mode and qemu_mode faster, plus new features and bugfixes
  - qemu upgraded to 3.1
  - aflfast powerschedules added
  - llvm_mode now supports llvm up to version 8

OBS-URL: https://build.opensuse.org/request/show/711570
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=94
2019-06-24 07:24:50 +00:00
74a803cbc5 Accepting request 632353 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Fix build on non X86* platforms

OBS-URL: https://build.opensuse.org/request/show/632353
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=92
2018-08-30 15:07:23 +00:00
397023c914 Accepting request 539100 from home:mnhauke
- Update to version 2.52b:
  * Upgraded QEMU patches from 2.3.0 to 2.10.0. Required troubleshooting
    several weird issues.
  * Added setsid to afl-showmap. See the notes for 2.51b.
  * Added target mode (deferred, persistent, qemu, etc) to fuzzer_stats.
  * afl-tmin should now save a partially minimized file when Ctrl-C
    is pressed.
  * Added an option for afl-analyze to dump offsets in hex.
  * Added support for parameters in triage_crashes.sh.

OBS-URL: https://build.opensuse.org/request/show/539100
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=90
2017-11-05 08:22:19 +00:00
75afcd9eb3 afl 2.51b
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=88
2017-09-03 12:10:11 +00:00
07054b8734 OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=86 2017-07-30 07:32:02 +00:00
bc64e44818 - include docs/README
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=85
2017-07-29 23:05:21 +00:00
c662242f9d Accepting request 512610 from home:msmeissn:branches:devel:tools
- Version 2.49b
  - Added AFL_TMIN_EXACT to allow path constraint for crash minimization.
  - Added dates for releases (retroactively for all of 2017).
- Version 2.48b
  - Added AFL_ALLOW_TMP to permit some scripts to run in /tmp.
  - Fixed cwd handling in afl-analyze (similar to the quirk in afl-tmin).
  - Made it possible to point -o and -f to the same file in afl-tmin.
- Version 2.47b
  - Fixed cwd handling in afl-tmin. Spotted by Jakub Wilk.
- Version 2.46b
  - libdislocator now supports AFL_LD_NO_CALLOC_OVER for folks who do not
    want to abort on calloc() overflows.
  - Made a minor fix to libtokencap. Reported by Daniel Stender.
  - Added a small JSON dictionary, inspired on a dictionary done by Jakub Wilk.

OBS-URL: https://build.opensuse.org/request/show/512610
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=83
2017-07-26 07:01:55 +00:00
1be7810783 - update to 2.45b:
- Added strstr, strcasestr support to libtokencap. Contributed by
    Daniel Hodson.
  - Fixed a resumption offset glitch spotted by Jakub Wilk.
  - There are definitely no bugs in afl-showmap -c now.

OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=81
2017-07-07 14:59:53 +00:00
0f7a6c5c15 2.44b
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=79
2017-07-03 08:20:02 +00:00
78226c0401 - update to 2.41b:
- Addressed a major user complaint related to timeout detection. Timing out
    inputs are now binned as "hangs" only if they exceed a far more generous
    time limit than the one used to reject slow paths.
- update to 2.40b:
  - Fixed a minor oversight in the insertion strategy for dictionary words.
    Spotted by Andrzej Jackowski.
  - Made a small improvement to the havoc block insertion strategy.
  - Adjusted color rules for "is it done yet?" indicators.

OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=77
2017-04-12 06:26:28 +00:00
Martin Pluskal
ba6acf2ea1 Accepting request 477825 from home:sfalken:branches:devel:tools
- Changed %doc line, to clear buildfailure in openSUSE:Factory
  Due to unpackaged files

OBS-URL: https://build.opensuse.org/request/show/477825
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=75
2017-03-09 08:31:09 +00:00
eb03ddfa23 - update to 2.39b:
- Improved error reporting in afl-cmin. Suggested by floyd.
  - Made a minor tweak to trace-pc-guard support. Suggested by kcc.
  - Added a mention of afl-monitor.

OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=73
2017-02-10 12:09:56 +00:00
aaa39f5627 Accepting request 454277 from home:AndreasStieger:branches:devel:tools
afl 2.38b

OBS-URL: https://build.opensuse.org/request/show/454277
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=72
2017-02-02 18:42:47 +00:00
Martin Pluskal
788f2cd04f Accepting request 436436 from home:pluskalm:branches:devel:tools
- Update to version 2.35b:
  * Fixed a minor cmdline reporting glitch, spotted by Leo Barnes.
  * Fixed a silly bug in libdislocator. Spotted by Johannes Schultz.
- Changes for version 2.34b:
  * Added a note about afl-tmin to technical_details.txt.
  * Added support for AFL_NO_UI, as suggested by Leo Barnes.
- Changes for version 2.33b:
  * Added code to strip -Wl,-z,defs and -Wl,--no-undefined for
    fl-clang-fast, since they interfere with -shared. Spotted and
    iagnosed by Toby Hutton.
  * Added some fuzzing tips for Android.

OBS-URL: https://build.opensuse.org/request/show/436436
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=70
2016-10-20 18:27:52 +00:00
2b75b08ec6 Accepting request 422107 from home:msmeissn:branches:devel:tools
- Version 2.32b:
  - Added a check for AFL_HARDEN combined with AFL_USE_*SAN. Suggested by Hanno Boeck.
  - Made several other cosmetic adjustments to cycle timing in the wake of the big tweak made in 2.31b.
- Version 2.31b:
  - Changed havoc cycle counts for a marked performance boost, especially
    with -S / -d. See the discussion of FidgetyAFL in:
    https://groups.google.com/forum/#!topic/afl-users/fOPeb62FZUg
    While this does not implement the approach proposed by the authors of
    the CCS paper, the solution is a result of digging into that research;
    more improvements may follow as I do more experiments and get more
    definitive data.
- Version 2.30b:
  - Made minor improvements to persistent mode to avoid the remote
    possibility of "no instrumentation detected" issues with very low
    instrumentation densities.
  - Fixed a minor glitch with a leftover process in persistent mode.
    Reported by Jakub Wilk and Daniel Stender.
  - Made persistent mode bitmaps a bit more consistent and adjusted the way
    this is shown in the UI, especially in persistent mode.
- Version 2.29b:
  - Made a minor #include fix to llvm_mode. Suggested by Jonathan Metzman.
  - Made cosmetic updates to the docs.
- Version 2.28b:
  - Added "life pro tips" to docs/.
  - Moved testcases/_extras/ to dictionaries/ for visibility.
  - Made minor improvements to install scripts.
  - Added an important safety tip.
- Version 2.27b:
  - Added libtokencap, a simple feature to intercept strcmp / memcmp and
    generate dictionary entries that can help extend coverage.

OBS-URL: https://build.opensuse.org/request/show/422107
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=68
2016-08-25 13:19:30 +00:00
b26fd75d55 afl 2.21b
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=66
2016-07-23 19:11:26 +00:00
0c74a46b0d afl 2.20b
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=65
2016-07-22 08:47:17 +00:00
eabc8530c7 afl 2.17b
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=63
2016-06-28 06:30:22 +00:00
7cc6a08424 Accepting request 402522 from home:AndreasStieger:branches:devel:tools
afl 2.14b

OBS-URL: https://build.opensuse.org/request/show/402522
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=61
2016-06-15 18:29:32 +00:00
08b9a42a95 Accepting request 399107 from home:AndreasStieger:branches:devel:tools
afl 2.13b

OBS-URL: https://build.opensuse.org/request/show/399107
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=59
2016-05-31 11:22:31 +00:00
0212c49cbf Accepting request 393277 from home:AndreasStieger:branches:devel:tools
afl 2.11b

OBS-URL: https://build.opensuse.org/request/show/393277
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=57
2016-05-02 11:11:25 +00:00
21920e91e5 Accepting request 390312 from home:AndreasStieger:branches:devel:tools
afl 2.10b

OBS-URL: https://build.opensuse.org/request/show/390312
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=55
2016-04-16 15:15:14 +00:00
dbde4086ba Accepting request 380718 from home:pluskalm:branches:devel:tools
- Update to 2.09b

OBS-URL: https://build.opensuse.org/request/show/380718
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=53
2016-03-29 14:56:07 +00:00