Comments (6)
I don't believe so. I think this was related to my request to allow searching on the privacy_members
field for the ID of the privacy group, so I could say "I'm a member of the Foo privacy group, show me all Descriptors shared out to the Foo privacy group".
I don't think anything came of that, but the thread was in the FB group if you can find it :)
from threatexchange.
You aren't doing anything wrong per-se :) With a recent update we will only return the contents of _default_fields
:
https://github.com/facebook/ThreatExchange/blob/master/pytx/pytx/threat_descriptor.py#L36
With nothing to set to the attribute coming back from the server, it will be shown as None
. You can adjust your query to look like this to get the full contents:
from pytx import ThreatDescriptor
results = ThreatDescriptor.objects(
text='giz.exe',
owner='1678314142420566', # me
fields=ThreatDescriptor._fields
)
for result in results:
print(result.to_dict())
This will force the fields ThreatExchange returns to be all of the available fields. Before the recent change I'm not sure if you'd get the privacy_type
field either. You could check that by running a query in your browser. If it is returned by default, or if you feel like it would be really helpful to have this field returned all the time, we can update the _default_fields
to include it!
from threatexchange.
Perfect, thanks! It looks like 'privacy_members' is still None, but the privacy_type is now set correctly.
It would be useful to know which privacy group specifically shared the descriptor. I might trust some groups more than others. I could also generate metrics for contributions to private groups. Is there another approach I could use to find that information?
from threatexchange.
I think that's something that I've asked about in the past, but related to searching for the privacy_group that shared the content. If you used _fields
and privacy_members
is still None
, it's because ThreatExchange isn't returning it. So I suspect that data isn't provided, but hopefully someone else can answer whether that should be the case or not.
My gut feeling is that it's not shared because Privacy Groups have a members_can_see
attribute, but I don't know, if that's set to False
, if that means they can't see the actual Privacy Group and/or it in the privacy_members
field.
from threatexchange.
@mgoffin is correct. A person can only see the name, description, and members if the members_can_see
is field true and the person is a member of the group.
from threatexchange.
Thanks for the help. Is there a way to know if a particular ThreatDescriptor or other object is shared with a privacy group? members_can_see
let's members view information about the privacy group, but it doesn't seem to show any attachment of a group to a descriptor. Some privacy groups might be more important to me than others, so it's a distinction I'd like to know.
If not, I suppose I could approach it a different way. For example, I could get a list of all members in a privacy group, then look for descriptors that have that member as the owner with a privacy type of HAS_PRIVACY_GROUP.
from threatexchange.
Related Issues (20)
- [py-tx] ThreatExchange checkpoint time implementation is incorrect, potentially skipping updates HOT 2
- [py-tx] Investigate dbm as a replacement for the default store
- /matches/for-hash/ returns 400, could not parse request HOT 9
- [hma] Clicking Sync button on the webui doesn't do anything
- [py-tx] New extension interface for storage
- [py-ty] Venv setup documentation and/or files
- [hma] Cleanup Settings > ThreatExchange Tab
- [hma] 500 error thrown on invalid PDQ hash HOT 1
- [HMA] graph API 9.0 hardcoded, now deprecated HOT 1
- [py-tx][HMA-in-a-bottle] Modularising py-tx -- Draft roadmap HOT 6
- [hma] Fetcher policy fails to access index HOT 1
- [hma] submitting content gets stuck between "hashed" and "matched" HOT 2
- /matches/for-hash/ gives AttributeError: 'IndexMatchUntyped' object has no attribute 'distance' HOT 1
- [pytx] No match results if creating a local_file with only 1 hash in it HOT 1
- [hma] Size of hashkey has exceeded the maximum size limit of 2048 bytes HOT 3
- [hma] ValueError in indexer
- [vpdq] Add support for Windows in vpdq pypy package HOT 5
- [OMM] Set up basic Continuous Integration git workflows for OMM HOT 2
- [omm] Figure out design for background tasks HOT 5
- [hma] Test production deployment - Nice-to-haves and Need-to-haves HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from threatexchange.