[{"data":1,"prerenderedAt":517},["ShallowReactive",2],{"project-37119942":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":48,"what":49,"said":102,"maker_in_thread":204,"shape":213,"grid":218,"attempts":479,"same_week":480,"maker_shows":18,"maker_hidden":509,"reader_version":510,"card":511},"37119942","Little Rat","Chrome extension monitors network calls of all extensions","title","Show HN: Little Rat – Chrome extension monitors network calls of all extensions","https:\u002F\u002Fgithub.com\u002Fdnakov\u002Flittle-rat","github.com","npace12",1692013799,2023,555,101,46,3109,2,"legend","security_privacy","browser extension monitoring","browser_extension",[24,25,26,27],"chrome extension","network monitoring","extension privacy","declarativenetrequest","mixed",0.082,{"positive":31,"neutral":32,"mixed":33,"critical":34},10,18,1,9,38,{"idea":37,"design":40,"docs":41,"privacy":42,"execution":44},{"positive":38,"critical":39},4,0,{"positive":39,"critical":39},{"positive":33,"critical":39},{"positive":18,"critical":43},3,{"positive":39,"critical":45},6,[47,39,39,39,43,43,39,47,47,43,43,39,39,39,43,33,43,39,39,43,39,33,43,43,47,33,39,33,43,47,47,47,39,43,43,33,43,39,43,39],5,"Hi HN\n\nI needed a way to monitor network calls made by chrome extensions so I made a small extension.\n\nYou can install it by dropping the zip or crx into the extensions page. It'll be on the chrome store whenever\u002Fif it gets through the review.\n\nHopefully it's useful to others.\n\nhttps:\u002F\u002Fgithub.com\u002Fdnakov\u002Flittle-rat\n\nhttps:\u002F\u002Ftwitter.com\u002Fdnak0v",{"problem":50,"audience":56,"pricing":72,"motivation":76,"time_to_build":80,"stack":81,"openness":99,"stage":100,"team_size":101},{"value":51,"source":52,"evidence":53},"Lets users see network requests made by installed Chrome extensions","maker",[54],{"id":55},"post",{"value":57,"source":58,"evidence":59},"Chrome users who want to audit extension network activity","inferred",[60,64,68],{"id":61,"by":62,"text":63},"37128348","scrum-treats","Downloaded the extension and tested that it's working. QQ: What does it mean when there is a \"hit\" (e.g., 1 appears), but when I click the extension to investigate all extensions…",{"id":65,"by":66,"text":67},"37122723","jedberg","How can I be assured that installing a random Chrome extension from a random person on the internet that has access to all my network data and can't get approved in the Chrome…",{"id":69,"by":70,"text":71},"37141604","mickelsen","Thank you so much! This is so useful, now I don't have to audit extensions manually.",{"value":73,"source":58,"evidence":74},"free",[75],{"id":55},{"value":77,"source":52,"evidence":78},"Maker needed a way to monitor extension network calls",[79],{"id":55},null,[82,90],{"value":83,"source":84,"evidence":85},"JavaScript","commenter",[86],{"id":87,"by":88,"text":89},"37122761","duiker101","I guess the answer is that you must be able to read the code and use your own judgement. Here the actual code of the extension is basically 2 files, one of 114 lines and the…",{"value":91,"source":52,"evidence":92},"Chrome Manifest V3 declarativeNetRequest API",[93,96],{"id":94,"by":11,"text":95},"37121263","It's currently under review because it's using the chrome.declarativeNetRequest (same API uBlock is using)",{"id":97,"by":11,"text":98},"37125508","yeah, little rat is using manifest v3","open_source","launched","unknown",{"praise":103,"objections":116,"requests":142,"questions":162,"alternatives":192},[104,112],{"value":105,"source":84,"evidence":106},"Useful for auditing extensions instead of doing it manually",[107,108],{"id":69,"by":70,"text":71},{"id":109,"by":110,"text":111},"37165100","jimmychoozyx","Great extension. I already found that Midnight Lizard is a major offender when it comes to browser data harvesting. Here's an example: https:\u002F\u002Fibb.co\u002FJQvgt3p",{"value":113,"source":84,"evidence":114},"Source is short and easy to read",[115],{"id":87,"by":88,"text":89},[117,125,136],{"value":118,"source":84,"evidence":119},"Installing unknown extensions to audit extensions is risky",[120,121],{"id":65,"by":66,"text":67},{"id":122,"by":123,"text":124},"37122783","meesles","Verifying Github source code is not sufficient, since you don't know the release contains that source code (when downloading fro the store). You'd have to verify signatures Also,…",{"value":126,"source":84,"evidence":127},"Installation from zip or crx is not easy",[128,132],{"id":129,"by":130,"text":131},"37125661","p1mrx","Given that this extension is not very easy to install, I suggest adding a screenshot showing some actual captured network events. The current screenshot hides the most…",{"id":133,"by":134,"text":135},"37122804","bromuk","ooh, love it. Would be great to have some installation information within the repo for people who aren't savvy at enabling dev mode in chrome extensions",{"value":137,"source":52,"evidence":138},"Extension data is not visible in the store version",[139],{"id":140,"by":11,"text":141},"37174988","Managed to get it in! [1] I added ability to do blocking and made the \"management\" and \"declarativeNetRequestFeedback\" permissions optional, requested via a button on the popup…",[143,147,151,158],{"value":144,"source":84,"evidence":145},"Add a screenshot showing captured network events",[146],{"id":129,"by":130,"text":131},{"value":148,"source":84,"evidence":149},"Add installation instructions to the repo",[150],{"id":133,"by":134,"text":135},{"value":152,"source":84,"evidence":153},"Add a license",[154],{"id":155,"by":156,"text":157},"37122927","mdaniel","Depending on your intentions, the repo would benefit from a license instead of just using github for code hosting",{"value":159,"source":84,"evidence":160},"Refresh extension list when extensions are removed",[161],{"id":61,"by":62,"text":63},[163,174,181],{"value":164,"source":84,"evidence":165},"Is there a Firefox equivalent or port",[166,170],{"id":167,"by":168,"text":169},"37121930","elashri","sounds great, do you have plans to port it to Firefox? Does anyone know an equivalent that do the same thing on Firefox?",{"id":171,"by":172,"text":173},"37122042","vdfs","In most cases, just adding \"var chrome = browser;\" to the top of each js files would make it work for firefox, which is just a copy of Chrome Extension APIs with slight changes",{"value":175,"source":84,"evidence":176},"Why is it not on the Chrome store",[177],{"id":178,"by":179,"text":180},"37121240","leke","Why not on the chrome store?",{"value":182,"source":84,"evidence":183},"Can extensions access other extensions' requests and expose sensitive data",[184,188],{"id":185,"by":186,"text":187},"37128386","Groxx","Neat. I'm surprised this is possible tbh. Not being familiar with exactly what data these APIs (or similar?) provide: could extensions' abilities to access other extensions'…",{"id":189,"by":190,"text":191},"37122189","Daviey","Thanks for sharing, would you mind explaining how it works and if there are any general concerns you have with Chrome not sandboxing between extensions? ie, what else is shared…",[193,200],{"value":194,"source":84,"evidence":195},"Firefox browser console and network logging",[196],{"id":197,"by":198,"text":199},"37123946","krono","I believe that these connections should also appear in the browser console[1], otherwise you could always log the traffic[2] or inspect\u002Fdebug any individual extension[3]. You…",{"value":201,"source":84,"evidence":202},"Midnight Lizard",[203],{"id":109,"by":110,"text":111},{"comments":32,"answered":31,"key":205},[206,209,210],{"id":207,"text":208},"37122038","Yeah, I'm going to try this shortly, will post an update.",{"id":94,"text":95},{"id":211,"text":212},"37122990","I'm not sure, but I was curious too, so I submitted it for review to find out.",{"commenters":214,"max_depth":215,"maker_replies":32,"first_comment_mins":216,"lifespan_hours":217},59,8,41,106,[219,223,227,229,232,236,239,241,244,247,250,253,255,258,260,264,267,270,273,274,276,280,283,286,288,291,294,297,298,301,303,305,307,310,312,315,317,321,323,327,329,330,331,334,335,337,339,341,343,346,349,351,353,354,358,361,364,367,371,372,374,376,378,381,383,385,387,389,391,396,398,400,402,404,406,409,413,415,418,422,425,429,432,435,437,441,444,446,448,450,452,454,456,457,458,461,464,467,470,473,475,477],[220,39,47,221,222,39],"37126257","project\u002Fpositive\u002Fidea","altairprime",[224,39,39,225,226,39],"37127143","other\u002Fneutral\u002Fprivacy","hsbauauvhabzb",[228,39,39,225,222,39],"37127765",[230,39,39,231,226,39],"37128666","commenter\u002Fneutral\u002Fprivacy",[233,39,39,234,235,39],"37130790","commenter\u002Fneutral\u002Fnone","phil294",[237,39,39,225,238,39],"37127773","tim1994",[240,39,39,225,222,39],"37127843",[242,39,39,225,243,39],"37127834","1vuio0pswjnm7",[245,39,39,225,246,39],"37127958","Pxtl",[248,39,39,249,186,39],"37130146","other\u002Fneutral\u002Fnone",[251,39,39,225,252,39],"37130811","londons_explore",[129,33,43,254,130,39],"project\u002Fneutral\u002Fdesign",[256,33,43,257,110,39],"37149136","project\u002Fneutral\u002Fdocs",[185,18,43,259,186,39],"project\u002Fneutral\u002Fprivacy",[261,43,43,262,263,39],"37125749","project\u002Fneutral\u002Fidea","emmanueloga_",[265,43,39,225,266,39],"37126118","UberFly",[268,43,39,225,269,39],"37129219","benrapscallion",[271,43,39,249,272,39],"37130436","midoridensha",[167,38,47,221,168,39],[207,38,39,275,11,33],"maker\u002Fneutral\u002Fnone",[277,38,47,278,279,39],"37122115","project\u002Fpositive\u002Fnone","distortedsignal",[281,38,47,278,282,39],"37123114","123pie123",[284,38,39,234,285,39],"37123576","username135",[171,38,43,287,172,39],"project\u002Fneutral\u002Fexecution",[289,38,39,234,290,39],"37122224","lapcat",[292,38,39,249,293,39],"37124859","weaksauce",[295,38,43,287,296,39],"37122334","judge2020",[197,38,39,225,198,39],[299,38,39,225,300,39],"37124569","Modified3019",[302,38,39,225,198,39],"37125402",[304,38,39,231,300,39],"37126019",[306,38,39,225,198,39],"37137552",[308,38,39,225,309,39],"37182869","ColoursofOSINT",[311,38,39,249,309,39],"37126986",[313,38,39,234,314,39],"37128841","kevingadd",[316,38,39,234,198,39],"37137812",[318,47,43,319,320,39],"37121625","project\u002Fneutral\u002Fnone","cantSpellSober",[322,47,43,257,190,39],"37122150",[324,47,33,325,326,39],"37123187","project\u002Fcritical\u002Fexecution","smusamashah",[328,47,33,325,296,39],"37122315",[178,45,43,319,179,39],[94,45,39,319,11,33],[332,45,39,249,333,39],"37122881","cal85",[211,45,39,275,11,33],[336,45,39,234,333,39],"37125234",[338,45,39,275,11,33],"37132916",[340,45,39,234,333,39],"37174479",[140,45,39,342,11,33],"maker\u002Fneutral\u002Fexecution",[344,45,43,257,345,39],"37123276","gorhill",[347,45,39,249,348,39],"37130740","ris58h",[350,45,39,234,11,33],"37175060",[352,45,39,234,130,39],"37125424",[97,45,39,275,11,33],[355,356,33,325,357,39],"37126289",7,"horsawlarway",[359,356,39,360,11,33],"37126509","maker\u002Fneutral\u002Fprivacy",[362,356,33,325,363,39],"37129156","btown",[365,215,47,221,366,39],"37120279","canthonytucci",[368,34,33,369,370,39],"37128485","project\u002Fcritical\u002Fprivacy","quickthrower2",[61,31,43,287,62,39],[373,31,39,342,11,33],"37128513",[375,31,43,287,62,39],"37129254",[377,31,39,342,11,33],"37145452",[109,379,47,380,110,39],11,"project\u002Fpositive\u002Fprivacy",[189,382,43,259,190,39],12,[384,382,33,325,290,39],"37122294",[386,382,39,287,11,33],"37122360",[388,382,39,234,345,39],"37122485",[390,382,39,234,11,33],"37128584",[392,393,43,394,395,39],"37127949",13,"project\u002Fmixed\u002Fexecution","_V_",[397,393,33,325,395,39],"37127981",[399,393,39,342,11,33],"37128064",[401,393,43,287,395,39],"37128095",[403,393,39,342,11,33],"37128202",[69,405,47,221,70,39],14,[407,405,39,234,408,39],"37143646","chinmayag32",[410,411,39,249,412,39],"37143293",15,"budoso",[414,411,39,249,11,33],"37145439",[133,416,47,417,134,39],16,"project\u002Fpositive\u002Fdocs",[419,416,39,420,421,39],"37123225","commenter\u002Fneutral\u002Fdocs","swyx",[423,416,39,234,424,39],"37127682","mschuster91",[426,427,47,278,428,39],"37122704",17,"FrenchDevRemote",[430,32,39,225,431,39],"37127073","cryptoegorophy",[433,32,39,225,434,39],"37127650","pkd",[436,32,39,249,395,39],"37128000",[438,439,43,262,440,39],"37122087",19,"yuvalkarmi",[442,439,39,443,320,39],"37122135","commenter\u002Fneutral\u002Fidea",[445,439,39,275,11,33],"37122386",[155,447,43,257,156,39],20,[449,447,39,275,11,33],"37122971",[451,447,39,249,421,39],"37123207",[65,453,33,369,66,39],21,[455,453,39,259,11,33],"37122748",[87,453,47,380,88,39],[122,453,33,369,123,39],[459,453,39,234,460,39],"37122824","SoKamil",[462,453,39,234,463,39],"37123093","throwaway290",[465,453,43,319,466,39],"37126117","Exuma",[468,453,43,257,469,39],"37129975","snowycat",[471,453,39,249,472,39],"37127718","spread_love",[474,453,39,234,66,39],"37127755",[476,453,39,249,472,39],"37129114",[478,453,39,249,66,39],"37129134",[],[481,486,491,495,500,505],{"id":482,"name":483,"points":484,"category":485},"37125118","Outlines",854,"ai",{"id":487,"name":488,"points":489,"category":490},"37083309","OFRAK Tetris",472,"games",{"id":492,"name":493,"points":494,"category":485},"37128293","AI-town",429,{"id":496,"name":497,"points":498,"category":499},"37114141","learndb-py",371,"learning_science",{"id":501,"name":502,"points":503,"category":504},"37075730","Applite",280,"dev_tools",{"id":506,"name":507,"points":508,"category":485},"37148210","LlamaGPT",225,false,"v2",{"id":512,"name":5,"line":6,"ai":509,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":513,"top":18,"kw":514,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":515,"url":9,"mix":516,"praise":105,"objection":118,"sub":21},37119942,0.08,[24,25,26,27],"5000330553300031300301335101355503313030",[31,32,33,34],1794036640020]