{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:20:34.630910Z","repo":{"ref":{"host":"github.com","owner":"rbgirshick","name":"py-faster-rcnn"},"default_branch":"master","clone_url":"https://github.com/rbgirshick/py-faster-rcnn.git","html_url":"https://github.com/rbgirshick/py-faster-rcnn","description":"Faster R-CNN (Python implementation) -- see https://github.com/ShaoqingRen/faster_rcnn for the official MATLAB version","stars":8293,"forks":4055,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":1393,"primary_language":"Python","license_spdx":"NOASSERTION","created_at":"2015-09-25T21:04:08Z","pushed_at":"2019-11-07T04:31:35Z","security_policy_url":null,"distribution":{"owner_created_at":"2011-11-12T17:23:32Z","owner_type":"User","release_assets":[]}},"commit_sha":"781a917b378dbfdedb45b6a56189a31982da1b43","profile":{"lines_by_language":{"Python":6210,"Shell":295,"C":263,"Objective-C":80,"C++":2},"files_by_category":{"other":68,"source":57,"config":8,"docs":8,"binary":5,"test":1},"source_lines":6760,"test_lines":90},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"none-detected","breakdown":{"attributed_share":0.0,"suspected_share":0.0,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":null},"summary":"No AI attribution or AI-consistent velocity signals detected."},"quality":{"score":46.7,"confidence":0.9,"coverage":1.0,"label":"poor","breakdown":{"complexity":64.4,"duplication":47.5,"lint":40.7,"testing":29.7,"docs":65.0,"type_safety":40.0,"process":null},"summary":"Code quality is poor: test-to-source ratio 0.01, no CI test run detected; 15% of function code in complex or long functions; 12% duplicated lines. Weakest area: testing."},"security":{"score":66.3,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":57.4,"dependencies":null,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 5 high-severity SAST findings. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":193.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":23534.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2015-02":{"loc":1268,"attributed_loc":0},"2015-03":{"loc":1967,"attributed_loc":0},"2015-04":{"loc":2652,"attributed_loc":0},"2015-05":{"loc":17,"attributed_loc":0},"2015-08":{"loc":2081,"attributed_loc":0},"2015-10":{"loc":8,"attributed_loc":0},"2015-12":{"loc":51,"attributed_loc":0},"2016-01":{"loc":1,"attributed_loc":0},"2016-02":{"loc":15483,"attributed_loc":0},"2016-03":{"loc":3,"attributed_loc":0},"2017-04":{"loc":3,"attributed_loc":0},"2017-09":{"loc":0,"attributed_loc":0},"2018-01":{"loc":0,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":89.0,"flagged_units":0.0,"pre_ai_era_bursts":1.0,"pre_ai_era_measured_loc":10394.0,"pre_ai_era_burst_loc":2081.0,"measured_loc":10394.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":520.25,"median_loc_per_hour":48.0,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":6760.0,"index":0.148,"count:narrated_steps":1.0,"per_kloc:narrated_steps":0.148,"files:narrated_steps":1.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Finally, a note about the intersection over union (iou) computation.","ref":"lib/pycocotools/mask.py:58","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/mask.py#L58","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":24.0,"findings_high":5.0,"findings_medium":19.0,"findings_low":0.0,"weighted_findings":10.6,"scanned_lines":6680.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/python.lang.security.use-defused-xml","severity":"high","message":"The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and \"XML bombs\" can cause denial of service. [confidence low]","path":"lib/datasets/pascal_voc.py","line":11,"fingerprint":"python.lang.security.use-defused-xml:lib/datasets/pascal_voc.py:11"},{"rule_id":"opengrep/python.lang.security.use-defused-xml-parse","severity":"high","message":"The native Python `xml` library is vulnerable to XML External Entity (XXE) attacks.  These attacks can leak confidential data and \"XML bombs\" can cause denial of service. Do not use this library to parse untrusted input. Instead  the Python documentation recommends using `defusedxml`. [confidence medium]","path":"lib/datasets/pascal_voc.py","line":186,"fingerprint":"python.lang.security.use-defused-xml-parse:lib/datasets/pascal_voc.py:186"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'call' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"lib/datasets/pascal_voc.py","line":318,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:lib/datasets/pascal_voc.py:318"},{"rule_id":"opengrep/python.lang.security.use-defused-xml","severity":"high","message":"The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and \"XML bombs\" can cause denial of service. [confidence low]","path":"lib/datasets/voc_eval.py","line":7,"fingerprint":"python.lang.security.use-defused-xml:lib/datasets/voc_eval.py:7"},{"rule_id":"opengrep/python.lang.security.use-defused-xml-parse","severity":"high","message":"The native Python `xml` library is vulnerable to XML External Entity (XXE) attacks.  These attacks can leak confidential data and \"XML bombs\" can cause denial of service. Do not use this library to parse untrusted input. Instead  the Python documentation recommends using `defusedxml`. [confidence medium]","path":"lib/datasets/voc_eval.py","line":14,"fingerprint":"python.lang.security.use-defused-xml-parse:lib/datasets/voc_eval.py:14"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/coco.py","line":143,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/coco.py:143"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/coco.py","line":157,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/coco.py:157"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/coco.py","line":216,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/coco.py:216"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/coco.py","line":224,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/coco.py:224"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/coco.py","line":333,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/coco.py:333"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"lib/datasets/imdb.py","line":55,"fingerprint":"python.lang.security.audit.eval-detected:lib/datasets/imdb.py:55"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":102,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:102"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":109,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:109"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":126,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:126"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":137,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:137"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":158,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:158"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/pascal_voc.py","line":289,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/pascal_voc.py:289"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/voc_eval.py","line":116,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/voc_eval.py:116"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/datasets/voc_eval.py","line":120,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/datasets/voc_eval.py:120"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"lib/fast_rcnn/test.py","line":292,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:lib/fast_rcnn/test.py:292"},{"rule_id":"opengrep/python.lang.security.audit.dynamic-urllib-use-detected","severity":"medium","message":"Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. [confidence low]","path":"lib/pycocotools/coco.py","line":350,"fingerprint":"python.lang.security.audit.dynamic-urllib-use-detected:lib/pycocotools/coco.py:350"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"tools/reval.py","line":50,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:tools/reval.py:50"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"tools/rpn_generate.py","line":90,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:tools/rpn_generate.py:90"},{"rule_id":"opengrep/python.lang.security.deserialization.avoid-cPickle","severity":"medium","message":"Avoid using `cPickle`, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low]","path":"tools/train_faster_rcnn_alt_opt.py","line":169,"fingerprint":"python.lang.security.deserialization.avoid-cPickle:tools/train_faster_rcnn_alt_opt.py:169"}],"evidence":[],"data":{"rulesets":["python","bash","c"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0052,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"readme-download-lure","description":"links to file hosts or shorteners: dropbox.com/s","ref":"README.md","url":null,"weight":0.0}],"data":{"signals":["readme-download-lure"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":236.0,"function_nloc":3328.0,"mean_ccn":3.55,"p90_ccn":7.0,"complex_functions":8.0,"long_functions":1.0,"many_param_functions":0.0,"risky_nloc_share":0.1469},"findings":[],"evidence":[{"kind":"complex-function","description":"evaluateImg in lib/pycocotools/cocoeval.py: complexity 35, 64 lines","ref":"lib/pycocotools/cocoeval.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/cocoeval.py#L189","weight":0.5833333333333334},{"kind":"complex-function","description":"accumulate in lib/pycocotools/cocoeval.py: complexity 32, 79 lines","ref":"lib/pycocotools/cocoeval.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/cocoeval.py#L274","weight":0.5333333333333333},{"kind":"complex-function","description":"rleFrPoly in lib/pycocotools/maskApi.c: complexity 29, 38 lines","ref":"lib/pycocotools/maskApi.c","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/maskApi.c#L139","weight":0.48333333333333334},{"kind":"complex-function","description":"voc_eval in lib/datasets/voc_eval.py: complexity 22, 85 lines","ref":"lib/datasets/voc_eval.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/datasets/voc_eval.py#L64","weight":0.36666666666666664},{"kind":"complex-function","description":"getAnnIds in lib/pycocotools/coco.py: complexity 18, 18 lines","ref":"lib/pycocotools/coco.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/coco.py#L130","weight":0.3},{"kind":"complex-function","description":"rleIou in lib/pycocotools/maskApi.c: complexity 18, 20 lines","ref":"lib/pycocotools/maskApi.c","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/maskApi.c#L77","weight":0.3},{"kind":"complex-function","description":"rleMerge in lib/pycocotools/maskApi.c: complexity 17, 22 lines","ref":"lib/pycocotools/maskApi.c","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/maskApi.c#L49","weight":0.2833333333333333},{"kind":"complex-function","description":"loadRes in lib/pycocotools/coco.py: complexity 16, 37 lines","ref":"lib/pycocotools/coco.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/coco.py#L281","weight":0.26666666666666666},{"kind":"complex-function","description":"forward in lib/rpn/anchor_target_layer.py: complexity 11, 126 lines","ref":"lib/rpn/anchor_target_layer.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/rpn/anchor_target_layer.py#L65","weight":0.18333333333333332}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":5340.0,"duplicated_lines":662.0,"duplicated_share":0.124,"files":57.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: data/scripts/fetch_faster_rcnn_models.sh:10 and data/scripts/fetch_imagenet_models.sh:10","ref":"data/scripts/fetch_faster_rcnn_models.sh","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/data/scripts/fetch_faster_rcnn_models.sh#L10","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: experiments/scripts/fast_rcnn.sh:8 and experiments/scripts/faster_rcnn_alt_opt.sh:8","ref":"experiments/scripts/fast_rcnn.sh","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/experiments/scripts/fast_rcnn.sh#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/datasets/__init__.py:1 and lib/datasets/factory.py:1","ref":"lib/datasets/__init__.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/datasets/__init__.py#L1","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/datasets/coco.py:277 and lib/datasets/pascal_voc.py:218","ref":"lib/datasets/coco.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/datasets/coco.py#L277","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/fast_rcnn/test.py:22 and lib/rpn/generate.py:47","ref":"lib/fast_rcnn/test.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/fast_rcnn/test.py#L22","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/pycocotools/cocoeval.py:164 and lib/pycocotools/cocoeval.py:195","ref":"lib/pycocotools/cocoeval.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/cocoeval.py#L164","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/pycocotools/maskApi.c:1 and lib/pycocotools/maskApi.h:1","ref":"lib/pycocotools/maskApi.c","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/pycocotools/maskApi.c#L1","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/roi_data_layer/layer.py:153 and lib/rpn/anchor_target_layer.py:251","ref":"lib/roi_data_layer/layer.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/roi_data_layer/layer.py#L153","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/roi_data_layer/minibatch.py:115 and lib/rpn/proposal_target_layer.py:179","ref":"lib/roi_data_layer/minibatch.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/roi_data_layer/minibatch.py#L115","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lib/rpn/anchor_target_layer.py:1 and lib/rpn/generate_anchors.py:1","ref":"lib/rpn/anchor_target_layer.py","url":"https://github.com/rbgirshick/py-faster-rcnn/blob/781a917b378dbfdedb45b6a56189a31982da1b43/lib/rpn/anchor_target_layer.py#L1","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":40.0,"weighted_findings":24.0,"scanned_lines":6680.0,"category:best-practice":13.0,"category:correctness":24.0,"category:maintainability":3.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"tools/rpn_generate.py","line":77,"fingerprint":"python.lang.best-practice.arbitrary-sleep:tools/rpn_generate.py:77"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/coco.py","line":369,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/coco.py:369"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"lib/datasets/factory.py","line":20,"fingerprint":"python.lang.maintainability.return-not-in-function:lib/datasets/factory.py:20"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"lib/datasets/factory.py","line":26,"fingerprint":"python.lang.maintainability.return-not-in-function:lib/datasets/factory.py:26"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"lib/datasets/factory.py","line":32,"fingerprint":"python.lang.maintainability.return-not-in-function:lib/datasets/factory.py:32"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/pascal_voc.py","line":83,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/pascal_voc.py:83"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/pascal_voc.py","line":248,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/pascal_voc.py:248"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/pascal_voc.py","line":288,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/pascal_voc.py:288"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/voc_eval.py","line":101,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/voc_eval.py:101"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/voc_eval.py","line":115,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/voc_eval.py:115"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/voc_eval.py","line":119,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/voc_eval.py:119"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/datasets/voc_eval.py","line":137,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/datasets/voc_eval.py:137"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/fast_rcnn/config.py","line":260,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/fast_rcnn/config.py:260"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/fast_rcnn/train.py","line":50,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/fast_rcnn/train.py:50"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/pycocotools/coco.py","line":79,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/pycocotools/coco.py:79"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"lib/pycocotools/coco.py","line":294,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:lib/pycocotools/coco.py:294"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_faster_rcnn_models.sh","line":4,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_faster_rcnn_models.sh:4"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_faster_rcnn_models.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_faster_rcnn_models.sh:14"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_faster_rcnn_models.sh","line":16,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_faster_rcnn_models.sh:16"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_faster_rcnn_models.sh","line":28,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_faster_rcnn_models.sh:28"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_faster_rcnn_models.sh","line":32,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_faster_rcnn_models.sh:32"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_imagenet_models.sh","line":4,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_imagenet_models.sh:4"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_imagenet_models.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_imagenet_models.sh:14"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_imagenet_models.sh","line":16,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_imagenet_models.sh:16"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_imagenet_models.sh","line":28,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_imagenet_models.sh:28"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_imagenet_models.sh","line":32,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_imagenet_models.sh:32"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_selective_search_data.sh","line":4,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_selective_search_data.sh:4"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_selective_search_data.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_selective_search_data.sh:14"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_selective_search_data.sh","line":16,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_selective_search_data.sh:16"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_selective_search_data.sh","line":28,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_selective_search_data.sh:28"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"data/scripts/fetch_selective_search_data.sh","line":32,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:data/scripts/fetch_selective_search_data.sh:32"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/fast_rcnn.sh","line":48,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/fast_rcnn.sh:48"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/fast_rcnn.sh","line":56,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/fast_rcnn.sh:56"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/fast_rcnn.sh","line":59,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/fast_rcnn.sh:59"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_alt_opt.sh","line":46,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_alt_opt.sh:46"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_alt_opt.sh","line":54,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_alt_opt.sh:54"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_alt_opt.sh","line":57,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_alt_opt.sh:57"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_end2end.sh","line":51,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_end2end.sh:51"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_end2end.sh","line":60,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_end2end.sh:60"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"experiments/scripts/faster_rcnn_end2end.sh","line":63,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:experiments/scripts/faster_rcnn_end2end.sh:63"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0266,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.9062,"test_lines":90.0,"source_lines":6760.0,"test_ratio":0.0133,"ci_files":0.0,"cochange_share":0.2266,"cochange_commits":128.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":163.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}