AI Slop Code Risk Monitor

microsoft/AirSim

SlopCodeMonitor badge for microsoft/AirSim Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research

3.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for microsoft/AirSim, a C++ project with 18,586 GitHub stars. SynthScan examined 201,088 lines of code across 807 source files, recording 841 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 3.5 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.5
Adjusted Signal
3.5
Raw Pattern Score
100%
Time Factor
2026-09-15
Last Push
18.6K
Stars
C++
Language
201.1K
Lines of Code
807
Files
841
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 12.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 663 finding(s).

Hallucinated Dependency & Supply Chain Risk 4.2/100 · LOW

Are imports declared and package/API names verified? 174 finding(s).

Agent Over-Engineering Ratio 0.7/100 · LOW

Are wrappers, guards, and repeated structures necessary? 22 finding(s).

PR Review Velocity Impact 19.6/100 · LOW

Which changes need focused human review? 841 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 3MEDIUM 11LOW 827

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 841 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block619 hits · 449 pts
SeverityFileLineSnippetContext
LOWUnity/AirLibWrapper/AirsimWrapper/Source/PawnSimApi.h1#pragma onceCOMMENT
LOW…/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp41 //setup clock in ClockFactoryCOMMENT
LOWros/src/airsim_ros_pkgs/include/airsim_ros_wrapper.h1#include "common/common_utils/StrictMode.hpp"COMMENT
LOWros/src/airsim_ros_pkgs/include/airsim_ros_wrapper.h21#include <airsim_ros_pkgs/Land.h>COMMENT
LOWros/src/airsim_ros_pkgs/include/airsim_ros_wrapper.h41#include <nav_msgs/Odometry.h>COMMENT
LOWros/src/airsim_ros_pkgs/include/airsim_ros_wrapper.h81{COMMENT
LOW…s/src/airsim_ros_pkgs/include/airsim_settings_parser.h1#include "common/common_utils/StrictMode.hpp"COMMENT
LOW…irsim_ros_pkgs/include/pd_position_controller_simple.h1#ifndef _PID_POSITION_CONTROLLER_SIMPLE_H_COMMENT
LOWHelloDrone/main.cpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWGazeboDrone/src/main.cpp21#include <gazebo/transport/transport.hh>COMMENT
LOWHelloSpawnedDrones/HelloSpawnedDrones.cpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/sensors/gps/GpsSimple.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/sensors/distance/DistanceSimple.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOW…ib/include/sensors/magnetometer/MagnetometerSimple.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/sensors/barometer/BarometerSimple.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/safety/SafetyEval.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/Settings.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/AirSimSettings.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/WorkerThread.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/StateReporterWrapper.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/Common.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOW…rLib/include/common/common_utils/ScheduledExecutor.hpp1// Copyright (c) Microsoft Corporation. All rights reserved.COMMENT
LOWAirLib/include/common/common_utils/prettyprint.hpp1// Copyright Louis Delacroix 2010 - 2014.COMMENT
LOWAirLib/include/common/common_utils/json.hpp41COMMENT
LOWAirLib/include/common/common_utils/json.hpp61COMMENT
LOWAirLib/include/common/common_utils/json.hpp201#if defined(JSON_HEDLEY_STRINGIFY_EX)COMMENT
LOWAirLib/include/common/common_utils/json.hpp221#if defined(JSON_HEDLEY_CONCAT3_EX)COMMENT
LOWAirLib/include/common/common_utils/json.hpp241#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR)COMMENT
LOWAirLib/include/common/common_utils/json.hpp261 #undef JSON_HEDLEY_GNUC_VERSION_CHECKCOMMENT
LOWAirLib/include/common/common_utils/json.hpp281 #undef JSON_HEDLEY_MSVC_VERSION_CHECKCOMMENT
LOWAirLib/include/common/common_utils/json.hpp301COMMENT
LOWAirLib/include/common/common_utils/json.hpp321#if defined(JSON_HEDLEY_INTEL_CL_VERSION)COMMENT
LOWAirLib/include/common/common_utils/json.hpp341#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp361#elseCOMMENT
LOWAirLib/include/common/common_utils/json.hpp381#if defined(JSON_HEDLEY_ARM_VERSION)COMMENT
LOWAirLib/include/common/common_utils/json.hpp401#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp421#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp441#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp461#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp481COMMENT
LOWAirLib/include/common/common_utils/json.hpp501#if defined(JSON_HEDLEY_TI_CL6X_VERSION)COMMENT
LOWAirLib/include/common/common_utils/json.hpp521#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp541#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp561#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp581#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp601COMMENT
LOWAirLib/include/common/common_utils/json.hpp621#if defined(JSON_HEDLEY_COMPCERT_VERSION)COMMENT
LOWAirLib/include/common/common_utils/json.hpp641#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp681#if defined(JSON_HEDLEY_GCC_VERSION_CHECK)COMMENT
LOWAirLib/include/common/common_utils/json.hpp701#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp721#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE)COMMENT
LOWAirLib/include/common/common_utils/json.hpp741 (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \COMMENT
LOWAirLib/include/common/common_utils/json.hpp761 #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)COMMENT
LOWAirLib/include/common/common_utils/json.hpp781 #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)COMMENT
LOWAirLib/include/common/common_utils/json.hpp801COMMENT
LOWAirLib/include/common/common_utils/json.hpp821 #undef JSON_HEDLEY_HAS_EXTENSIONCOMMENT
LOWAirLib/include/common/common_utils/json.hpp841#if defined(__has_extension)COMMENT
LOWAirLib/include/common/common_utils/json.hpp861#elseCOMMENT
LOWAirLib/include/common/common_utils/json.hpp881#endifCOMMENT
LOWAirLib/include/common/common_utils/json.hpp921#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)COMMENT
559 more matches not shown…
Unused Imports174 hits · 174 pts
SeverityFileLineSnippetContext
LOW…rsim_tutorial_pkgs/scripts/multi_drone_json_creator.py4CODE
LOWPythonClient/multirotor/external_physics_engine.py1CODE
LOWPythonClient/multirotor/set_fog.py1CODE
LOWPythonClient/multirotor/pause_continue_drone.py1CODE
LOWPythonClient/multirotor/line_of_sight.py1CODE
LOWPythonClient/multirotor/line_of_sight.py4CODE
LOWPythonClient/multirotor/line_of_sight.py5CODE
LOWPythonClient/multirotor/line_of_sight.py6CODE
LOWPythonClient/multirotor/line_of_sight.py7CODE
LOWPythonClient/multirotor/line_of_sight.py8CODE
LOWPythonClient/multirotor/survey.py1CODE
LOWPythonClient/multirotor/disarm.py1CODE
LOWPythonClient/multirotor/add_drone.py1CODE
LOWPythonClient/multirotor/add_drone.py5CODE
LOWPythonClient/multirotor/add_drone.py6CODE
LOWPythonClient/multirotor/set_trace_line.py14CODE
LOWPythonClient/multirotor/box.py1CODE
LOWPythonClient/multirotor/box.py4CODE
LOWPythonClient/multirotor/point_cloud.py2CODE
LOWPythonClient/multirotor/point_cloud.py6CODE
LOWPythonClient/multirotor/manual_mode_demo.py4CODE
LOWPythonClient/multirotor/manual_mode_demo.py7CODE
LOWPythonClient/multirotor/manual_mode_demo.py8CODE
LOWPythonClient/multirotor/teleport.py1CODE
LOWPythonClient/multirotor/opencv_show.py4CODE
LOWPythonClient/multirotor/orbit.py1CODE
LOWPythonClient/multirotor/drone_stress_test.py1CODE
LOWPythonClient/multirotor/stability_test.py2CODE
LOWPythonClient/multirotor/stability_test.py6CODE
LOWPythonClient/multirotor/navigate.py3CODE
LOWPythonClient/multirotor/navigate.py9CODE
LOWPythonClient/multirotor/navigate.py11CODE
LOWPythonClient/multirotor/hello_drone.py1CODE
LOWPythonClient/multirotor/multi_agent_drone.py6CODE
LOWPythonClient/multirotor/takeoff.py1CODE
LOWPythonClient/multirotor/reset_test_drone.py1CODE
LOWPythonClient/multirotor/drone_lidar.py4CODE
LOWPythonClient/multirotor/drone_lidar.py8CODE
LOWPythonClient/multirotor/arm.py1CODE
LOW…thonClient/multirotor/vehicleframe_lidar_pointcloud.py53CODE
LOW…thonClient/multirotor/vehicleframe_lidar_pointcloud.py55CODE
LOWPythonClient/multirotor/clock_speed.py1CODE
LOWPythonClient/multirotor/set_wind.py1CODE
LOWPythonClient/multirotor/gimbal.py1CODE
LOWPythonClient/multirotor/path.py1CODE
LOWPythonClient/multirotor/land.py1CODE
LOWPythonClient/multirotor/state.py1CODE
LOWPythonClient/multirotor/sensorframe_lidar_pointcloud.py53CODE
LOWPythonClient/car/pause_test.py6CODE
LOWPythonClient/car/car_monitor.py1CODE
LOWPythonClient/car/car_stress_test.py1CODE
LOWPythonClient/car/runtime_car.py1CODE
LOWPythonClient/car/car_time_of_day.py4CODE
LOWPythonClient/car/car_time_of_day.py8CODE
LOWPythonClient/car/car_time_of_day.py11CODE
LOWPythonClient/car/car_time_of_day.py12CODE
LOWPythonClient/car/car_lidar.py4CODE
LOWPythonClient/car/car_lidar.py8CODE
LOWPythonClient/car/reset_test_car.py1CODE
LOWPythonClient/car/hello_car.py1CODE
114 more matches not shown…
Self-Referential Comments8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMros2/src/airsim_ros_pkgs/launch/airsim_node.launch.py50 # Create the launch description and populateCOMMENT
MEDIUMPythonClient/imitation_learning/Cooking.py197 # Create the next chunkCOMMENT
MEDIUMPythonClient/computer_vision/capture_ir_segmentation.py50 #Create a rotation matrix from camera pitch, roll, and yaw angles.COMMENT
MEDIUMPythonClient/reinforcement_learning/dqn_drone.py12# Create a DummyVecEnv for main airsim gym envCOMMENT
MEDIUMPythonClient/reinforcement_learning/dqn_drone.py47# Create an evaluation callback with the same env, called every 10000 iterationsCOMMENT
MEDIUMPythonClient/reinforcement_learning/dqn_car.py12# Create a DummyVecEnv for main airsim gym envCOMMENT
MEDIUMPythonClient/reinforcement_learning/dqn_car.py46# Create an evaluation callback with the same env, called every 10000 iterationsCOMMENT
MEDIUMPythonClient/environment/light_control.py16# Create a new light at the same poseCOMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHLogViewer/LogViewer/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHLogViewer/LogViewer/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
Hyper-Verbose Identifiers13 hits · 13 pts
SeverityFileLineSnippetContext
LOW…o/Assets/AirSimAssets/Scripts/Utilities/DataManager.cs9 public class DataManager {CODE
LOW…c/airsim_ros_pkgs/launch/dynamic_constraints.launch.py5def generate_launch_description():CODE
LOW…src/airsim_ros_pkgs/launch/static_transforms.launch.py6def generate_launch_description():CODE
LOWros2/src/airsim_ros_pkgs/launch/airsim_node.launch.py12def generate_launch_description():CODE
LOWros2/src/airsim_ros_pkgs/launch/rviz.launch.py8def generate_launch_description():CODE
LOW…m_ros_pkgs/launch/position_controller_simple.launch.py5def generate_launch_description():CODE
LOW…ch/airsim_with_simple_PD_position_controller.launch.py9def generate_launch_description():CODE
LOWPythonClient/imitation_learning/Generator.py69 def random_transform_with_states(self, x, seed=None):CODE
LOWPythonClient/imitation_learning/Generator.py340 def _get_batches_of_transformed_samples(self, index_array):CODE
LOWPythonClient/computer_vision/image_benchmarker.py73 def start_img_benchmark_thread(self):CODE
LOWPythonClient/computer_vision/image_benchmarker.py80 def stop_img_benchmark_thread(self):CODE
LOWPythonClient/computer_vision/capture_ir_segmentation.py10def rotation_matrix_from_angles(pry):CODE
LOW…onClient/computer_vision/create_ir_segmentation_map.py65def get_new_temp_emiss_from_radiance(tempEmissivity, response):CODE
TODO Padding7 hits · 10 pts
SeverityFileLineSnippetContext
LOW…ity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp139 //TODO: implement weather for UnityCOMMENT
LOW…ity/AirLibWrapper/AirsimWrapper/Source/WorldSimApi.cpp145 //TODO: implement weather for UnityCOMMENT
LOW…or/firmwares/simple_flight/AirSimSimpleFlightBoard.hpp88 //TODO: implement thisCOMMENT
LOW…nclude/vehicles/car/firmwares/physxcar/PhysXCarApi.hpp65 //TODO: implement arming for carCOMMENT
LOWAirLib/include/physics/FastPhysicsEngine.hpp214 //TODO: implement better rolling frictionCOMMENT
LOW…real/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp397 //TODO: implement this for linuxCOMMENT
LOW…real/Plugins/AirSim/Source/SimJoyStick/SimJoyStick.cpp404 //TODO: implement this for linuxCOMMENT
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWros/src/airsim_ros_pkgs/scripts/car_joy.py65CODE
LOWPythonClient/multirotor/orbit.py154CODE
LOW…thonClient/multirotor/vehicleframe_lidar_pointcloud.py66CODE
LOWPythonClient/multirotor/sensorframe_lidar_pointcloud.py66CODE
LOWPythonClient/imitation_learning/Generator.py249CODE
LOW…onClient/reinforcement_learning/airgym/envs/car_env.py46CODE
LOW…Client/reinforcement_learning/airgym/envs/drone_env.py148CODE
Excessive Try-Catch Wrapping3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMPythonClient/imitation_learning/Cooking.py50 print('Error: Image', image_name, 'is not RGB.')CODE
MEDIUMPythonClient/imitation_learning/Cooking.py73 print("Error: Your splitting ratio should add up to 1")CODE
MEDIUMPythonClient/imitation_learning/Cooking.py129 print('Error: attempting to add image {0} twice.'.format(image_filepath))CODE
AI Structural Patterns5 hits · 5 pts
SeverityFileLineSnippetContext
LOWPythonClient/imitation_learning/Generator.py13CODE
LOWPythonClient/imitation_learning/Generator.py55CODE
LOWPythonClient/imitation_learning/Generator.py187CODE
LOWPythonClient/computer_vision/capture_ir_segmentation.py138CODE
LOWPythonClient/airsim/types.py293CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHPythonClient/airsim/utils.py119except IOError:CODE
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp2031 //every time we return status update, we need to check if we have new dataCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWPythonClient/multirotor/set_wind.py32# Set wind to 0COMMENT