[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fZBlQq-_nyAFu3_x0R_L6h-vGJjfJ4P8Vp9RXmc5hKMg":3,"$fbWYFE6rg55mDMd_UGU45PzwFJSYbIXzKuaadCfcW3sE":522,"$fNr4Txhkye9Sjh803Sbj7q6q_N_I8cGSWt3RvRqajadk":526},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":20,"download_link":21,"security_score":22,"vuln_count":13,"unpatched_count":13,"last_vuln_date":23,"fetched_at":24,"discovery_status":25,"vulnerabilities":26,"developer":27,"crawl_stats":23,"alternatives":33,"analysis":34,"fingerprints":500},"job-tracker","Job Tracker","0.1.9","mohanjith","https:\u002F\u002Fprofiles.wordpress.org\u002Fmohanjith\u002F","\u003Cp>Job Tracker lets you create and track jobs. Users with permission can\u003Cbr \u002F>\nadd performed tasks to the job. Once a job is completed or shipped you\u003Cbr \u002F>\ncan create invoices with one click (Requires \u003Ca href=\"http:\u002F\u002Fmohanjith.com\u002F2009\u002F03\u002Fweb-invoice-invoicing-and-billing-for-wordpress.html\" rel=\"nofollow ugc\">Web Invoice\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>Plugin development kindly sponsored by \u003Ca href=\"http:\u002F\u002Frpg-exploiters.com\" rel=\"nofollow ugc\">Spitt\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Would you like to see this plugin in other languages? Please show your interest in\u003Cbr \u002F>\nthe \u003Ca href=\"http:\u002F\u002Fmohanjith.com\u002Fforum\u002Fforum.php?id=7\" rel=\"nofollow ugc\">Job Tracker community forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you like this plugin please give it a good rating, and consider saying\u003Cbr \u002F>\nthanks, sponsoring a feature or making a donation.\u003C\u002Fp>\n\u003Ch3>PHP Version\u003C\u002Fh3>\n\u003Cp>PHP 5+\u003C\u002Fp>\n","Track jobs and create invoices for completed or shipped jobs.",10,2884,0,"2010-05-30T19:04:00.000Z","3.0.0","2.8","",[4,19],"web-invoice","http:\u002F\u002Fmohanjith.com\u002Fwordpress\u002Fjob-tracker.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjob-tracker.zip",85,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":22,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},4,80,30,84,"2026-05-20T02:06:06.110Z",[],{"attackSurface":35,"codeSignals":65,"taintFlows":321,"riskAssessment":483,"analyzedAt":499},{"hooks":36,"ajaxHandlers":61,"restRoutes":62,"shortcodes":63,"cronEvents":64,"entryPointCount":13,"unprotectedCount":13},[37,42,45,49,54,57],{"type":38,"name":39,"callback":39,"priority":13,"file":40,"line":41},"action","init","job-tracker.php",58,{"type":38,"name":43,"callback":43,"file":40,"line":44},"admin_head",59,{"type":38,"name":46,"callback":47,"file":40,"line":48},"admin_menu","add_pages",60,{"type":50,"name":51,"callback":52,"file":40,"line":53},"filter","wp_redirect","redirect",62,{"type":50,"name":55,"callback":55,"file":40,"line":56},"the_content",63,{"type":38,"name":58,"callback":59,"file":40,"line":60},"wp_head","job_tracker_frontend_css",64,[],[],[],[],{"dangerousFunctions":66,"sqlUsage":79,"outputEscaping":191,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":192,"bundledLibraries":320},[67,71,73,75,77],{"fn":68,"file":40,"line":69,"context":70},"unserialize",347,"$lines_array = unserialize(urldecode(job_tracker_meta($job_id, 'itemized_list')));",{"fn":68,"file":40,"line":72,"context":70},501,{"fn":68,"file":40,"line":74,"context":70},618,{"fn":68,"file":40,"line":76,"context":70},977,{"fn":68,"file":40,"line":78,"context":70},1028,{"prepared":80,"raw":81,"locations":82},2,54,[83,86,89,90,92,93,94,96,98,100,102,104,106,109,111,112,113,115,117,119,121,123,125,127,130,132,134,136,138,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189],{"file":40,"line":84,"context":85},245,"$wpdb->get_results() with variable interpolation",{"file":40,"line":87,"context":88},365,"$wpdb->query() with variable interpolation",{"file":40,"line":87,"context":88},{"file":40,"line":91,"context":88},372,{"file":40,"line":91,"context":88},{"file":40,"line":91,"context":88},{"file":40,"line":95,"context":85},379,{"file":40,"line":97,"context":88},423,{"file":40,"line":99,"context":85},433,{"file":40,"line":101,"context":88},441,{"file":40,"line":103,"context":85},530,{"file":40,"line":105,"context":85},531,{"file":40,"line":107,"context":108},610,"$wpdb->get_row() with variable interpolation",{"file":40,"line":110,"context":88},649,{"file":40,"line":110,"context":88},{"file":40,"line":110,"context":88},{"file":40,"line":114,"context":85},835,{"file":40,"line":116,"context":85},836,{"file":40,"line":118,"context":85},855,{"file":40,"line":120,"context":85},927,{"file":40,"line":122,"context":108},1116,{"file":40,"line":124,"context":108},1121,{"file":40,"line":126,"context":108},1141,{"file":40,"line":128,"context":129},1147,"$wpdb->get_var() with variable interpolation",{"file":40,"line":131,"context":108},1179,{"file":40,"line":133,"context":129},1184,{"file":40,"line":135,"context":108},1223,{"file":40,"line":137,"context":108},1231,{"file":40,"line":139,"context":140},1236,"$wpdb->get_col() with variable interpolation",{"file":40,"line":142,"context":88},1324,{"file":40,"line":144,"context":88},1330,{"file":40,"line":146,"context":88},1336,{"file":40,"line":148,"context":88},1345,{"file":40,"line":150,"context":129},1385,{"file":40,"line":152,"context":88},1398,{"file":40,"line":154,"context":129},1403,{"file":40,"line":156,"context":88},1404,{"file":40,"line":158,"context":88},1406,{"file":40,"line":160,"context":88},1421,{"file":40,"line":162,"context":88},1423,{"file":40,"line":164,"context":85},1457,{"file":40,"line":166,"context":108},1513,{"file":40,"line":168,"context":88},1523,{"file":40,"line":170,"context":85},1531,{"file":40,"line":172,"context":108},1549,{"file":40,"line":174,"context":88},1563,{"file":40,"line":176,"context":140},1570,{"file":40,"line":178,"context":88},1580,{"file":40,"line":180,"context":140},1586,{"file":40,"line":182,"context":88},1671,{"file":40,"line":184,"context":88},1681,{"file":40,"line":186,"context":140},1694,{"file":40,"line":188,"context":108},1706,{"file":40,"line":190,"context":88},1732,{"escaped":192,"rawEcho":193,"locations":194},1,69,[195,198,200,202,204,206,208,210,212,214,216,217,219,221,223,224,226,227,229,230,232,233,235,236,238,239,241,242,244,245,247,248,250,252,254,256,258,259,261,263,265,267,269,270,271,273,275,277,279,281,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318],{"file":40,"line":196,"context":197},187,"raw output",{"file":40,"line":199,"context":197},251,{"file":40,"line":201,"context":197},290,{"file":40,"line":203,"context":197},376,{"file":40,"line":205,"context":197},377,{"file":40,"line":207,"context":197},555,{"file":40,"line":209,"context":197},653,{"file":40,"line":211,"context":197},654,{"file":40,"line":213,"context":197},672,{"file":40,"line":215,"context":197},674,{"file":40,"line":215,"context":197},{"file":40,"line":218,"context":197},681,{"file":40,"line":220,"context":197},682,{"file":40,"line":222,"context":197},690,{"file":40,"line":222,"context":197},{"file":40,"line":225,"context":197},693,{"file":40,"line":225,"context":197},{"file":40,"line":228,"context":197},696,{"file":40,"line":228,"context":197},{"file":40,"line":231,"context":197},699,{"file":40,"line":231,"context":197},{"file":40,"line":234,"context":197},702,{"file":40,"line":234,"context":197},{"file":40,"line":237,"context":197},705,{"file":40,"line":237,"context":197},{"file":40,"line":240,"context":197},708,{"file":40,"line":240,"context":197},{"file":40,"line":243,"context":197},711,{"file":40,"line":243,"context":197},{"file":40,"line":246,"context":197},721,{"file":40,"line":246,"context":197},{"file":40,"line":249,"context":197},736,{"file":40,"line":251,"context":197},741,{"file":40,"line":253,"context":197},760,{"file":40,"line":255,"context":197},761,{"file":40,"line":257,"context":197},762,{"file":40,"line":257,"context":197},{"file":40,"line":260,"context":197},764,{"file":40,"line":262,"context":197},765,{"file":40,"line":264,"context":197},784,{"file":40,"line":266,"context":197},788,{"file":40,"line":268,"context":197},808,{"file":40,"line":268,"context":197},{"file":40,"line":268,"context":197},{"file":40,"line":272,"context":197},824,{"file":40,"line":274,"context":197},825,{"file":40,"line":276,"context":197},862,{"file":40,"line":278,"context":197},863,{"file":40,"line":280,"context":197},867,{"file":40,"line":280,"context":197},{"file":40,"line":283,"context":197},877,{"file":40,"line":285,"context":197},891,{"file":40,"line":287,"context":197},895,{"file":40,"line":289,"context":197},912,{"file":40,"line":291,"context":197},914,{"file":40,"line":293,"context":197},992,{"file":40,"line":295,"context":197},1036,{"file":40,"line":297,"context":197},1037,{"file":40,"line":299,"context":197},1053,{"file":40,"line":301,"context":197},1054,{"file":40,"line":303,"context":197},1055,{"file":40,"line":305,"context":197},1069,{"file":40,"line":307,"context":197},1077,{"file":40,"line":309,"context":197},1085,{"file":40,"line":311,"context":197},1463,{"file":40,"line":313,"context":197},1466,{"file":40,"line":315,"context":197},1478,{"file":40,"line":317,"context":197},1480,{"file":40,"line":319,"context":197},1752,[],[322,369,393,408],{"entryPoint":323,"graph":324,"unsanitizedCount":367,"severity":368},"settings_page (job-tracker.php:210)",{"nodes":325,"edges":360},[326,331,336,340,342,346,348,352,354,358],{"id":327,"type":328,"label":329,"file":40,"line":330},"n0","source","$_POST['job_tracker_protocol']",214,{"id":332,"type":333,"label":334,"file":40,"line":330,"wp_function":335},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":337,"type":328,"label":338,"file":40,"line":339},"n2","$_POST['job_tracker_page']",215,{"id":341,"type":333,"label":334,"file":40,"line":339,"wp_function":335},"n3",{"id":343,"type":328,"label":344,"file":40,"line":345},"n4","$_POST['job_tracker_redirect_after_user_add']",216,{"id":347,"type":333,"label":334,"file":40,"line":345,"wp_function":335},"n5",{"id":349,"type":328,"label":350,"file":40,"line":351},"n6","$_POST['job_tracker_force_https']",217,{"id":353,"type":333,"label":334,"file":40,"line":351,"wp_function":335},"n7",{"id":355,"type":328,"label":356,"file":40,"line":357},"n8","$_POST['job_tracker_user_level']",231,{"id":359,"type":333,"label":334,"file":40,"line":357,"wp_function":335},"n9",[361,363,364,365,366],{"from":327,"to":332,"sanitized":362},false,{"from":337,"to":341,"sanitized":362},{"from":343,"to":347,"sanitized":362},{"from":349,"to":353,"sanitized":362},{"from":355,"to":359,"sanitized":362},5,"low",{"entryPoint":370,"graph":371,"unsanitizedCount":391,"severity":392},"new_job (job-tracker.php:576)",{"nodes":372,"edges":387},[373,376,379,380,382,384],{"id":327,"type":328,"label":374,"file":40,"line":375},"$_REQUEST",580,{"id":332,"type":333,"label":377,"file":40,"line":107,"wp_function":378},"get_row() [SQLi]","get_row",{"id":337,"type":328,"label":374,"file":40,"line":375},{"id":341,"type":333,"label":381,"file":40,"line":74,"wp_function":68},"unserialize() [Object Injection]",{"id":343,"type":328,"label":383,"file":40,"line":375},"$_REQUEST (x27)",{"id":347,"type":333,"label":385,"file":40,"line":213,"wp_function":386},"echo() [XSS]","echo",[388,389,390],{"from":327,"to":332,"sanitized":362},{"from":337,"to":341,"sanitized":362},{"from":343,"to":347,"sanitized":362},29,"high",{"entryPoint":394,"graph":395,"unsanitizedCount":407,"severity":392},"the_content (job-tracker.php:1016)",{"nodes":396,"edges":404},[397,400,401,403],{"id":327,"type":328,"label":398,"file":40,"line":399},"$_GET",1022,{"id":332,"type":333,"label":381,"file":40,"line":78,"wp_function":68},{"id":337,"type":328,"label":402,"file":40,"line":399},"$_GET (x2)",{"id":341,"type":333,"label":385,"file":40,"line":305,"wp_function":386},[405,406],{"from":327,"to":332,"sanitized":362},{"from":337,"to":341,"sanitized":362},3,{"entryPoint":409,"graph":410,"unsanitizedCount":28,"severity":392},"\u003Cjob-tracker> (job-tracker.php:0)",{"nodes":411,"edges":467},[412,413,414,415,416,417,418,419,420,421,422,426,428,430,432,434,436,438,440,442,444,448,450,452,457,461,465],{"id":327,"type":328,"label":329,"file":40,"line":330},{"id":332,"type":333,"label":334,"file":40,"line":330,"wp_function":335},{"id":337,"type":328,"label":338,"file":40,"line":339},{"id":341,"type":333,"label":334,"file":40,"line":339,"wp_function":335},{"id":343,"type":328,"label":344,"file":40,"line":345},{"id":347,"type":333,"label":334,"file":40,"line":345,"wp_function":335},{"id":349,"type":328,"label":350,"file":40,"line":351},{"id":353,"type":333,"label":334,"file":40,"line":351,"wp_function":335},{"id":355,"type":328,"label":356,"file":40,"line":357},{"id":359,"type":333,"label":334,"file":40,"line":357,"wp_function":335},{"id":423,"type":328,"label":424,"file":40,"line":425},"n10","$_REQUEST (x4)",175,{"id":427,"type":333,"label":381,"file":40,"line":69,"wp_function":68},"n11",{"id":429,"type":328,"label":374,"file":40,"line":375},"n12",{"id":431,"type":333,"label":377,"file":40,"line":107,"wp_function":378},"n13",{"id":433,"type":328,"label":383,"file":40,"line":375},"n14",{"id":435,"type":333,"label":385,"file":40,"line":213,"wp_function":386},"n15",{"id":437,"type":328,"label":398,"file":40,"line":399},"n16",{"id":439,"type":333,"label":381,"file":40,"line":78,"wp_function":68},"n17",{"id":441,"type":328,"label":402,"file":40,"line":399},"n18",{"id":443,"type":333,"label":385,"file":40,"line":305,"wp_function":386},"n19",{"id":445,"type":328,"label":446,"file":40,"line":447},"n20","$_POST (x2)",1286,{"id":449,"type":333,"label":385,"file":40,"line":311,"wp_function":386},"n21",{"id":451,"type":328,"label":398,"file":40,"line":399},"n22",{"id":453,"type":333,"label":454,"file":40,"line":455,"wp_function":456},"n23","get_var() [SQLi]",1538,"get_var",{"id":458,"type":328,"label":459,"file":40,"line":460},"n24","$_GET (x4)",1323,{"id":462,"type":463,"label":464,"file":40,"line":460},"n25","transform","→ job_tracker_get_job_attrib()",{"id":466,"type":333,"label":454,"file":40,"line":455,"wp_function":456},"n26",[468,470,471,472,473,474,475,476,477,478,479,480,481,482],{"from":327,"to":332,"sanitized":469},true,{"from":337,"to":341,"sanitized":469},{"from":343,"to":347,"sanitized":469},{"from":349,"to":353,"sanitized":469},{"from":355,"to":359,"sanitized":469},{"from":423,"to":427,"sanitized":469},{"from":429,"to":431,"sanitized":469},{"from":433,"to":435,"sanitized":469},{"from":437,"to":439,"sanitized":469},{"from":441,"to":443,"sanitized":469},{"from":445,"to":449,"sanitized":469},{"from":451,"to":453,"sanitized":469},{"from":458,"to":462,"sanitized":362},{"from":462,"to":466,"sanitized":362},{"summary":484,"deductions":485},"The 'job-tracker' plugin v0.1.9 exhibits significant security concerns despite its clean vulnerability history. The static analysis reveals a high number of potentially dangerous function calls, specifically `unserialize`, which is often a vector for remote code execution if used with untrusted input. Furthermore, a very low percentage of SQL queries use prepared statements, increasing the risk of SQL injection vulnerabilities. The extremely low rate of properly escaped output is another major red flag, suggesting that data displayed to users might be vulnerable to cross-site scripting (XSS) attacks. The absence of nonce checks on AJAX handlers and a single capability check for all entry points are alarming, indicating a lack of robust access control. The taint analysis confirms these concerns, with all analyzed flows having unsanitized paths and a notable number of high-severity flows, suggesting potential data leakage or manipulation risks.\n\nWhile the plugin has no recorded CVEs, this should not be interpreted as a sign of strong security. It might simply mean that vulnerabilities have not been discovered or publicly disclosed yet. The static analysis findings, particularly the use of `unserialize`, the prevalence of raw SQL queries, and inadequate output escaping, point to a fundamentally insecure coding practice. The presence of high-severity unsanitized flows is particularly concerning. The plugin's overall security posture is weak due to these fundamental coding flaws, outweighing the positive aspect of its zero known CVEs. Developers should prioritize addressing these static analysis findings to mitigate potential risks.",[486,489,491,493,495,497],{"reason":487,"points":488},"Dangerous function 'unserialize' used",15,{"reason":490,"points":11},"Low percentage of prepared SQL statements",{"reason":492,"points":488},"Very low percentage of properly escaped output",{"reason":494,"points":488},"High severity unsanitized taint flows",{"reason":496,"points":11},"No nonce checks on AJAX",{"reason":498,"points":11},"Minimal capability checks","2026-03-17T00:32:31.901Z",{"wat":501,"direct":514},{"assetPaths":502,"generatorPatterns":507,"scriptPaths":508,"versionParams":509},[503,504,505,506],"\u002Fwp-content\u002Fplugins\u002Fjob-tracker\u002Fjs\u002Fjquery.tablesorter.min.js","\u002Fwp-content\u002Fplugins\u002Fjob-tracker\u002Fjs\u002Fjquery.autogrow-textarea.js","\u002Fwp-content\u002Fplugins\u002Fjob-tracker\u002Fjs\u002Fjob-tracker.js","\u002Fwp-content\u002Fplugins\u002Fjob-tracker\u002Fcss\u002Fwp_admin.css",[],[503,504,505],[510,511,512,513],"job-tracker\u002Fjs\u002Fjquery.tablesorter.min.js?ver=","job-tracker\u002Fjs\u002Fjquery.autogrow-textarea.js?ver=","job-tracker\u002Fjs\u002Fjob-tracker.js?ver=","job-tracker\u002Fcss\u002Fwp_admin.css?v=",{"cssClasses":515,"htmlComments":516,"htmlAttributes":517,"restEndpoints":518,"jsGlobals":519,"shortcodeOutput":521},[],[],[],[],[59,520],"job_tracker",[],{"error":469,"url":523,"statusCode":524,"statusMessage":525,"message":525},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fjob-tracker\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":192,"versions":527},[528],{"version":529,"download_url":530,"svn_tag_url":531,"released_at":23,"has_diff":362,"diff_files_changed":532,"diff_lines":23,"trac_diff_url":23,"vulnerabilities":533,"is_current":362},"0.1.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjob-tracker.0.1.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fjob-tracker\u002Ftags\u002F0.1.8\u002F",[],[]]